summaryrefslogtreecommitdiff
path: root/localrepo/htmlize-1.56.tar
blob: 01bbaf98a32dac1ed2e4434b26cd9f36b7dec4ac (plain)
ofshex dumpascii
0000 68 74 6d 6c 69 7a 65 2d 31 2e 35 36 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 htmlize-1.56/...................
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 31 35 36 30 00 20 35 00 00 00 0000000.00000000000.011560..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 68 74 6d 6c 69 7a 65 2d 31 2e 35 36 2f 68 74 6d 6c 69 7a 65 2e 65 6c 00 00 00 00 00 00 00 00 00 htmlize-1.56/htmlize.el.........
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 32 32 34 32 30 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 36 31 00 20 30 00 00 00 0224203.00000000000.013561..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 3b 3b 3b 20 68 74 6d 6c 69 7a 65 2e 65 6c 20 2d 2d 2d 20 43 6f 6e 76 65 72 74 20 62 75 66 66 65 ;;;.htmlize.el.---.Convert.buffe
0420 72 20 74 65 78 74 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 2e 20 r.text.and.decorations.to.HTML..
0440 2d 2a 2d 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 -*-.lexical-binding:.t.-*-..;;.C
0460 6f 70 79 72 69 67 68 74 20 28 43 29 20 31 39 39 37 2d 32 30 30 33 2c 32 30 30 35 2c 32 30 30 36 opyright.(C).1997-2003,2005,2006
0480 2c 32 30 30 39 2c 32 30 31 31 2c 32 30 31 32 2c 32 30 31 34 2c 32 30 31 37 2c 32 30 31 38 20 48 ,2009,2011,2012,2014,2017,2018.H
04a0 72 76 6f 6a 65 20 4e 69 6b 73 69 63 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 48 72 76 6f 6a 65 20 rvoje.Niksic..;;.Author:.Hrvoje.
04c0 4e 69 6b 73 69 63 20 3c 68 6e 69 6b 73 69 63 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 4b 65 Niksic.<hniksic@gmail.com>.;;.Ke
04e0 79 77 6f 72 64 73 3a 20 68 79 70 65 72 6d 65 64 69 61 2c 20 65 78 74 65 6e 73 69 6f 6e 73 0a 3b ywords:.hypermedia,.extensions.;
0500 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 35 36 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d ;.Version:.1.56..;;.This.program
0520 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 .is.free.software;.you.can.redis
0540 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 tribute.it.and/or.modify.;;.it.u
0560 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 nder.the.terms.of.the.GNU.Genera
0580 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 l.Public.License.as.published.by
05a0 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e .;;.the.Free.Software.Foundation
05c0 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 32 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 ;.either.version.2,.or.(at.your.
05e0 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b option).;;.any.later.version...;
0600 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e ;.This.program.is.distributed.in
0620 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c .the.hope.that.it.will.be.useful
0640 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 ,.;;.but.WITHOUT.ANY.WARRANTY;.w
0660 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 ithout.even.the.implied.warranty
0680 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 .of.;;.MERCHANTABILITY.or.FITNES
06a0 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 S.FOR.A.PARTICULAR.PURPOSE...See
06c0 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e .the.;;.GNU.General.Public.Licen
06e0 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f se.for.more.details...;;.You.sho
0700 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 uld.have.received.a.copy.of.the.
0720 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c GNU.General.Public.License.;;.al
0740 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 3b 20 73 65 65 20 74 68 65 20 66 ong.with.this.program;.see.the.f
0760 69 6c 65 20 43 4f 50 59 49 4e 47 2e 20 20 49 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 ile.COPYING...If.not,.write.to.t
0780 68 65 0a 3b 3b 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 he.;;.Free.Software.Foundation,.
07a0 49 6e 63 2e 2c 20 35 39 20 54 65 6d 70 6c 65 20 50 6c 61 63 65 20 2d 20 53 75 69 74 65 20 33 33 Inc.,.59.Temple.Place.-.Suite.33
07c0 30 2c 0a 3b 3b 20 42 6f 73 74 6f 6e 2c 20 4d 41 20 30 32 31 31 31 2d 31 33 30 37 2c 20 55 53 41 0,.;;.Boston,.MA.02111-1307,.USA
07e0 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 70 61 63 6b ...;;;.Commentary:..;;.This.pack
0800 61 67 65 20 63 6f 6e 76 65 72 74 73 20 74 68 65 20 62 75 66 66 65 72 20 74 65 78 74 20 61 6e 64 age.converts.the.buffer.text.and
0820 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 0a 3b 3b 20 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 .the.associated.;;.decorations.t
0840 6f 20 48 54 4d 4c 2e 20 20 4d 61 69 6c 20 74 6f 20 3c 68 6e 69 6b 73 69 63 40 67 6d 61 69 6c 2e o.HTML...Mail.to.<hniksic@gmail.
0860 63 6f 6d 3e 20 74 6f 20 64 69 73 63 75 73 73 0a 3b 3b 20 66 65 61 74 75 72 65 73 20 61 6e 64 20 com>.to.discuss.;;.features.and.
0880 61 64 64 69 74 69 6f 6e 73 2e 20 20 41 6c 6c 20 73 75 67 67 65 73 74 69 6f 6e 73 20 61 72 65 20 additions...All.suggestions.are.
08a0 6d 6f 72 65 20 74 68 61 6e 20 77 65 6c 63 6f 6d 65 2e 0a 0a 3b 3b 20 54 6f 20 75 73 65 20 69 74 more.than.welcome...;;.To.use.it
08c0 2c 20 6a 75 73 74 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 79 6f 75 20 ,.just.switch.to.the.buffer.you.
08e0 77 61 6e 74 20 48 54 4d 4c 2d 69 7a 65 64 20 61 6e 64 20 74 79 70 65 0a 3b 3b 20 60 4d 2d 78 20 want.HTML-ized.and.type.;;.`M-x.
0900 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65 20 73 77 htmlize-buffer'...You.will.be.sw
0920 69 74 63 68 65 64 20 74 6f 20 61 20 6e 65 77 20 62 75 66 66 65 72 20 74 68 61 74 0a 3b 3b 20 63 itched.to.a.new.buffer.that.;;.c
0940 6f 6e 74 61 69 6e 73 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 63 6f 64 65 2e ontains.the.resulting.HTML.code.
0960 20 20 59 6f 75 20 63 61 6e 20 65 64 69 74 20 61 6e 64 20 69 6e 73 70 65 63 74 20 74 68 69 73 0a ..You.can.edit.and.inspect.this.
0980 3b 3b 20 62 75 66 66 65 72 2c 20 6f 72 20 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 73 61 76 65 20 ;;.buffer,.or.you.can.just.save.
09a0 69 74 20 77 69 74 68 20 43 2d 78 20 43 2d 77 2e 20 20 60 4d 2d 78 20 68 74 6d 6c 69 7a 65 2d 66 it.with.C-x.C-w...`M-x.htmlize-f
09c0 69 6c 65 27 0a 3b 3b 20 77 69 6c 6c 20 66 69 6e 64 20 61 20 66 69 6c 65 2c 20 66 6f 6e 74 69 66 ile'.;;.will.find.a.file,.fontif
09e0 79 20 69 74 2c 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 48 54 4d 4c 20 76 65 72 73 69 6f 6e 20 y.it,.and.save.the.HTML.version.
0a00 69 6e 0a 3b 3b 20 46 49 4c 45 2e 68 74 6d 6c 2c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 64 64 in.;;.FILE.html,.without.any.add
0a20 69 74 69 6f 6e 61 6c 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 2e 20 20 60 4d 2d 78 0a 3b 3b 20 68 itional.intervention...`M-x.;;.h
0a40 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 27 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f tmlize-many-files'.allows.you.to
0a60 20 68 74 6d 6c 69 7a 65 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 66 69 6c 65 73 20 69 6e 0a .htmlize.any.number.of.files.in.
0a80 3b 3b 20 74 68 65 20 73 61 6d 65 20 6d 61 6e 6e 65 72 2e 20 20 60 4d 2d 78 20 68 74 6d 6c 69 7a ;;.the.same.manner...`M-x.htmliz
0aa0 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 2d 64 69 72 65 64 27 20 64 6f 65 73 20 74 68 65 20 73 61 6d e-many-files-dired'.does.the.sam
0ac0 65 20 66 6f 72 0a 3b 3b 20 66 69 6c 65 73 20 6d 61 72 6b 65 64 20 69 6e 20 61 20 64 69 72 65 64 e.for.;;.files.marked.in.a.dired
0ae0 20 62 75 66 66 65 72 2e 0a 0a 3b 3b 20 68 74 6d 6c 69 7a 65 20 73 75 70 70 6f 72 74 73 20 74 68 .buffer...;;.htmlize.supports.th
0b00 72 65 65 20 74 79 70 65 73 20 6f 66 20 48 54 4d 4c 20 6f 75 74 70 75 74 2c 20 73 65 6c 65 63 74 ree.types.of.HTML.output,.select
0b20 65 64 20 62 79 20 73 65 74 74 69 6e 67 0a 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 ed.by.setting.;;.`htmlize-output
0b40 2d 74 79 70 65 27 3a 20 60 63 73 73 27 2c 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 2c 20 61 6e 64 -type':.`css',.`inline-css',.and
0b60 20 60 66 6f 6e 74 27 2e 20 20 49 6e 20 60 63 73 73 27 0a 3b 3b 20 6d 6f 64 65 2c 20 68 74 6d 6c .`font'...In.`css'.;;.mode,.html
0b80 69 7a 65 20 75 73 65 73 20 63 61 73 63 61 64 69 6e 67 20 73 74 79 6c 65 20 73 68 65 65 74 73 20 ize.uses.cascading.style.sheets.
0ba0 74 6f 20 73 70 65 63 69 66 79 20 63 6f 6c 6f 72 73 3b 20 69 74 0a 3b 3b 20 67 65 6e 65 72 61 74 to.specify.colors;.it.;;.generat
0bc0 65 73 20 63 6c 61 73 73 65 73 20 74 68 61 74 20 63 6f 72 72 65 73 70 6f 6e 64 20 74 6f 20 45 6d es.classes.that.correspond.to.Em
0be0 61 63 73 20 66 61 63 65 73 20 61 6e 64 20 75 73 65 73 20 3c 73 70 61 6e 0a 3b 3b 20 63 6c 61 73 acs.faces.and.uses.<span.;;.clas
0c00 73 3d 46 41 43 45 3e 2e 2e 2e 3c 2f 73 70 61 6e 3e 20 74 6f 20 63 6f 6c 6f 72 20 70 61 72 74 73 s=FACE>...</span>.to.color.parts
0c20 20 6f 66 20 74 65 78 74 2e 20 20 49 6e 20 74 68 69 73 20 6d 6f 64 65 2c 20 74 68 65 0a 3b 3b 20 .of.text...In.this.mode,.the.;;.
0c40 70 72 6f 64 75 63 65 64 20 48 54 4d 4c 20 69 73 20 76 61 6c 69 64 20 75 6e 64 65 72 20 74 68 65 produced.HTML.is.valid.under.the
0c60 20 34 2e 30 31 20 73 74 72 69 63 74 20 44 54 44 2c 20 61 73 20 63 6f 6e 66 69 72 6d 65 64 20 62 .4.01.strict.DTD,.as.confirmed.b
0c80 79 0a 3b 3b 20 74 68 65 20 57 33 43 20 76 61 6c 69 64 61 74 6f 72 2e 20 20 60 69 6e 6c 69 6e 65 y.;;.the.W3C.validator...`inline
0ca0 2d 63 73 73 27 20 69 73 20 6c 69 6b 65 20 60 63 73 73 27 2c 20 65 78 63 65 70 74 20 74 68 65 20 -css'.is.like.`css',.except.the.
0cc0 43 53 53 20 69 73 0a 3b 3b 20 70 75 74 20 64 69 72 65 63 74 6c 79 20 69 6e 20 74 68 65 20 53 54 CSS.is.;;.put.directly.in.the.ST
0ce0 59 4c 45 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20 53 50 41 4e 20 65 6c 65 6d 65 6e YLE.attribute.of.the.SPAN.elemen
0d00 74 2c 20 6d 61 6b 69 6e 67 20 69 74 0a 3b 3b 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 70 61 73 74 t,.making.it.;;.possible.to.past
0d20 65 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 20 69 6e 74 6f 20 65 78 69 73 74 69 e.the.generated.HTML.into.existi
0d40 6e 67 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 3b 3b 20 49 6e 20 60 66 6f 6e 74 27 20 ng.HTML.documents..;;.In.`font'.
0d60 6d 6f 64 65 2c 20 68 74 6d 6c 69 7a 65 20 75 73 65 73 20 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 22 mode,.htmlize.uses.<font.color="
0d80 2e 2e 2e 22 3e 2e 2e 2e 3c 2f 66 6f 6e 74 3e 20 74 6f 0a 3b 3b 20 63 6f 6c 6f 72 69 7a 65 20 48 ...">...</font>.to.;;.colorize.H
0da0 54 4d 4c 2c 20 77 68 69 63 68 20 69 73 20 6e 6f 74 20 73 74 61 6e 64 61 72 64 2d 63 6f 6d 70 6c TML,.which.is.not.standard-compl
0dc0 69 61 6e 74 2c 20 62 75 74 20 77 6f 72 6b 73 20 62 65 74 74 65 72 20 69 6e 0a 3b 3b 20 6f 6c 64 iant,.but.works.better.in.;;.old
0de0 65 72 20 62 72 6f 77 73 65 72 73 2e 20 20 60 63 73 73 27 20 6d 6f 64 65 20 69 73 20 74 68 65 20 er.browsers...`css'.mode.is.the.
0e00 64 65 66 61 75 6c 74 2e 0a 0a 3b 3b 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 68 74 default...;;.You.can.also.use.ht
0e20 6d 6c 69 7a 65 20 66 72 6f 6d 20 79 6f 75 72 20 45 6d 61 63 73 20 4c 69 73 70 20 63 6f 64 65 2e mlize.from.your.Emacs.Lisp.code.
0e40 20 20 57 68 65 6e 20 63 61 6c 6c 65 64 0a 3b 3b 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 65 ..When.called.;;.non-interactive
0e60 6c 79 2c 20 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 20 61 6e 64 20 60 68 74 6d 6c 69 7a ly,.`htmlize-buffer'.and.`htmliz
0e80 65 2d 72 65 67 69 6f 6e 27 20 77 69 6c 6c 0a 3b 3b 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 e-region'.will.;;.return.the.res
0ea0 75 6c 74 69 6e 67 20 48 54 4d 4c 20 62 75 66 66 65 72 2c 20 62 75 74 20 77 69 6c 6c 20 6e 6f 74 ulting.HTML.buffer,.but.will.not
0ec0 20 63 68 61 6e 67 65 20 63 75 72 72 65 6e 74 0a 3b 3b 20 62 75 66 66 65 72 20 6f 72 20 6d 6f 76 .change.current.;;.buffer.or.mov
0ee0 65 20 74 68 65 20 70 6f 69 6e 74 2e 20 20 68 74 6d 6c 69 7a 65 20 77 69 6c 6c 20 64 6f 20 69 74 e.the.point...htmlize.will.do.it
0f00 73 20 62 65 73 74 20 74 6f 20 77 6f 72 6b 20 6f 6e 0a 3b 3b 20 6e 6f 6e 2d 77 69 6e 64 6f 77 69 s.best.to.work.on.;;.non-windowi
0f20 6e 67 20 45 6d 61 63 73 20 73 65 73 73 69 6f 6e 73 20 62 75 74 20 74 68 65 20 72 65 73 75 6c 74 ng.Emacs.sessions.but.the.result
0f40 20 77 69 6c 6c 20 62 65 20 6c 69 6d 69 74 65 64 20 74 6f 0a 3b 3b 20 63 6f 6c 6f 72 73 20 73 75 .will.be.limited.to.;;.colors.su
0f60 70 70 6f 72 74 65 64 20 62 79 20 74 68 65 20 74 65 72 6d 69 6e 61 6c 2e 0a 0a 3b 3b 20 68 74 6d pported.by.the.terminal...;;.htm
0f80 6c 69 7a 65 20 61 69 6d 73 20 66 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 lize.aims.for.compatibility.with
0fa0 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 2e 20 20 50 6c 65 61 73 65 0a 3b .older.Emacs.versions...Please.;
0fc0 3b 20 6c 65 74 20 6d 65 20 6b 6e 6f 77 20 69 66 20 69 74 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b ;.let.me.know.if.it.doesn't.work
0fe0 20 6f 6e 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 20 74 68 61 .on.the.version.of.GNU.Emacs.tha
1000 74 20 79 6f 75 0a 3b 3b 20 61 72 65 20 75 73 69 6e 67 2e 20 20 54 68 65 20 70 61 63 6b 61 67 65 t.you.;;.are.using...The.package
1020 20 72 65 6c 69 65 73 20 6f 6e 20 74 68 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 43 4c 20 65 78 .relies.on.the.presence.of.CL.ex
1040 74 65 6e 73 69 6f 6e 73 3b 0a 3b 3b 20 70 6c 65 61 73 65 20 64 6f 6e 27 74 20 74 72 79 20 74 6f tensions;.;;.please.don't.try.to
1060 20 72 65 6d 6f 76 65 20 74 68 61 74 20 64 65 70 65 6e 64 65 6e 63 79 2e 20 20 49 20 73 65 65 20 .remove.that.dependency...I.see.
1080 6e 6f 20 70 72 61 63 74 69 63 61 6c 0a 3b 3b 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 75 73 no.practical.;;.problems.with.us
10a0 69 6e 67 20 74 68 65 20 66 75 6c 6c 20 70 6f 77 65 72 20 6f 66 20 74 68 65 20 43 4c 20 65 78 74 ing.the.full.power.of.the.CL.ext
10c0 65 6e 73 69 6f 6e 73 2c 20 65 78 63 65 70 74 0a 3b 3b 20 74 68 61 74 20 6f 6e 65 20 6d 69 67 68 ensions,.except.;;.that.one.migh
10e0 74 20 6c 65 61 72 6e 20 74 6f 20 6c 69 6b 65 20 74 68 65 6d 20 74 6f 6f 20 6d 75 63 68 2e 0a 0a t.learn.to.like.them.too.much...
1100 3b 3b 20 54 68 65 20 6c 61 74 65 73 74 20 76 65 72 73 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 ;;.The.latest.version.is.availab
1120 6c 65 20 61 74 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 67 69 74 le.at:.;;.;;........<https://git
1140 68 75 62 2e 63 6f 6d 2f 68 6e 69 6b 73 69 63 2f 65 6d 61 63 73 2d 68 74 6d 6c 69 7a 65 3e 0a 3b hub.com/hniksic/emacs-htmlize>.;
1160 3b 20 20 20 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 63 6f 64 65 2e 6f 72 67 6d 6f 64 65 2e 6f ;........<https://code.orgmode.o
1180 72 67 2f 6d 69 72 72 6f 72 73 2f 65 6d 61 63 73 2d 68 74 6d 6c 69 7a 65 3e 0a 3b 3b 0a 0a 3b 3b rg/mirrors/emacs-htmlize>.;;..;;
11a0 20 54 68 61 6e 6b 73 20 67 6f 20 74 6f 20 74 68 65 20 6d 61 6e 79 20 70 65 6f 70 6c 65 20 77 68 .Thanks.go.to.the.many.people.wh
11c0 6f 20 68 61 76 65 20 73 65 6e 74 20 72 65 70 6f 72 74 73 20 61 6e 64 20 63 6f 6e 74 72 69 62 75 o.have.sent.reports.and.contribu
11e0 74 65 64 0a 3b 3b 20 63 6f 6d 6d 65 6e 74 73 2c 20 73 75 67 67 65 73 74 69 6f 6e 73 2c 20 61 6e ted.;;.comments,.suggestions,.an
1200 64 20 66 69 78 65 73 2e 20 20 54 68 65 79 20 69 6e 63 6c 75 64 65 20 52 6f 6e 20 47 75 74 2c 20 d.fixes...They.include.Ron.Gut,.
1220 42 6f 62 0a 3b 3b 20 57 65 69 6e 65 72 2c 20 54 6f 6e 69 20 44 72 61 62 69 6b 2c 20 50 65 74 65 Bob.;;.Weiner,.Toni.Drabik,.Pete
1240 72 20 42 72 65 74 6f 6e 2c 20 56 69 6c 6c 65 20 53 6b 79 74 74 61 2c 20 54 68 6f 6d 61 73 20 56 r.Breton,.Ville.Skytta,.Thomas.V
1260 6f 67 65 6c 73 2c 0a 3b 3b 20 4a 75 72 69 20 4c 69 6e 6b 6f 76 2c 20 4d 61 63 69 65 6b 20 50 61 ogels,.;;.Juri.Linkov,.Maciek.Pa
1280 73 74 65 72 6e 61 63 6b 69 2c 20 61 6e 64 20 6d 61 6e 79 20 6f 74 68 65 72 73 2e 0a 0a 3b 3b 20 sternacki,.and.many.others...;;.
12a0 55 73 65 72 20 71 75 6f 74 65 73 3a 20 22 59 6f 75 20 73 69 72 2c 20 61 72 65 20 61 20 73 69 63 User.quotes:."You.sir,.are.a.sic
12c0 6b 2c 20 73 69 63 6b 2c 20 5f 73 69 63 6b 5f 20 70 65 72 73 6f 6e 2e 20 3a 29 22 0a 3b 3b 20 20 k,.sick,._sick_.person..:)".;;..
12e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 2d 20 42 69 6c 6c 20 50 65 72 72 79 2c 20 61 ................--.Bill.Perry,.a
1300 75 74 68 6f 72 20 6f 66 20 45 6d 61 63 73 2f 57 33 0a 0a 0c 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a uthor.of.Emacs/W3....;;;.Code:..
1320 28 72 65 71 75 69 72 65 20 27 63 6c 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 (require.'cl).(eval-when-compile
1340 0a 20 20 28 64 65 66 76 61 72 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 75 74 6f 2d 66 6f 6e 74 69 66 ...(defvar.font-lock-auto-fontif
1360 79 29 0a 20 20 28 64 65 66 76 61 72 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 73 75 70 70 6f 72 74 2d 6d y)...(defvar.font-lock-support-m
1380 6f 64 65 29 0a 20 20 28 64 65 66 76 61 72 20 67 6c 6f 62 61 6c 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d ode)...(defvar.global-font-lock-
13a0 6d 6f 64 65 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 74 6d 6c 69 7a 65 2d 76 65 72 73 69 6f mode))..(defconst.htmlize-versio
13c0 6e 20 22 31 2e 35 36 22 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 68 74 6d 6c 69 7a 65 20 6e 69 6c n."1.56")..(defgroup.htmlize.nil
13e0 0a 20 20 22 43 6f 6e 76 65 72 74 20 62 75 66 66 65 72 20 74 65 78 74 20 61 6e 64 20 66 61 63 65 ..."Convert.buffer.text.and.face
1400 73 20 74 6f 20 48 54 4d 4c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 68 79 70 65 72 6d 65 64 69 61 s.to.HTML."...:group.'hypermedia
1420 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 65 61 64 2d 74 61 67 73 20 )..(defcustom.htmlize-head-tags.
1440 22 22 0a 20 20 22 41 64 64 69 74 69 6f 6e 61 6c 20 74 61 67 73 20 74 6f 20 69 6e 73 65 72 74 20 ""..."Additional.tags.to.insert.
1460 77 69 74 68 69 6e 20 48 45 41 44 20 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 64 6f 63 within.HEAD.of.the.generated.doc
1480 75 6d 65 6e 74 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 ument."...:type.'string...:group
14a0 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 6f .'htmlize)..(defcustom.htmlize-o
14c0 75 74 70 75 74 2d 74 79 70 65 20 27 63 73 73 0a 20 20 22 4f 75 74 70 75 74 20 74 79 70 65 20 6f utput-type.'css..."Output.type.o
14e0 66 20 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 2c 20 6f 6e 65 20 6f 66 20 60 63 73 73 27 2c 20 f.generated.HTML,.one.of.`css',.
1500 60 69 6e 6c 69 6e 65 2d 63 73 73 27 2c 20 6f 72 20 60 66 6f 6e 74 27 2e 0a 57 68 65 6e 20 73 65 `inline-css',.or.`font'..When.se
1520 74 20 74 6f 20 60 63 73 73 27 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 68 74 6d 6c 69 7a t.to.`css'.(the.default),.htmliz
1540 65 20 77 69 6c 6c 20 67 65 6e 65 72 61 74 65 20 61 20 73 74 79 6c 65 20 73 68 65 65 74 0a 77 69 e.will.generate.a.style.sheet.wi
1560 74 68 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 66 61 63 65 73 2c 20 61 6e 64 20 75 73 65 th.description.of.faces,.and.use
1580 20 69 74 20 69 6e 20 74 68 65 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e 74 2c 20 73 70 65 63 69 66 .it.in.the.HTML.document,.specif
15a0 79 69 6e 67 0a 74 68 65 20 66 61 63 65 73 20 69 6e 20 74 68 65 20 61 63 74 75 61 6c 20 74 65 78 ying.the.faces.in.the.actual.tex
15c0 74 20 77 69 74 68 20 3c 73 70 61 6e 20 63 6c 61 73 73 3d 5c 22 46 41 43 45 5c 22 3e 2e 0a 0a 57 t.with.<span.class=\"FACE\">...W
15e0 68 65 6e 20 73 65 74 20 74 6f 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 2c 20 74 68 65 20 73 74 79 hen.set.to.`inline-css',.the.sty
1600 6c 65 20 77 69 6c 6c 20 62 65 20 67 65 6e 65 72 61 74 65 64 20 61 73 20 61 62 6f 76 65 2c 20 62 le.will.be.generated.as.above,.b
1620 75 74 0a 70 6c 61 63 65 64 20 64 69 72 65 63 74 6c 79 20 69 6e 20 74 68 65 20 53 54 59 4c 45 20 ut.placed.directly.in.the.STYLE.
1640 61 74 74 72 69 62 75 74 65 20 6f 66 20 74 68 65 20 73 70 61 6e 20 45 4c 45 4d 45 4e 54 3a 20 3c attribute.of.the.span.ELEMENT:.<
1660 73 70 61 6e 0a 73 74 79 6c 65 3d 5c 22 53 54 59 4c 45 5c 22 3e 2e 20 20 54 68 69 73 20 6d 61 6b span.style=\"STYLE\">...This.mak
1680 65 73 20 69 74 20 65 61 73 69 65 72 20 74 6f 20 70 61 73 74 65 20 74 68 65 20 72 65 73 75 6c 74 es.it.easier.to.paste.the.result
16a0 69 6e 67 20 48 54 4d 4c 20 74 6f 0a 6f 74 68 65 72 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 0a 57 68 ing.HTML.to.other.documents...Wh
16c0 65 6e 20 73 65 74 20 74 6f 20 60 66 6f 6e 74 27 2c 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 en.set.to.`font',.the.properties
16e0 20 77 69 6c 6c 20 62 65 20 73 65 74 20 75 73 69 6e 67 20 6c 61 79 6f 75 74 20 74 61 67 73 0a 3c .will.be.set.using.layout.tags.<
1700 66 6f 6e 74 3e 2c 20 3c 62 3e 2c 20 3c 69 3e 2c 20 3c 75 3e 2c 20 61 6e 64 20 3c 73 74 72 69 6b font>,.<b>,.<i>,.<u>,.and.<strik
1720 65 3e 2e 0a 0a 60 63 73 73 27 20 6f 75 74 70 75 74 20 69 73 20 6e 6f 72 6d 61 6c 6c 79 20 70 72 e>...`css'.output.is.normally.pr
1740 65 66 65 72 72 65 64 2c 20 62 75 74 20 60 66 6f 6e 74 27 20 69 73 20 73 74 69 6c 6c 20 75 73 65 eferred,.but.`font'.is.still.use
1760 66 75 6c 20 66 6f 72 0a 73 75 70 70 6f 72 74 69 6e 67 20 6f 6c 64 2c 20 70 72 65 2d 43 53 53 20 ful.for.supporting.old,.pre-CSS.
1780 62 72 6f 77 73 65 72 73 2c 20 61 6e 64 20 62 6f 74 68 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 browsers,.and.both.`inline-css'.
17a0 61 6e 64 20 60 66 6f 6e 74 27 20 66 6f 72 0a 65 61 73 69 65 72 20 65 6d 62 65 64 64 69 6e 67 20 and.`font'.for.easier.embedding.
17c0 6f 66 20 63 6f 6c 6f 72 69 7a 65 64 20 74 65 78 74 20 69 6e 20 66 6f 72 65 69 67 6e 20 48 54 4d of.colorized.text.in.foreign.HTM
17e0 4c 20 64 6f 63 75 6d 65 6e 74 73 20 28 6e 6f 20 73 74 79 6c 65 0a 73 68 65 65 74 20 74 6f 20 63 L.documents.(no.style.sheet.to.c
1800 61 72 72 79 20 61 72 6f 75 6e 64 29 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 arry.around)."...:type.'(choice.
1820 28 63 6f 6e 73 74 20 63 73 73 29 20 28 63 6f 6e 73 74 20 69 6e 6c 69 6e 65 2d 63 73 73 29 20 28 (const.css).(const.inline-css).(
1840 63 6f 6e 73 74 20 66 6f 6e 74 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a const.font))...:group.'htmlize).
1860 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 69 6d 61 67 65 73 20 74 .(defcustom.htmlize-use-images.t
1880 0a 20 20 22 57 68 65 74 68 65 72 20 68 74 6d 6c 69 7a 65 20 67 65 6e 65 72 61 74 65 73 20 60 69 ..."Whether.htmlize.generates.`i
18a0 6d 67 27 20 66 6f 72 20 69 6d 61 67 65 73 20 61 74 74 61 63 68 65 64 20 74 6f 20 62 75 66 66 65 mg'.for.images.attached.to.buffe
18c0 72 20 63 6f 6e 74 65 6e 74 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 r.contents."...:type.'boolean...
18e0 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d :group.'htmlize)..(defcustom.htm
1900 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c 69 6e 65 2d 69 6d 61 67 65 73 20 6e 69 6c 0a 20 20 22 lize-force-inline-images.nil..."
1920 4e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 67 65 6e 65 72 61 74 65 20 61 6c 6c 20 69 6d 61 67 65 Non-nil.means.generate.all.image
1940 73 20 69 6e 6c 69 6e 65 20 75 73 69 6e 67 20 64 61 74 61 20 55 52 4c 73 2e 0a 4e 6f 72 6d 61 6c s.inline.using.data.URLs..Normal
1960 6c 79 20 68 74 6d 6c 69 7a 65 20 63 6f 6e 76 65 72 74 73 20 69 6d 61 67 65 20 64 65 73 63 72 69 ly.htmlize.converts.image.descri
1980 70 74 6f 72 73 20 77 69 74 68 20 3a 66 69 6c 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 6f 0a 72 ptors.with.:file.properties.to.r
19a0 65 6c 61 74 69 76 65 20 55 52 49 73 2c 20 61 6e 64 20 74 68 6f 73 65 20 77 69 74 68 20 3a 64 61 elative.URIs,.and.those.with.:da
19c0 74 61 20 70 72 6f 70 65 72 74 69 65 73 20 74 6f 20 64 61 74 61 20 55 52 49 73 2e 20 20 57 69 74 ta.properties.to.data.URIs...Wit
19e0 68 20 74 68 69 73 0a 66 6c 61 67 20 73 65 74 2c 20 74 68 65 20 69 6d 61 67 65 73 20 73 70 65 63 h.this.flag.set,.the.images.spec
1a00 69 66 69 65 64 20 61 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 61 72 65 20 6c 6f 61 64 65 64 20 ified.as.a.file.name.are.loaded.
1a20 69 6e 74 6f 20 6d 65 6d 6f 72 79 20 61 6e 64 0a 65 6d 62 65 64 64 65 64 20 69 6e 20 74 68 65 20 into.memory.and.embedded.in.the.
1a40 48 54 4d 4c 20 61 73 20 64 61 74 61 20 55 52 49 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f HTML.as.data.URIs."...:type.'boo
1a60 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 lean...:group.'htmlize)..(defcus
1a80 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 6d 61 78 2d 61 6c 74 2d 74 65 78 74 20 31 30 30 0a 20 20 22 tom.htmlize-max-alt-text.100..."
1aa0 4d 61 78 69 6d 75 6d 20 73 69 7a 65 20 6f 66 20 74 65 78 74 20 74 6f 20 75 73 65 20 61 73 20 41 Maximum.size.of.text.to.use.as.A
1ac0 4c 54 20 74 65 78 74 20 69 6e 20 69 6d 61 67 65 73 2e 0a 0a 4e 6f 72 6d 61 6c 6c 79 20 77 68 65 LT.text.in.images...Normally.whe
1ae0 6e 20 68 74 6d 6c 69 7a 65 20 65 6e 63 6f 75 6e 74 65 72 73 20 74 65 78 74 20 63 6f 76 65 72 65 n.htmlize.encounters.text.covere
1b00 64 20 62 79 20 74 68 65 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 0a 74 68 61 74 d.by.the.`display'.property.that
1b20 20 73 70 65 63 69 66 69 65 73 20 61 6e 20 69 6d 61 67 65 2c 20 69 74 20 67 65 6e 65 72 61 74 65 .specifies.an.image,.it.generate
1b40 73 20 61 6e 20 60 61 6c 74 27 20 61 74 74 72 69 62 75 74 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 s.an.`alt'.attribute.containing.
1b60 74 68 65 0a 6f 72 69 67 69 6e 61 6c 20 74 65 78 74 2e 20 20 49 66 20 74 68 65 20 74 65 78 74 20 the.original.text...If.the.text.
1b80 69 73 20 6c 61 72 67 65 72 20 74 68 61 6e 20 60 68 74 6d 6c 69 7a 65 2d 6d 61 78 2d 61 6c 74 2d is.larger.than.`htmlize-max-alt-
1ba0 74 65 78 74 27 20 63 68 61 72 61 63 74 65 72 73 2c 0a 74 68 69 73 20 77 69 6c 6c 20 6e 6f 74 20 text'.characters,.this.will.not.
1bc0 62 65 20 64 6f 6e 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 0a 20 20 3a 67 72 be.done."...:type.'integer...:gr
1be0 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a oup.'htmlize)..(defcustom.htmliz
1c00 65 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 6d 61 67 65 20 27 68 74 6d 6c 69 7a 65 2d 64 65 66 61 75 e-transform-image.'htmlize-defau
1c20 6c 74 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 6d 61 67 65 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 63 lt-transform-image..."Function.c
1c40 61 6c 6c 65 64 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 69 6d 61 67 65 20 64 65 73 63 72 69 alled.to.modify.the.image.descri
1c60 70 74 6f 72 2e 0a 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 ptor...The.function.is.called.wi
1c80 74 68 20 74 68 65 20 69 6d 61 67 65 20 64 65 73 63 72 69 70 74 6f 72 20 66 6f 75 6e 64 20 69 6e th.the.image.descriptor.found.in
1ca0 20 74 68 65 20 62 75 66 66 65 72 20 61 6e 64 0a 74 68 65 20 74 65 78 74 20 74 68 65 20 69 6d 61 .the.buffer.and.the.text.the.ima
1cc0 67 65 20 69 73 20 73 75 70 70 6f 73 65 64 20 74 6f 20 72 65 70 6c 61 63 65 2e 20 20 49 74 20 73 ge.is.supposed.to.replace...It.s
1ce0 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 20 28 70 6f 73 73 69 62 6c 79 0a 64 69 66 66 65 72 65 hould.return.a.(possibly.differe
1d00 6e 74 29 20 69 6d 61 67 65 20 64 65 73 63 72 69 70 74 6f 72 20 70 72 6f 70 65 72 74 79 20 6c 69 nt).image.descriptor.property.li
1d20 73 74 20 6f 72 20 61 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 73 74 72 69 6e 67 20 74 6f 20 75 73 st.or.a.replacement.string.to.us
1d40 65 0a 69 6e 73 74 65 61 64 20 6f 66 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 62 75 66 e.instead.of.of.the.original.buf
1d60 66 65 72 20 74 65 78 74 2e 0a 0a 52 65 74 75 72 6e 69 6e 67 20 6e 69 6c 20 69 73 20 74 68 65 20 fer.text...Returning.nil.is.the.
1d80 73 61 6d 65 20 61 73 20 72 65 74 75 72 6e 69 6e 67 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 74 same.as.returning.the.original.t
1da0 65 78 74 2e 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 ext."...:type.'boolean...:group.
1dc0 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 67 65 'htmlize)..(defcustom.htmlize-ge
1de0 6e 65 72 61 74 65 2d 68 79 70 65 72 6c 69 6e 6b 73 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 6d nerate-hyperlinks.t..."Non-nil.m
1e00 65 61 6e 73 20 61 75 74 6f 2d 67 65 6e 65 72 61 74 65 20 74 68 65 20 6c 69 6e 6b 73 20 66 72 6f eans.auto-generate.the.links.fro
1e20 6d 20 55 52 4c 73 20 61 6e 64 20 6d 61 69 6c 20 61 64 64 72 65 73 73 65 73 20 69 6e 20 62 75 66 m.URLs.and.mail.addresses.in.buf
1e40 66 65 72 2e 0a 0a 54 68 69 73 20 69 73 20 6f 6e 20 62 79 20 64 65 66 61 75 6c 74 3b 20 73 65 74 fer...This.is.on.by.default;.set
1e60 20 69 74 20 74 6f 20 6e 69 6c 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 77 61 6e 74 20 68 74 6d .it.to.nil.if.you.don't.want.htm
1e80 6c 69 7a 65 20 74 6f 0a 61 75 74 6f 67 65 6e 65 72 61 74 65 20 73 75 63 68 20 6c 69 6e 6b 73 2e lize.to.autogenerate.such.links.
1ea0 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 6f 6e 6c 79 20 74 75 72 ..Note.that.this.option.only.tur
1ec0 6e 73 20 6f 66 66 20 61 75 74 6f 6d 61 74 69 63 0a 73 65 61 72 63 68 20 66 6f 72 20 63 6f 6e 74 ns.off.automatic.search.for.cont
1ee0 65 6e 74 73 20 74 68 61 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 55 52 4c 73 20 61 6e 64 20 63 6f ents.that.looks.like.URLs.and.co
1f00 6e 76 65 72 74 69 6e 67 20 74 68 65 6d 20 74 6f 20 6c 69 6e 6b 73 2e 0a 49 74 20 68 61 73 20 6e nverting.them.to.links..It.has.n
1f20 6f 20 65 66 66 65 63 74 20 6f 6e 20 77 68 65 74 68 65 72 20 68 74 6d 6c 69 7a 65 20 72 65 73 70 o.effect.on.whether.htmlize.resp
1f40 65 63 74 73 20 74 68 65 20 60 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 27 20 70 72 6f 70 65 72 74 79 ects.the.`htmlize-link'.property
1f60 2e 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 68 74 ."...:type.'boolean...:group.'ht
1f80 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 79 70 65 72 mlize)..(defcustom.htmlize-hyper
1fa0 6c 69 6e 6b 2d 73 74 79 6c 65 20 22 0a 20 20 20 20 20 20 61 20 7b 0a 20 20 20 20 20 20 20 20 63 link-style.".......a.{.........c
1fc0 6f 6c 6f 72 3a 20 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e olor:.inherit;.........backgroun
1fe0 64 2d 63 6f 6c 6f 72 3a 20 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 20 20 66 6f 6e 74 3a 20 d-color:.inherit;.........font:.
2000 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e inherit;.........text-decoration
2020 3a 20 69 6e 68 65 72 69 74 3b 0a 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 61 3a 68 6f 76 65 72 :.inherit;.......}.......a:hover
2040 20 7b 0a 20 20 20 20 20 20 20 20 74 65 78 74 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 75 6e 64 65 .{.........text-decoration:.unde
2060 72 6c 69 6e 65 3b 0a 20 20 20 20 20 20 7d 0a 22 0a 20 20 22 54 68 65 20 43 53 53 20 73 74 79 6c rline;.......}."..."The.CSS.styl
2080 65 20 75 73 65 64 20 66 6f 72 20 68 79 70 65 72 6c 69 6e 6b 73 20 77 68 65 6e 20 69 6e 20 43 53 e.used.for.hyperlinks.when.in.CS
20a0 53 20 6d 6f 64 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 S.mode."...:type.'string...:grou
20c0 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d p.'htmlize)..(defcustom.htmlize-
20e0 72 65 70 6c 61 63 65 2d 66 6f 72 6d 2d 66 65 65 64 73 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 replace-form-feeds.t..."Non-nil.
2100 6d 65 61 6e 73 20 72 65 70 6c 61 63 65 20 66 6f 72 6d 20 66 65 65 64 73 20 69 6e 20 73 6f 75 72 means.replace.form.feeds.in.sour
2120 63 65 20 63 6f 64 65 20 77 69 74 68 20 48 54 4d 4c 20 73 65 70 61 72 61 74 6f 72 73 2e 0a 46 6f ce.code.with.HTML.separators..Fo
2140 72 6d 20 66 65 65 64 73 20 61 72 65 20 74 68 65 20 5e 4c 20 63 68 61 72 61 63 74 65 72 73 20 61 rm.feeds.are.the.^L.characters.a
2160 74 20 6c 69 6e 65 20 62 65 67 69 6e 6e 69 6e 67 73 20 74 68 61 74 20 61 72 65 20 73 6f 6d 65 74 t.line.beginnings.that.are.somet
2180 69 6d 65 73 0a 75 73 65 64 20 74 6f 20 73 65 70 61 72 61 74 65 20 73 65 63 74 69 6f 6e 73 20 6f imes.used.to.separate.sections.o
21a0 66 20 73 6f 75 72 63 65 20 63 6f 64 65 2e 20 20 49 66 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 f.source.code...If.this.variable
21c0 20 69 73 20 73 65 74 20 74 6f 0a 60 74 27 2c 20 66 6f 72 6d 20 66 65 65 64 20 63 68 61 72 61 63 .is.set.to.`t',.form.feed.charac
21e0 74 65 72 73 20 61 72 65 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 3c 68 72 3e 20 ters.are.replaced.with.the.<hr>.
2200 73 65 70 61 72 61 74 6f 72 2e 20 20 49 66 20 74 68 69 73 0a 69 73 20 61 20 73 74 72 69 6e 67 2c separator...If.this.is.a.string,
2220 20 69 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 74 6f .it.specifies.the.replacement.to
2240 20 75 73 65 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 3c 70 72 65 3e 20 69 73 0a 74 65 6d 70 6f 72 .use...Note.that.<pre>.is.tempor
2260 61 72 69 6c 79 20 63 6c 6f 73 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 70 61 72 61 74 6f arily.closed.before.the.separato
2280 72 20 69 73 20 69 6e 73 65 72 74 65 64 2c 20 73 6f 20 74 68 65 20 64 65 66 61 75 6c 74 0a 72 65 r.is.inserted,.so.the.default.re
22a0 70 6c 61 63 65 6d 65 6e 74 20 69 73 20 65 66 66 65 63 74 69 76 65 6c 79 20 5c 22 3c 2f 70 72 65 placement.is.effectively.\"</pre
22c0 3e 3c 68 72 20 2f 3e 3c 70 72 65 3e 5c 22 2e 20 20 49 66 20 79 6f 75 20 73 70 65 63 69 66 79 0a ><hr./><pre>\"...If.you.specify.
22e0 61 6e 6f 74 68 65 72 20 72 65 70 6c 61 63 65 6d 65 6e 74 2c 20 64 6f 6e 27 74 20 66 6f 72 67 65 another.replacement,.don't.forge
2300 74 20 74 6f 20 63 6c 6f 73 65 20 61 6e 64 20 72 65 6f 70 65 6e 20 74 68 65 20 3c 70 72 65 3e 20 t.to.close.and.reopen.the.<pre>.
2320 69 66 20 79 6f 75 0a 77 61 6e 74 20 74 68 65 20 6f 75 74 70 75 74 20 74 6f 20 72 65 6d 61 69 6e if.you.want.the.output.to.remain
2340 20 76 61 6c 69 64 20 48 54 4d 4c 2e 0a 0a 49 66 20 79 6f 75 20 6e 65 65 64 20 6d 6f 72 65 20 65 .valid.HTML...If.you.need.more.e
2360 6c 61 62 6f 72 61 74 65 20 70 72 6f 63 65 73 73 69 6e 67 2c 20 73 65 74 20 74 68 69 73 20 74 6f laborate.processing,.set.this.to
2380 20 6e 69 6c 20 61 6e 64 20 75 73 65 0a 68 74 6d 6c 69 7a 65 2d 61 66 74 65 72 2d 68 6f 6f 6b 2e .nil.and.use.htmlize-after-hook.
23a0 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 68 74 6d "...:type.'boolean...:group.'htm
23c0 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c 2d 63 lize)..(defcustom.htmlize-html-c
23e0 68 61 72 73 65 74 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 68 61 72 73 65 74 20 64 65 63 6c 61 72 harset.nil..."The.charset.declar
2400 65 64 20 62 79 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 64 6f 63 75 6d 65 6e ed.by.the.resulting.HTML.documen
2420 74 73 2e 0a 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 61 75 73 65 73 20 68 74 6d 6c 69 7a 65 ts..When.non-nil,.causes.htmlize
2440 20 74 6f 20 69 6e 73 65 72 74 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 6e 20 74 68 65 20 .to.insert.the.following.in.the.
2460 48 45 41 44 20 73 65 63 74 69 6f 6e 0a 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 48 54 HEAD.section.of.the.generated.HT
2480 4d 4c 3a 0a 0a 20 20 3c 6d 65 74 61 20 68 74 74 70 2d 65 71 75 69 76 3d 5c 22 43 6f 6e 74 65 6e ML:....<meta.http-equiv=\"Conten
24a0 74 2d 54 79 70 65 5c 22 20 63 6f 6e 74 65 6e 74 3d 5c 22 74 65 78 74 2f 68 74 6d 6c 3b 20 63 68 t-Type\".content=\"text/html;.ch
24c0 61 72 73 65 74 3d 43 48 41 52 53 45 54 5c 22 3e 0a 0a 77 68 65 72 65 20 43 48 41 52 53 45 54 20 arset=CHARSET\">..where.CHARSET.
24e0 69 73 20 74 68 65 20 76 61 6c 75 65 20 79 6f 75 27 76 65 20 73 65 74 20 66 6f 72 20 68 74 6d 6c is.the.value.you've.set.for.html
2500 69 7a 65 2d 68 74 6d 6c 2d 63 68 61 72 73 65 74 2e 20 20 56 61 6c 69 64 0a 63 68 61 72 73 65 74 ize-html-charset...Valid.charset
2520 73 20 61 72 65 20 64 65 66 69 6e 65 64 20 62 79 20 4d 49 4d 45 20 61 6e 64 20 69 6e 63 6c 75 64 s.are.defined.by.MIME.and.includ
2540 65 20 73 74 72 69 6e 67 73 20 6c 69 6b 65 20 5c 22 69 73 6f 2d 38 38 35 39 2d 31 5c 22 2c 0a 5c e.strings.like.\"iso-8859-1\",.\
2560 22 69 73 6f 2d 38 38 35 39 2d 31 35 5c 22 2c 20 5c 22 75 74 66 2d 38 5c 22 2c 20 65 74 63 2e 0a "iso-8859-15\",.\"utf-8\",.etc..
2580 0a 49 66 20 79 6f 75 20 61 72 65 20 75 73 69 6e 67 20 6e 6f 6e 2d 4c 61 74 69 6e 2d 31 20 63 68 .If.you.are.using.non-Latin-1.ch
25a0 61 72 73 65 74 73 2c 20 79 6f 75 20 6d 69 67 68 74 20 6e 65 65 64 20 74 6f 20 73 65 74 20 74 68 arsets,.you.might.need.to.set.th
25c0 69 73 20 66 6f 72 0a 79 6f 75 72 20 64 6f 63 75 6d 65 6e 74 73 20 74 6f 20 72 65 6e 64 65 72 20 is.for.your.documents.to.render.
25e0 63 6f 72 72 65 63 74 6c 79 2e 20 20 41 6c 73 6f 2c 20 74 68 65 20 57 33 43 20 76 61 6c 69 64 61 correctly...Also,.the.W3C.valida
2600 74 6f 72 20 72 65 71 75 69 72 65 73 0a 73 75 62 6d 69 74 74 65 64 20 48 54 4d 4c 20 64 6f 63 75 tor.requires.submitted.HTML.docu
2620 6d 65 6e 74 73 20 74 6f 20 64 65 63 6c 61 72 65 20 61 20 63 68 61 72 73 65 74 2e 20 20 53 6f 20 ments.to.declare.a.charset...So.
2640 69 66 20 79 6f 75 20 63 61 72 65 20 61 62 6f 75 74 0a 76 61 6c 69 64 61 74 69 6f 6e 2c 20 79 6f if.you.care.about.validation,.yo
2660 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 74 6f 20 70 72 65 76 65 6e 74 20 74 68 65 20 76 61 u.can.use.this.to.prevent.the.va
2680 6c 69 64 61 74 6f 72 20 66 72 6f 6d 20 62 69 74 63 68 69 6e 67 2e 0a 0a 4e 65 65 64 6c 65 73 73 lidator.from.bitching...Needless
26a0 20 74 6f 20 73 61 79 2c 20 69 66 20 79 6f 75 20 73 65 74 20 74 68 69 73 2c 20 79 6f 75 20 73 68 .to.say,.if.you.set.this,.you.sh
26c0 6f 75 6c 64 20 61 63 74 75 61 6c 6c 79 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 0a 74 68 65 ould.actually.make.sure.that.the
26e0 20 62 75 66 66 65 72 20 69 73 20 69 6e 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 20 79 6f 75 27 72 .buffer.is.in.the.encoding.you'r
2700 65 20 63 6c 61 69 6d 69 6e 67 20 69 74 20 69 73 20 69 6e 2e 20 20 28 54 68 69 73 20 69 73 0a 6e e.claiming.it.is.in...(This.is.n
2720 6f 72 6d 61 6c 6c 79 20 61 63 68 69 65 76 65 64 20 62 79 20 75 73 69 6e 67 20 74 68 65 20 63 6f ormally.achieved.by.using.the.co
2740 72 72 65 63 74 20 66 69 6c 65 20 63 6f 64 69 6e 67 20 73 79 73 74 65 6d 20 66 6f 72 20 74 68 65 rrect.file.coding.system.for.the
2760 0a 62 75 66 66 65 72 2e 29 20 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 75 6e 64 65 72 73 74 61 .buffer.)..If.you.don't.understa
2780 6e 64 20 77 68 61 74 20 74 68 61 74 20 6d 65 61 6e 73 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 70 nd.what.that.means,.you.should.p
27a0 72 6f 62 61 62 6c 79 0a 6c 65 61 76 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 69 6e 20 69 74 73 robably.leave.this.option.in.its
27c0 20 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f .default.setting."...:type.'(cho
27e0 69 63 65 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 55 6e 73 65 74 22 20 6e 69 6c 29 0a 09 09 20 ice.(const.:tag."Unset".nil)....
2800 73 74 72 69 6e 67 29 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 string)...:group.'htmlize)..(def
2820 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 63 6f 6e 76 65 72 74 2d 6e 6f 6e 61 73 63 69 69 2d custom.htmlize-convert-nonascii-
2840 74 6f 2d 65 6e 74 69 74 69 65 73 20 74 0a 20 20 22 57 68 65 74 68 65 72 20 6e 6f 6e 2d 41 53 43 to-entities.t..."Whether.non-ASC
2860 49 49 20 63 68 61 72 61 63 74 65 72 73 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6e 76 65 72 74 65 II.characters.should.be.converte
2880 64 20 74 6f 20 48 54 4d 4c 20 65 6e 74 69 74 69 65 73 2e 0a 0a 57 68 65 6e 20 74 68 69 73 20 69 d.to.HTML.entities...When.this.i
28a0 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 68 61 72 61 63 74 65 72 73 20 77 69 74 68 20 63 6f 64 65 73 s.non-nil,.characters.with.codes
28c0 20 69 6e 20 74 68 65 20 31 32 38 2d 32 35 35 20 72 61 6e 67 65 20 77 69 6c 6c 20 62 65 0a 63 6f .in.the.128-255.range.will.be.co
28e0 6e 73 69 64 65 72 65 64 20 4c 61 74 69 6e 20 31 20 61 6e 64 20 72 65 77 72 69 74 74 65 6e 20 61 nsidered.Latin.1.and.rewritten.a
2900 73 20 5c 22 26 23 43 4f 44 45 3b 5c 22 2e 20 20 43 68 61 72 61 63 74 65 72 73 20 77 69 74 68 20 s.\"&#CODE;\"...Characters.with.
2920 63 6f 64 65 73 0a 61 62 6f 76 65 20 32 35 35 20 77 69 6c 6c 20 62 65 20 63 6f 6e 76 65 72 74 65 codes.above.255.will.be.converte
2940 64 20 74 6f 20 5c 22 26 23 55 43 53 3b 5c 22 2c 20 77 68 65 72 65 20 55 43 53 20 64 65 6e 6f 74 d.to.\"&#UCS;\",.where.UCS.denot
2960 65 73 20 74 68 65 20 55 6e 69 63 6f 64 65 0a 63 6f 64 65 20 70 6f 69 6e 74 20 6f 66 20 74 68 65 es.the.Unicode.code.point.of.the
2980 20 63 68 61 72 61 63 74 65 72 2e 20 20 49 66 20 74 68 65 20 63 6f 64 65 20 70 6f 69 6e 74 20 63 .character...If.the.code.point.c
29a0 61 6e 6e 6f 74 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 2c 0a 74 68 65 20 63 68 61 72 61 63 74 annot.be.determined,.the.charact
29c0 65 72 20 77 69 6c 6c 20 62 65 20 63 6f 70 69 65 64 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 73 20 er.will.be.copied.unchanged,.as.
29e0 77 6f 75 6c 64 20 62 65 20 74 68 65 20 63 61 73 65 20 69 66 20 74 68 65 0a 6f 70 74 69 6f 6e 20 would.be.the.case.if.the.option.
2a00 77 65 72 65 20 6e 69 6c 2e 0a 0a 57 68 65 6e 20 74 68 65 20 6f 70 74 69 6f 6e 20 69 73 20 6e 69 were.nil...When.the.option.is.ni
2a20 6c 2c 20 74 68 65 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 l,.the.non-ASCII.characters.are.
2a40 63 6f 70 69 65 64 20 74 6f 20 48 54 4d 4c 0a 77 69 74 68 6f 75 74 20 6d 6f 64 69 66 69 63 61 74 copied.to.HTML.without.modificat
2a60 69 6f 6e 2e 20 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 74 68 65 20 77 65 62 20 73 65 72 76 ion...In.that.case,.the.web.serv
2a80 65 72 20 61 6e 64 2f 6f 72 20 74 68 65 20 62 72 6f 77 73 65 72 0a 6d 75 73 74 20 62 65 20 73 65 er.and/or.the.browser.must.be.se
2aa0 74 20 74 6f 20 75 6e 64 65 72 73 74 61 6e 64 20 74 68 65 20 65 6e 63 6f 64 69 6e 67 20 74 68 61 t.to.understand.the.encoding.tha
2ac0 74 20 77 61 73 20 75 73 65 64 20 77 68 65 6e 20 73 61 76 69 6e 67 20 74 68 65 0a 62 75 66 66 65 t.was.used.when.saving.the.buffe
2ae0 72 2e 20 20 28 59 6f 75 20 6d 69 67 68 74 20 61 6c 73 6f 20 77 61 6e 74 20 74 6f 20 73 70 65 63 r...(You.might.also.want.to.spec
2b00 69 66 79 20 69 74 20 62 79 20 73 65 74 74 69 6e 67 0a 60 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c 2d ify.it.by.setting.`htmlize-html-
2b20 63 68 61 72 73 65 74 27 2e 29 0a 0a 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 61 6e 20 48 54 4d 4c charset'.)..Note.that.in.an.HTML
2b40 20 65 6e 74 69 74 79 20 5c 22 26 23 43 4f 44 45 3b 5c 22 2c 20 43 4f 44 45 20 69 73 20 61 6c 77 .entity.\"&#CODE;\",.CODE.is.alw
2b60 61 79 73 20 61 20 55 43 53 20 63 6f 64 65 20 70 6f 69 6e 74 2c 0a 77 68 69 63 68 20 68 61 73 20 ays.a.UCS.code.point,.which.has.
2b80 6e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 20 77 69 74 68 20 74 68 65 20 63 68 61 72 73 65 74 20 74 nothing.to.do.with.the.charset.t
2ba0 68 65 20 70 61 67 65 20 69 73 20 69 6e 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 5c 22 26 he.page.is.in...For.example,.\"&
2bc0 23 31 36 39 3b 5c 22 20 2a 61 6c 77 61 79 73 2a 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 63 #169;\".*always*.refers.to.the.c
2be0 6f 70 79 72 69 67 68 74 20 73 79 6d 62 6f 6c 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 63 opyright.symbol,.regardless.of.c
2c00 68 61 72 73 65 74 0a 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 4d 45 54 41 20 74 61 67 harset.specified.by.the.META.tag
2c20 20 6f 72 20 74 68 65 20 63 68 61 72 73 65 74 20 73 65 6e 74 20 62 79 20 74 68 65 20 48 54 54 50 .or.the.charset.sent.by.the.HTTP
2c40 20 73 65 72 76 65 72 2e 20 20 49 6e 0a 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 5c 22 26 23 31 36 .server...In.other.words,.\"&#16
2c60 39 3b 5c 22 20 69 73 20 65 78 61 63 74 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 5c 22 9;\".is.exactly.equivalent.to.\"
2c80 26 63 6f 70 79 3b 5c 22 2e 0a 0a 46 6f 72 20 6d 6f 73 74 20 70 65 6f 70 6c 65 20 68 74 6d 6c 69 &copy;\"...For.most.people.htmli
2ca0 7a 65 20 77 69 6c 6c 20 77 6f 72 6b 20 66 69 6e 65 20 77 69 74 68 20 74 68 69 73 20 6f 70 74 69 ze.will.work.fine.with.this.opti
2cc0 6f 6e 20 6c 65 66 74 20 61 74 20 74 68 65 0a 64 65 66 61 75 6c 74 20 73 65 74 74 69 6e 67 3b 20 on.left.at.the.default.setting;.
2ce0 64 6f 6e 27 74 20 63 68 61 6e 67 65 20 69 74 20 75 6e 6c 65 73 73 20 79 6f 75 20 6b 6e 6f 77 20 don't.change.it.unless.you.know.
2d00 77 68 61 74 20 79 6f 75 27 72 65 20 64 6f 69 6e 67 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 65 78 what.you're.doing."...:type.'sex
2d20 70 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d p...:group.'htmlize)..(defcustom
2d40 20 68 74 6d 6c 69 7a 65 2d 69 67 6e 6f 72 65 2d 66 61 63 65 2d 73 69 7a 65 20 27 61 62 73 6f 6c .htmlize-ignore-face-size.'absol
2d60 75 74 65 0a 20 20 22 57 68 65 74 68 65 72 20 66 61 63 65 20 73 69 7a 65 20 73 68 6f 75 6c 64 20 ute..."Whether.face.size.should.
2d80 62 65 20 69 67 6e 6f 72 65 64 20 77 68 65 6e 20 67 65 6e 65 72 61 74 69 6e 67 20 48 54 4d 4c 2e be.ignored.when.generating.HTML.
2da0 0a 49 66 20 74 68 69 73 20 69 73 20 6e 69 6c 2c 20 66 61 63 65 20 73 69 7a 65 73 20 61 72 65 20 .If.this.is.nil,.face.sizes.are.
2dc0 75 73 65 64 2e 20 20 49 66 20 73 65 74 20 74 6f 20 74 2c 20 73 69 7a 65 73 20 61 72 65 20 69 67 used...If.set.to.t,.sizes.are.ig
2de0 6e 6f 72 65 64 0a 49 66 20 73 65 74 20 74 6f 20 60 61 62 73 6f 6c 75 74 65 27 2c 20 6f 6e 6c 79 nored.If.set.to.`absolute',.only
2e00 20 61 62 73 6f 6c 75 74 65 20 73 69 7a 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 73 20 61 72 .absolute.size.specifications.ar
2e20 65 20 69 67 6e 6f 72 65 64 2e 0a 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 66 6f 6e 74 e.ignored..Please.note.that.font
2e40 20 73 69 7a 65 73 20 6f 6e 6c 79 20 77 6f 72 6b 20 77 69 74 68 20 43 53 53 2d 62 61 73 65 64 20 .sizes.only.work.with.CSS-based.
2e60 6f 75 74 70 75 74 20 74 79 70 65 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 output.types."...:type.'(choice.
2e80 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 44 6f 6e 27 74 20 69 67 6e 6f 72 65 22 20 6e 69 6c 29 0a (const.:tag."Don't.ignore".nil).
2ea0 09 09 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 49 67 6e 6f 72 65 20 61 6c 6c 22 20 74 29 0a 09 ...(const.:tag."Ignore.all".t)..
2ec0 09 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 49 67 6e 6f 72 65 20 61 62 73 6f 6c 75 74 65 22 20 ..(const.:tag."Ignore.absolute".
2ee0 61 62 73 6f 6c 75 74 65 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 absolute))...:group.'htmlize)..(
2f00 64 65 66 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 6e 61 6d 65 2d 70 72 65 66 69 defcustom.htmlize-css-name-prefi
2f20 78 20 22 22 0a 20 20 22 54 68 65 20 70 72 65 66 69 78 20 75 73 65 64 20 66 6f 72 20 43 53 53 20 x.""..."The.prefix.used.for.CSS.
2f40 6e 61 6d 65 73 2e 0a 54 68 65 20 43 53 53 20 6e 61 6d 65 73 20 74 68 61 74 20 68 74 6d 6c 69 7a names..The.CSS.names.that.htmliz
2f60 65 20 67 65 6e 65 72 61 74 65 73 20 66 72 6f 6d 20 66 61 63 65 20 6e 61 6d 65 73 20 61 72 65 20 e.generates.from.face.names.are.
2f80 6f 66 74 65 6e 20 74 6f 6f 0a 67 65 6e 65 72 69 63 20 66 6f 72 20 43 53 53 20 66 69 6c 65 73 3b often.too.generic.for.CSS.files;
2fa0 20 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 74 79 70 65 2d 66 61 .for.example,.`font-lock-type-fa
2fc0 63 65 27 20 69 73 20 74 72 61 6e 73 66 6f 72 6d 65 64 0a 74 6f 20 60 74 79 70 65 27 2e 20 20 55 ce'.is.transformed.to.`type'...U
2fe0 73 65 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 74 6f 20 61 64 64 20 61 20 70 72 65 66 69 78 se.this.variable.to.add.a.prefix
3000 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 6e 61 6d 65 73 2e 0a 54 68 65 20 73 74 72 .to.the.generated.names..The.str
3020 69 6e 67 20 5c 22 68 74 6d 6c 69 7a 65 2d 5c 22 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f ing.\"htmlize-\".is.an.example.o
3040 66 20 61 20 72 65 61 73 6f 6e 61 62 6c 65 20 70 72 65 66 69 78 2e 22 0a 20 20 3a 74 79 70 65 20 f.a.reasonable.prefix."...:type.
3060 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 'string...:group.'htmlize)..(def
3080 63 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 72 67 62 2d 74 78 74 20 74 0a 20 20 22 custom.htmlize-use-rgb-txt.t..."
30a0 57 68 65 74 68 65 72 20 60 72 67 62 2e 74 78 74 27 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 Whether.`rgb.txt'.should.be.used
30c0 20 74 6f 20 63 6f 6e 76 65 72 74 20 63 6f 6c 6f 72 20 6e 61 6d 65 73 20 74 6f 20 52 47 42 2e 0a .to.convert.color.names.to.RGB..
30e0 0a 54 68 69 73 20 63 6f 6e 76 65 72 73 69 6f 6e 20 6d 65 61 6e 73 20 64 65 74 65 72 6d 69 6e 69 .This.conversion.means.determini
3100 6e 67 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 74 68 61 74 20 74 68 65 20 63 6f 6c 6f 72 ng,.for.instance,.that.the.color
3120 0a 5c 22 49 6e 64 69 61 6e 52 65 64 5c 22 20 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 .\"IndianRed\".corresponds.to.th
3140 65 20 28 32 30 35 2c 20 39 32 2c 20 39 32 29 20 52 47 42 20 74 72 69 70 6c 65 2e 20 20 60 72 67 e.(205,.92,.92).RGB.triple...`rg
3160 62 2e 74 78 74 27 0a 69 73 20 74 68 65 20 58 20 63 6f 6c 6f 72 20 64 61 74 61 62 61 73 65 20 74 b.txt'.is.the.X.color.database.t
3180 68 61 74 20 6d 61 70 73 20 68 75 6e 64 72 65 64 73 20 6f 66 20 63 6f 6c 6f 72 20 6e 61 6d 65 73 hat.maps.hundreds.of.color.names
31a0 20 74 6f 20 73 75 63 68 20 52 47 42 0a 74 72 69 70 6c 65 73 2e 20 20 57 68 65 6e 20 74 68 69 73 .to.such.RGB.triples...When.this
31c0 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 60 68 74 6d 6c 69 7a 65 27 20 .variable.is.non-nil,.`htmlize'.
31e0 75 73 65 73 20 60 72 67 62 2e 74 78 74 27 20 74 6f 0a 6c 6f 6f 6b 20 75 70 20 63 6f 6c 6f 72 20 uses.`rgb.txt'.to.look.up.color.
3200 6e 61 6d 65 73 2e 0a 0a 49 66 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2c names...If.this.variable.is.nil,
3220 20 68 74 6d 6c 69 7a 65 20 71 75 65 72 69 65 73 20 45 6d 61 63 73 20 66 6f 72 20 52 47 42 20 63 .htmlize.queries.Emacs.for.RGB.c
3240 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 0a 63 6f 6c 6f 72 73 20 75 73 69 6e 67 20 60 63 6f 6c 6f 72 omponents.of.colors.using.`color
3260 2d 69 6e 73 74 61 6e 63 65 2d 72 67 62 2d 63 6f 6d 70 6f 6e 65 6e 74 73 27 20 61 6e 64 20 60 63 -instance-rgb-components'.and.`c
3280 6f 6c 6f 72 2d 76 61 6c 75 65 73 27 2e 0a 54 68 69 73 20 63 61 6e 20 79 69 65 6c 64 20 69 6e 63 olor-values'..This.can.yield.inc
32a0 6f 72 72 65 63 74 20 72 65 73 75 6c 74 73 20 6f 6e 20 6e 6f 6e 2d 74 72 75 65 2d 63 6f 6c 6f 72 orrect.results.on.non-true-color
32c0 20 64 69 73 70 6c 61 79 73 2e 0a 0a 49 66 20 74 68 65 20 60 72 67 62 2e 74 78 74 27 20 66 69 6c .displays...If.the.`rgb.txt'.fil
32e0 65 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 28 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 74 68 e.is.not.found.(which.will.be.th
3300 65 20 63 61 73 65 20 69 66 20 79 6f 75 27 72 65 0a 72 75 6e 6e 69 6e 67 20 45 6d 61 63 73 20 6f e.case.if.you're.running.Emacs.o
3320 6e 20 6e 6f 6e 2d 58 31 31 20 73 79 73 74 65 6d 73 29 2c 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 n.non-X11.systems),.this.option.
3340 69 73 20 69 67 6e 6f 72 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 is.ignored."...:type.'boolean...
3360 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a :group.'htmlize)..(defvar.htmliz
3380 65 2d 66 61 63 65 2d 6f 76 65 72 72 69 64 65 73 20 6e 69 6c 0a 20 20 22 4f 76 65 72 72 69 64 65 e-face-overrides.nil..."Override
33a0 73 20 66 6f 72 20 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 4e 6f 72 6d 61 6c 6c s.for.face.definitions...Normall
33c0 79 20 66 61 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 74 61 6b 65 6e 20 66 72 6f y.face.definitions.are.taken.fro
33e0 6d 20 45 6d 61 63 73 20 73 65 74 74 69 6e 67 73 20 66 6f 72 20 66 6f 6e 74 73 0a 69 6e 20 74 68 m.Emacs.settings.for.fonts.in.th
3400 65 20 63 75 72 72 65 6e 74 20 66 72 61 6d 65 2e 20 20 46 6f 72 20 66 61 63 65 73 20 70 72 65 73 e.current.frame...For.faces.pres
3420 65 6e 74 20 69 6e 20 74 68 69 73 20 70 6c 69 73 74 2c 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f ent.in.this.plist,.the.definitio
3440 6e 73 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 2e 20 20 4b 65 79 73 20 69 ns.will.be.used.instead...Keys.i
3460 6e 20 74 68 65 20 70 6c 69 73 74 20 61 72 65 20 73 79 6d 62 6f 6c 73 0a 6e 61 6d 69 6e 67 20 74 n.the.plist.are.symbols.naming.t
3480 68 65 20 66 61 63 65 20 61 6e 64 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 20 6f 76 65 72 72 he.face.and.values.are.the.overr
34a0 69 64 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 20 20 46 6f 72 0a 65 78 61 6d 70 6c 65 3a iding.definitions...For.example:
34c0 0a 0a 20 20 28 73 65 74 71 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 6f 76 65 72 72 69 64 65 73 ....(setq.htmlize-face-overrides
34e0 0a 20 20 20 20 20 20 20 20 27 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 77 61 72 6e 69 6e 67 2d 66 61 63 .........'(font-lock-warning-fac
3500 65 20 5c 22 62 6c 61 63 6b 5c 22 0a 20 20 20 20 20 20 20 20 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d e.\"black\"...........font-lock-
3520 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 20 5c 22 72 65 64 5c 22 0a 20 20 20 20 20 function-name-face.\"red\"......
3540 20 20 20 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 20 5c 22 62 6c .....font-lock-comment-face.\"bl
3560 75 65 5c 22 0a 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 28 3a 66 6f 72 65 67 72 6f ue\"...........default.(:foregro
3580 75 6e 64 20 5c 22 64 61 72 6b 2d 67 72 65 65 6e 5c 22 20 3a 62 61 63 6b 67 72 6f 75 6e 64 20 5c und.\"dark-green\".:background.\
35a0 22 79 65 6c 6c 6f 77 5c 22 29 29 29 0a 0a 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 63 61 6e 20 "yellow\")))..This.variable.can.
35c0 62 65 20 61 6c 73 6f 20 62 65 20 60 6c 65 74 27 20 62 6f 75 6e 64 20 77 68 65 6e 20 72 75 6e 6e be.also.be.`let'.bound.when.runn
35e0 69 6e 67 20 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 2e 22 29 0a 0a 28 64 65 66 63 75 73 ing.`htmlize-buffer'.")..(defcus
3600 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 75 6e 74 61 62 69 66 79 20 74 0a 20 20 22 4e 6f 6e 2d 6e 69 tom.htmlize-untabify.t..."Non-ni
3620 6c 20 6d 65 61 6e 73 20 75 6e 74 61 62 69 66 79 20 62 75 66 66 65 72 20 63 6f 6e 74 65 6e 74 73 l.means.untabify.buffer.contents
3640 20 64 75 72 69 6e 67 20 68 74 6d 6c 69 7a 61 74 69 6f 6e 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 .during.htmlization."...:type.'b
3660 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 oolean...:group.'htmlize)..(defc
3680 75 73 74 6f 6d 20 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 20 6e 69 ustom.htmlize-html-major-mode.ni
36a0 6c 0a 20 20 22 54 68 65 20 6d 6f 64 65 20 74 68 65 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 l..."The.mode.the.newly.created.
36c0 48 54 4d 4c 20 62 75 66 66 65 72 20 77 69 6c 6c 20 62 65 20 70 75 74 20 69 6e 2e 0a 53 65 74 20 HTML.buffer.will.be.put.in..Set.
36e0 74 68 69 73 20 74 6f 20 6e 69 6c 20 69 66 20 79 6f 75 20 70 72 65 66 65 72 20 74 68 65 20 64 65 this.to.nil.if.you.prefer.the.de
3700 66 61 75 6c 74 20 28 66 75 6e 64 61 6d 65 6e 74 61 6c 29 20 6d 6f 64 65 2e 22 0a 20 20 3a 74 79 fault.(fundamental).mode."...:ty
3720 70 65 20 27 28 72 61 64 69 6f 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4e 6f 20 6d 6f 64 65 20 pe.'(radio.(const.:tag."No.mode.
3740 28 66 75 6e 64 61 6d 65 6e 74 61 6c 29 22 20 6e 69 6c 29 0a 09 09 20 28 66 75 6e 63 74 69 6f 6e (fundamental)".nil)....(function
3760 2d 69 74 65 6d 20 68 74 6d 6c 2d 6d 6f 64 65 29 0a 09 09 20 28 66 75 6e 63 74 69 6f 6e 20 3a 74 -item.html-mode)....(function.:t
3780 61 67 20 22 55 73 65 72 2d 64 65 66 69 6e 65 64 20 6d 61 6a 6f 72 20 6d 6f 64 65 22 29 29 0a 20 ag."User-defined.major.mode"))..
37a0 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 74 .:group.'htmlize)..(defcustom.ht
37c0 6d 6c 69 7a 65 2d 70 72 65 2d 73 74 79 6c 65 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d mlize-pre-style.nil..."When.non-
37e0 6e 69 6c 2c 20 60 3c 70 72 65 3e 27 20 74 61 67 73 20 77 69 6c 6c 20 62 65 20 64 65 63 6f 72 61 nil,.`<pre>'.tags.will.be.decora
3800 74 65 64 20 77 69 74 68 20 73 74 79 6c 65 0a 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 20 60 66 ted.with.style.information.in.`f
3820 6f 6e 74 27 20 61 6e 64 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 6d 6f 64 65 73 2e 20 54 68 69 ont'.and.`inline-css'.modes..Thi
3840 73 20 61 6c 6c 6f 77 73 20 61 0a 63 6f 6e 73 69 73 74 65 6e 74 20 62 61 63 6b 67 72 6f 75 6e 64 s.allows.a.consistent.background
3860 20 66 6f 72 20 63 61 70 74 75 72 65 73 20 6f 66 20 72 65 67 69 6f 6e 73 2e 22 0a 20 20 3a 74 79 .for.captures.of.regions."...:ty
3880 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 68 74 6d 6c 69 7a 65 29 0a 0a pe.'boolean...:group.'htmlize)..
38a0 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 62 65 66 6f 72 65 2d 68 6f 6f 6b 20 6e 69 6c 0a (defvar.htmlize-before-hook.nil.
38c0 20 20 22 48 6f 6f 6b 20 72 75 6e 20 62 65 66 6f 72 65 20 68 74 6d 6c 69 7a 69 6e 67 20 61 20 62 .."Hook.run.before.htmlizing.a.b
38e0 75 66 66 65 72 2e 0a 54 68 65 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 72 75 uffer..The.hook.functions.are.ru
3900 6e 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 20 62 75 66 66 65 72 20 28 6e 6f 74 20 74 68 65 20 n.in.the.source.buffer.(not.the.
3920 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 0a 62 75 66 66 65 72 29 2e 22 29 0a 0a 28 64 65 66 76 resulting.HTML.buffer).")..(defv
3940 61 72 20 68 74 6d 6c 69 7a 65 2d 61 66 74 65 72 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f ar.htmlize-after-hook.nil..."Hoo
3960 6b 20 72 75 6e 20 61 66 74 65 72 20 68 74 6d 6c 69 7a 69 6e 67 20 61 20 62 75 66 66 65 72 2e 0a k.run.after.htmlizing.a.buffer..
3980 55 6e 6c 69 6b 65 20 60 68 74 6d 6c 69 7a 65 2d 62 65 66 6f 72 65 2d 68 6f 6f 6b 27 2c 20 74 68 Unlike.`htmlize-before-hook',.th
39a0 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 72 75 6e 20 69 6e 20 74 68 65 20 67 65 6e ese.functions.are.run.in.the.gen
39c0 65 72 61 74 65 64 0a 48 54 4d 4c 20 62 75 66 66 65 72 2e 20 20 59 6f 75 20 6d 61 79 20 75 73 65 erated.HTML.buffer...You.may.use
39e0 20 74 68 65 6d 20 74 6f 20 6d 6f 64 69 66 79 20 74 68 65 20 6f 75 74 6c 6f 6f 6b 20 6f 66 20 74 .them.to.modify.the.outlook.of.t
3a00 68 65 20 66 69 6e 61 6c 20 48 54 4d 4c 0a 6f 75 74 70 75 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 he.final.HTML.output.")..(defvar
3a20 20 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 2d 68 6f 6f 6b 20 6e 69 6c 0a 20 20 22 48 6f 6f 6b 20 72 .htmlize-file-hook.nil..."Hook.r
3a40 75 6e 20 62 79 20 60 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 27 20 61 66 74 65 72 20 68 74 6d 6c 69 un.by.`htmlize-file'.after.htmli
3a60 7a 69 6e 67 20 61 20 66 69 6c 65 2c 20 62 75 74 20 62 65 66 6f 72 65 20 73 61 76 69 6e 67 20 69 zing.a.file,.but.before.saving.i
3a80 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 70 6c 61 t.")..(defvar.htmlize-buffer-pla
3aa0 63 65 73 29 0a 0c 0a 3b 3b 3b 20 53 6f 6d 65 20 63 72 6f 73 73 2d 45 6d 61 63 73 20 63 6f 6d 70 ces)...;;;.Some.cross-Emacs.comp
3ac0 61 74 69 62 69 6c 69 74 79 2e 0a 0a 3b 3b 20 57 65 20 6e 65 65 64 20 61 20 66 75 6e 63 74 69 6f atibility...;;.We.need.a.functio
3ae0 6e 20 74 68 61 74 20 65 66 66 69 63 69 65 6e 74 6c 79 20 66 69 6e 64 73 20 74 68 65 20 6e 65 78 n.that.efficiently.finds.the.nex
3b00 74 20 63 68 61 6e 67 65 20 6f 66 20 61 0a 3b 3b 20 70 72 6f 70 65 72 74 79 20 72 65 67 61 72 64 t.change.of.a.;;.property.regard
3b20 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 74 68 65 20 63 68 61 6e 67 65 20 6f 63 63 75 72 less.of.whether.the.change.occur
3b40 72 65 64 20 62 65 63 61 75 73 65 20 6f 66 20 61 0a 3b 3b 20 74 65 78 74 20 70 72 6f 70 65 72 74 red.because.of.a.;;.text.propert
3b60 79 20 6f 72 20 61 6e 20 65 78 74 65 6e 74 2f 6f 76 65 72 6c 61 79 2e 0a 28 64 65 66 75 6e 20 68 y.or.an.extent/overlay..(defun.h
3b80 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 63 68 61 6e 67 65 20 28 70 6f 73 20 70 72 6f 70 20 26 6f 70 tmlize-next-change.(pos.prop.&op
3ba0 74 69 6f 6e 61 6c 20 6c 69 6d 69 74 29 0a 20 20 28 69 66 20 70 72 6f 70 0a 20 20 20 20 20 20 28 tional.limit)...(if.prop.......(
3bc0 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 next-single-char-property-change
3be0 20 70 6f 73 20 70 72 6f 70 20 6e 69 6c 20 6c 69 6d 69 74 29 0a 20 20 20 20 28 6e 65 78 74 2d 63 .pos.prop.nil.limit).....(next-c
3c00 68 61 72 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 6c 69 6d 69 74 29 29 29 har-property-change.pos.limit)))
3c20 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6f 76 65 72 6c 61 79 2d 66 61 63 65 73 2d 61 ..(defun.htmlize-overlay-faces-a
3c40 74 20 28 70 6f 73 29 0a 20 20 28 64 65 6c 71 20 6e 69 6c 20 28 6d 61 70 63 61 72 20 28 6c 61 6d t.(pos)...(delq.nil.(mapcar.(lam
3c60 62 64 61 20 28 6f 29 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 20 27 66 61 63 65 29 29 20 28 bda.(o).(overlay-get.o.'face)).(
3c80 6f 76 65 72 6c 61 79 73 2d 61 74 20 70 6f 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c overlays-at.pos))))..(defun.html
3ca0 69 7a 65 2d 6e 65 78 74 2d 66 61 63 65 2d 63 68 61 6e 67 65 20 28 70 6f 73 20 26 6f 70 74 69 6f ize-next-face-change.(pos.&optio
3cc0 6e 61 6c 20 6c 69 6d 69 74 29 0a 20 20 3b 3b 20 28 68 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 63 68 nal.limit)...;;.(htmlize-next-ch
3ce0 61 6e 67 65 20 70 6f 73 20 27 66 61 63 65 20 6c 69 6d 69 74 29 20 77 6f 75 6c 64 20 73 6b 69 70 ange.pos.'face.limit).would.skip
3d00 20 6f 76 65 72 20 65 6e 74 69 72 65 0a 20 20 3b 3b 20 6f 76 65 72 6c 61 79 73 20 74 68 61 74 20 .over.entire...;;.overlays.that.
3d20 73 70 65 63 69 66 79 20 74 68 65 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 79 2c 20 65 76 65 specify.the.`face'.property,.eve
3d40 6e 20 77 68 65 6e 20 74 68 65 79 0a 20 20 3b 3b 20 63 6f 6e 74 61 69 6e 20 73 6d 61 6c 6c 65 72 n.when.they...;;.contain.smaller
3d60 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 74 68 61 74 20 61 6c 73 6f 20 73 70 65 63 69 .text.properties.that.also.speci
3d80 66 79 20 60 66 61 63 65 27 2e 0a 20 20 3b 3b 20 45 6d 61 63 73 20 64 69 73 70 6c 61 79 20 65 6e fy.`face'....;;.Emacs.display.en
3da0 67 69 6e 65 20 6d 65 72 67 65 73 20 74 68 6f 73 65 20 66 61 63 65 73 2c 20 61 6e 64 20 73 6f 20 gine.merges.those.faces,.and.so.
3dc0 6d 75 73 74 20 77 65 2e 0a 20 20 28 6f 72 20 6c 69 6d 69 74 0a 20 20 20 20 20 20 28 73 65 74 71 must.we....(or.limit.......(setq
3de0 20 6c 69 6d 69 74 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 6c 65 74 20 28 28 6e 65 .limit.(point-max)))...(let.((ne
3e00 78 74 2d 70 72 6f 70 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 xt-prop.(next-single-property-ch
3e20 61 6e 67 65 20 70 6f 73 20 27 66 61 63 65 20 6e 69 6c 20 6c 69 6d 69 74 29 29 0a 20 20 20 20 20 ange.pos.'face.nil.limit))......
3e40 20 20 20 28 6f 76 65 72 6c 61 79 2d 66 61 63 65 73 20 28 68 74 6d 6c 69 7a 65 2d 6f 76 65 72 6c ...(overlay-faces.(htmlize-overl
3e60 61 79 2d 66 61 63 65 73 2d 61 74 20 70 6f 73 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 70 ay-faces-at.pos))).....(while.(p
3e80 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6e 65 78 rogn..............(setq.pos.(nex
3ea0 74 2d 6f 76 65 72 6c 61 79 2d 63 68 61 6e 67 65 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 t-overlay-change.pos))..........
3ec0 20 20 20 20 28 61 6e 64 20 28 3c 20 70 6f 73 20 6e 65 78 74 2d 70 72 6f 70 29 0a 20 20 20 20 20 ....(and.(<.pos.next-prop)......
3ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 6f 76 65 72 6c 61 79 2d 66 61 63 65 .............(equal.overlay-face
3f00 73 20 28 68 74 6d 6c 69 7a 65 2d 6f 76 65 72 6c 61 79 2d 66 61 63 65 73 2d 61 74 20 70 6f 73 29 s.(htmlize-overlay-faces-at.pos)
3f20 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6d 69 6e 20 70 6f 73 20 6e 65 78 74 )))).....(setq.pos.(min.pos.next
3f40 2d 70 72 6f 70 29 29 0a 20 20 20 20 3b 3b 20 41 64 64 69 74 69 6f 6e 61 6c 6c 79 2c 20 77 65 20 -prop)).....;;.Additionally,.we.
3f60 69 6e 63 6c 75 64 65 20 74 68 65 20 65 6e 74 69 72 65 20 72 65 67 69 6f 6e 20 74 68 61 74 20 73 include.the.entire.region.that.s
3f80 70 65 63 69 66 69 65 73 20 74 68 65 0a 20 20 20 20 3b 3b 20 60 64 69 73 70 6c 61 79 27 20 70 72 pecifies.the.....;;.`display'.pr
3fa0 6f 70 65 72 74 79 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 operty......(when.(get-char-prop
3fc0 65 72 74 79 20 70 6f 73 20 27 64 69 73 70 6c 61 79 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 70 erty.pos.'display).......(setq.p
3fe0 6f 73 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 2d 63 68 os.(next-single-char-property-ch
4000 61 6e 67 65 20 70 6f 73 20 27 64 69 73 70 6c 61 79 20 6e 69 6c 20 6c 69 6d 69 74 29 29 29 0a 20 ange.pos.'display.nil.limit)))..
4020 20 20 20 70 6f 73 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 68 74 6d 6c 69 7a 65 2d 6c 65 78 6c ...pos))..(defmacro.htmlize-lexl
4040 65 74 20 28 26 72 65 73 74 20 6c 65 74 66 6f 72 6d 73 29 0a 20 20 28 64 65 63 6c 61 72 65 20 28 et.(&rest.letforms)...(declare.(
4060 69 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 6c 65 74 29 29 0a 20 20 28 69 66 20 28 61 6e indent.1).(debug.let))...(if.(an
4080 64 20 28 62 6f 75 6e 64 70 20 27 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 29 0a 20 20 20 20 d.(boundp.'lexical-binding).....
40a0 20 20 20 20 20 20 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 29 0a 20 20 20 20 20 20 60 28 .......lexical-binding).......`(
40c0 6c 65 74 20 2c 40 6c 65 74 66 6f 72 6d 73 29 0a 20 20 20 20 3b 3b 20 63 6c 20 65 78 74 65 6e 73 let.,@letforms).....;;.cl.extens
40e0 69 6f 6e 73 20 68 61 76 65 20 61 20 6d 61 63 72 6f 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 6c ions.have.a.macro.implementing.l
4100 65 78 69 63 61 6c 20 6c 65 74 0a 20 20 20 20 60 28 6c 65 78 69 63 61 6c 2d 6c 65 74 20 2c 40 6c exical.let.....`(lexical-let.,@l
4120 65 74 66 6f 72 6d 73 29 29 29 0a 0a 0c 0a 3b 3b 3b 20 54 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e etforms)))....;;;.Transformation
4140 20 6f 66 20 62 75 66 66 65 72 20 74 65 78 74 3a 20 48 54 4d 4c 20 65 73 63 61 70 65 73 2c 20 75 .of.buffer.text:.HTML.escapes,.u
4160 6e 74 61 62 69 66 69 63 61 74 69 6f 6e 2c 20 65 74 63 2e 0a 0a 28 64 65 66 76 61 72 20 68 74 6d ntabification,.etc...(defvar.htm
4180 6c 69 7a 65 2d 62 61 73 69 63 2d 63 68 61 72 61 63 74 65 72 2d 74 61 62 6c 65 0a 20 20 3b 3b 20 lize-basic-character-table...;;.
41a0 4d 61 70 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 20 30 2d 31 32 37 20 72 61 6e 67 Map.characters.in.the.0-127.rang
41c0 65 20 74 6f 20 65 69 74 68 65 72 20 6f 6e 65 2d 63 68 61 72 61 63 74 65 72 20 73 74 72 69 6e 67 e.to.either.one-character.string
41e0 73 0a 20 20 3b 3b 20 6f 72 20 74 6f 20 6e 75 6d 65 72 69 63 20 65 6e 74 69 74 69 65 73 2e 0a 20 s...;;.or.to.numeric.entities...
4200 20 28 6c 65 74 20 28 28 74 61 62 6c 65 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 31 32 38 20 3f .(let.((table.(make-vector.128.?
4220 5c 30 29 29 29 0a 20 20 20 20 3b 3b 20 4d 61 70 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 \0))).....;;.Map.characters.in.t
4240 68 65 20 33 32 2d 31 32 36 20 72 61 6e 67 65 20 74 6f 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 6f he.32-126.range.to.themselves,.o
4260 74 68 65 72 73 20 74 6f 0a 20 20 20 20 3b 3b 20 26 23 43 4f 44 45 20 65 6e 74 69 74 69 65 73 3b thers.to.....;;.&#CODE.entities;
4280 0a 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 31 32 38 29 0a 20 20 20 20 20 20 28 73 65 74 .....(dotimes.(i.128).......(set
42a0 66 20 28 61 72 65 66 20 74 61 62 6c 65 20 69 29 20 28 69 66 20 28 61 6e 64 20 28 3e 3d 20 69 20 f.(aref.table.i).(if.(and.(>=.i.
42c0 33 32 29 20 28 3c 3d 20 69 20 31 32 36 29 29 0a 09 09 09 20 20 20 20 20 20 20 28 63 68 61 72 2d 32).(<=.i.126))...........(char-
42e0 74 6f 2d 73 74 72 69 6e 67 20 69 29 0a 09 09 09 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 26 23 to-string.i).........(format."&#
4300 25 64 3b 22 20 69 29 29 29 29 0a 20 20 20 20 3b 3b 20 53 65 74 20 65 78 63 65 70 74 69 6f 6e 73 %d;".i)))).....;;.Set.exceptions
4320 20 6d 61 6e 75 61 6c 6c 79 2e 0a 20 20 20 20 28 73 65 74 66 0a 20 20 20 20 20 3b 3b 20 44 6f 6e .manually......(setf......;;.Don
4340 27 74 20 65 73 63 61 70 65 20 6e 65 77 6c 69 6e 65 2c 20 63 61 72 72 69 61 67 65 20 72 65 74 75 't.escape.newline,.carriage.retu
4360 72 6e 2c 20 61 6e 64 20 54 41 42 2e 0a 20 20 20 20 20 28 61 72 65 66 20 74 61 62 6c 65 20 3f 5c rn,.and.TAB.......(aref.table.?\
4380 6e 29 20 22 5c 6e 22 0a 20 20 20 20 20 28 61 72 65 66 20 74 61 62 6c 65 20 3f 5c 72 29 20 22 5c n)."\n"......(aref.table.?\r)."\
43a0 72 22 0a 20 20 20 20 20 28 61 72 65 66 20 74 61 62 6c 65 20 3f 5c 74 29 20 22 5c 74 22 0a 20 20 r"......(aref.table.?\t)."\t"...
43c0 20 20 20 3b 3b 20 45 73 63 61 70 65 20 26 2c 20 3c 2c 20 61 6e 64 20 3e 2e 0a 20 20 20 20 20 28 ...;;.Escape.&,.<,.and.>.......(
43e0 61 72 65 66 20 74 61 62 6c 65 20 3f 26 29 20 22 26 61 6d 70 3b 22 0a 20 20 20 20 20 28 61 72 65 aref.table.?&)."&amp;"......(are
4400 66 20 74 61 62 6c 65 20 3f 3c 29 20 22 26 6c 74 3b 22 0a 20 20 20 20 20 28 61 72 65 66 20 74 61 f.table.?<)."&lt;"......(aref.ta
4420 62 6c 65 20 3f 3e 29 20 22 26 67 74 3b 22 0a 20 20 20 20 20 3b 3b 20 4e 6f 74 20 65 73 63 61 70 ble.?>)."&gt;"......;;.Not.escap
4440 69 6e 67 20 27 22 27 20 62 75 79 73 20 75 73 20 61 20 6d 65 61 73 75 72 61 62 6c 65 20 73 70 65 ing.'"'.buys.us.a.measurable.spe
4460 65 64 75 70 2e 20 20 49 74 27 73 20 6f 6e 6c 79 0a 20 20 20 20 20 3b 3b 20 6e 65 63 65 73 73 61 edup...It's.only......;;.necessa
4480 72 79 20 74 6f 20 71 75 6f 74 65 20 69 74 20 66 6f 72 20 73 74 72 69 6e 67 73 20 75 73 65 64 20 ry.to.quote.it.for.strings.used.
44a0 69 6e 20 61 74 74 72 69 62 75 74 65 20 76 61 6c 75 65 73 2c 0a 20 20 20 20 20 3b 3b 20 77 68 69 in.attribute.values,......;;.whi
44c0 63 68 20 68 74 6d 6c 69 7a 65 20 64 6f 65 73 6e 27 74 20 74 79 70 69 63 61 6c 6c 79 20 64 6f 2e ch.htmlize.doesn't.typically.do.
44e0 0a 20 20 20 20 20 3b 28 61 72 65 66 20 74 61 62 6c 65 20 3f 5c 22 29 20 22 26 71 75 6f 74 3b 22 ......;(aref.table.?\")."&quot;"
4500 0a 20 20 20 20 20 29 0a 20 20 20 20 74 61 62 6c 65 29 29 0a 0a 3b 3b 20 41 20 63 61 63 68 65 20 ......).....table))..;;.A.cache.
4520 6f 66 20 48 54 4d 4c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 6e 6f 6e 2d 41 53 of.HTML.representation.of.non-AS
4540 43 49 49 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 44 65 70 65 6e 64 69 6e 67 0a 3b 3b 20 6f 6e CII.characters...Depending.;;.on
4560 20 74 68 65 20 73 65 74 74 69 6e 67 20 6f 66 20 60 68 74 6d 6c 69 7a 65 2d 63 6f 6e 76 65 72 74 .the.setting.of.`htmlize-convert
4580 2d 6e 6f 6e 61 73 63 69 69 2d 74 6f 2d 65 6e 74 69 74 69 65 73 27 2c 20 74 68 69 73 20 6d 61 70 -nonascii-to-entities',.this.map
45a0 73 0a 3b 3b 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 20 74 6f 20 65 69 74 s.;;.non-ASCII.characters.to.eit
45c0 68 65 72 20 22 26 23 3c 63 6f 64 65 3e 3b 22 20 6f 72 20 22 3c 63 68 61 72 3e 22 20 28 6d 61 70 her."&#<code>;".or."<char>".(map
45e0 63 6f 6e 63 61 74 27 73 0a 3b 3b 20 6d 61 70 70 65 72 20 6d 75 73 74 20 61 6c 77 61 79 73 20 72 concat's.;;.mapper.must.always.r
4600 65 74 75 72 6e 20 73 74 72 69 6e 67 73 29 2e 20 20 49 74 27 73 20 6f 6e 6c 79 20 66 69 6c 6c 65 eturn.strings)...It's.only.fille
4620 64 20 61 73 20 63 68 61 72 61 63 74 65 72 73 0a 3b 3b 20 61 72 65 20 65 6e 63 6f 75 6e 74 65 72 d.as.characters.;;.are.encounter
4640 65 64 2c 20 73 6f 20 74 68 61 74 20 69 6e 20 61 20 62 75 66 66 65 72 20 77 69 74 68 20 65 2e 67 ed,.so.that.in.a.buffer.with.e.g
4660 2e 20 46 72 65 6e 63 68 20 74 65 78 74 2c 20 69 74 20 77 69 6c 6c 0a 3b 3b 20 6f 6e 6c 79 20 65 ..French.text,.it.will.;;.only.e
4680 76 65 72 20 63 6f 6e 74 61 69 6e 20 46 72 65 6e 63 68 20 61 63 63 65 6e 74 65 64 20 63 68 61 72 ver.contain.French.accented.char
46a0 61 63 74 65 72 73 20 61 73 20 6b 65 79 73 2e 20 20 49 74 27 73 20 63 6c 65 61 72 65 64 0a 3b 3b acters.as.keys...It's.cleared.;;
46c0 20 6f 6e 20 65 61 63 68 20 65 6e 74 72 79 20 74 6f 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 .on.each.entry.to.htmlize-buffer
46e0 2d 31 20 74 6f 20 61 6c 6c 6f 77 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 20 6f 66 0a 3b 3b 20 -1.to.allow.modifications.of.;;.
4700 60 68 74 6d 6c 69 7a 65 2d 63 6f 6e 76 65 72 74 2d 6e 6f 6e 61 73 63 69 69 2d 74 6f 2d 65 6e 74 `htmlize-convert-nonascii-to-ent
4720 69 74 69 65 73 27 20 74 6f 20 74 61 6b 65 20 65 66 66 65 63 74 2e 0a 28 64 65 66 76 61 72 20 68 ities'.to.take.effect..(defvar.h
4740 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 20 tmlize-extended-character-cache.
4760 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 29 29 0a 0a 28 64 (make-hash-table.:test.'eq))..(d
4780 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 28 73 74 72 efun.htmlize-protect-string.(str
47a0 69 6e 67 29 0a 20 20 22 48 54 4d 4c 2d 70 72 6f 74 65 63 74 20 73 74 72 69 6e 67 2c 20 65 73 63 ing)..."HTML-protect.string,.esc
47c0 61 70 69 6e 67 20 48 54 4d 4c 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73 20 61 6e 64 20 49 31 aping.HTML.metacharacters.and.I1
47e0 38 4e 20 63 68 61 72 73 2e 22 0a 20 20 3b 3b 20 4f 6e 6c 79 20 70 72 6f 74 65 63 74 69 6e 67 20 8N.chars."...;;.Only.protecting.
4800 73 74 72 69 6e 67 73 20 74 68 61 74 20 61 63 74 75 61 6c 6c 79 20 63 6f 6e 74 61 69 6e 20 75 6e strings.that.actually.contain.un
4820 73 61 66 65 20 6f 72 20 6e 6f 6e 2d 41 53 43 49 49 0a 20 20 3b 3b 20 63 68 61 72 73 20 72 65 6d safe.or.non-ASCII...;;.chars.rem
4840 6f 76 65 73 20 61 20 6c 6f 74 20 6f 66 20 75 6e 6e 65 63 65 73 73 61 72 79 20 66 75 6e 63 61 6c oves.a.lot.of.unnecessary.funcal
4860 6c 73 20 61 6e 64 20 63 6f 6e 73 69 6e 67 2e 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 73 74 72 69 ls.and.consing....(if.(not.(stri
4880 6e 67 2d 6d 61 74 63 68 20 22 5b 5e 5c 72 5c 6e 5c 74 20 2d 25 27 2d 3b 3d 3f 2d 7e 5d 22 20 73 ng-match."[^\r\n\t.-%'-;=?-~]".s
48a0 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 28 6d 61 70 63 6f 6e tring)).......string.....(mapcon
48c0 63 61 74 20 28 6c 61 6d 62 64 61 20 28 63 68 61 72 29 0a 09 09 20 28 63 6f 6e 64 0a 09 09 20 20 cat.(lambda.(char)....(cond.....
48e0 28 28 3c 20 63 68 61 72 20 31 32 38 29 0a 09 09 20 20 20 3b 3b 20 41 53 43 49 49 3a 20 75 73 65 ((<.char.128)......;;.ASCII:.use
4900 20 68 74 6d 6c 69 7a 65 2d 62 61 73 69 63 2d 63 68 61 72 61 63 74 65 72 2d 74 61 62 6c 65 2e 0a .htmlize-basic-character-table..
4920 09 09 20 20 20 28 61 72 65 66 20 68 74 6d 6c 69 7a 65 2d 62 61 73 69 63 2d 63 68 61 72 61 63 74 .....(aref.htmlize-basic-charact
4940 65 72 2d 74 61 62 6c 65 20 63 68 61 72 29 29 0a 09 09 20 20 28 28 67 65 74 68 61 73 68 20 63 68 er-table.char)).....((gethash.ch
4960 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 ar.htmlize-extended-character-ca
4980 63 68 65 29 0a 09 09 20 20 20 3b 3b 20 57 65 27 76 65 20 61 6c 72 65 61 64 79 20 73 65 65 6e 20 che)......;;.We've.already.seen.
49a0 74 68 69 73 20 63 68 61 72 3b 20 72 65 74 75 72 6e 20 74 68 65 20 63 61 63 68 65 64 0a 09 09 20 this.char;.return.the.cached....
49c0 20 20 3b 3b 20 73 74 72 69 6e 67 2e 0a 09 09 20 20 20 29 0a 09 09 20 20 28 28 6e 6f 74 20 68 74 ..;;.string.......).....((not.ht
49e0 6d 6c 69 7a 65 2d 63 6f 6e 76 65 72 74 2d 6e 6f 6e 61 73 63 69 69 2d 74 6f 2d 65 6e 74 69 74 69 mlize-convert-nonascii-to-entiti
4a00 65 73 29 0a 09 09 20 20 20 3b 3b 20 49 66 20 63 6f 6e 76 65 72 73 69 6f 6e 20 74 6f 20 65 6e 74 es)......;;.If.conversion.to.ent
4a20 69 74 69 65 73 20 69 73 20 6e 6f 74 20 64 65 73 69 72 65 64 2c 20 61 6c 77 61 79 73 0a 09 09 20 ities.is.not.desired,.always....
4a40 20 20 3b 3b 20 63 6f 70 79 20 74 68 65 20 63 68 61 72 20 6c 69 74 65 72 61 6c 6c 79 2e 0a 09 09 ..;;.copy.the.char.literally....
4a60 20 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 63 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 ...(setf.(gethash.char.htmlize-e
4a80 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 29 0a 09 09 09 20 28 63 68 xtended-character-cache).....(ch
4aa0 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 68 61 72 29 29 29 0a 09 09 20 20 28 28 3c 20 63 68 61 ar-to-string.char))).....((<.cha
4ac0 72 20 32 35 36 29 0a 09 09 20 20 20 3b 3b 20 4c 61 74 69 6e 20 31 3a 20 6e 6f 20 6e 65 65 64 20 r.256)......;;.Latin.1:.no.need.
4ae0 74 6f 20 63 61 6c 6c 20 65 6e 63 6f 64 65 2d 63 68 61 72 2e 0a 09 09 20 20 20 28 73 65 74 66 20 to.call.encode-char.......(setf.
4b00 28 67 65 74 68 61 73 68 20 63 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 (gethash.char.htmlize-extended-c
4b20 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 29 0a 09 09 09 20 28 66 6f 72 6d 61 74 20 22 26 23 25 haracter-cache).....(format."&#%
4b40 64 3b 22 20 63 68 61 72 29 29 29 0a 09 09 20 20 28 28 65 6e 63 6f 64 65 2d 63 68 61 72 20 63 68 d;".char))).....((encode-char.ch
4b60 61 72 20 27 75 63 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d ar.'ucs)....................;;.M
4b80 75 73 74 20 63 68 65 63 6b 20 69 66 20 65 6e 63 6f 64 65 2d 63 68 61 72 20 77 6f 72 6b 73 20 66 ust.check.if.encode-char.works.f
4ba0 6f 72 20 43 48 41 52 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 or.CHAR;....................;;.i
4bc0 74 20 66 61 69 6c 73 20 66 6f 72 20 41 72 61 62 69 63 20 61 6e 64 20 70 6f 73 73 69 62 6c 79 20 t.fails.for.Arabic.and.possibly.
4be0 65 6c 73 65 77 68 65 72 65 2e 0a 09 09 20 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 63 elsewhere.......(setf.(gethash.c
4c00 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 har.htmlize-extended-character-c
4c20 61 63 68 65 29 0a 09 09 09 20 28 66 6f 72 6d 61 74 20 22 26 23 25 64 3b 22 20 28 65 6e 63 6f 64 ache).....(format."&#%d;".(encod
4c40 65 2d 63 68 61 72 20 63 68 61 72 20 27 75 63 73 29 29 29 29 0a 09 09 20 20 28 74 0a 09 09 20 20 e-char.char.'ucs)))).....(t.....
4c60 20 3b 3b 20 65 6e 63 6f 64 65 2d 63 68 61 72 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 66 6f 72 .;;.encode-char.doesn't.work.for
4c80 20 74 68 69 73 20 63 68 61 72 2e 20 20 43 6f 70 79 20 69 74 0a 09 09 20 20 20 3b 3b 20 75 6e 63 .this.char...Copy.it......;;.unc
4ca0 68 61 6e 67 65 64 20 61 6e 64 20 68 6f 70 65 20 66 6f 72 20 74 68 65 20 62 65 73 74 2e 0a 09 09 hanged.and.hope.for.the.best....
4cc0 20 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 63 68 61 72 20 68 74 6d 6c 69 7a 65 2d 65 ...(setf.(gethash.char.htmlize-e
4ce0 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d 63 61 63 68 65 29 0a 09 09 09 20 28 63 68 xtended-character-cache).....(ch
4d00 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 68 61 72 29 29 29 29 29 0a 09 20 20 20 20 20 20 20 73 ar-to-string.char))))).........s
4d20 74 72 69 6e 67 20 22 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 61 74 74 72 tring."")))..(defun.htmlize-attr
4d40 2d 65 73 63 61 70 65 20 28 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 4c 69 6b 65 20 68 74 6d 6c 69 -escape.(string)...;;.Like.htmli
4d60 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 2c 20 62 75 74 20 61 6c 73 6f 20 65 73 63 61 ze-protect-string,.but.also.esca
4d80 70 65 73 20 64 6f 75 62 6c 65 2d 71 75 6f 74 65 64 0a 20 20 3b 3b 20 73 74 72 69 6e 67 73 20 74 pes.double-quoted...;;.strings.t
4da0 6f 20 6d 61 6b 65 20 69 74 20 75 73 61 62 6c 65 20 69 6e 20 61 74 74 72 69 62 75 74 65 20 76 61 o.make.it.usable.in.attribute.va
4dc0 6c 75 65 73 2e 0a 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 28 68 74 6d 6c 69 7a 65 2d 70 72 lues....(setq.string.(htmlize-pr
4de0 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 otect-string.string))...(if.(not
4e00 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 22 22 20 73 74 72 69 6e 67 29 29 0a 20 20 20 .(string-match."\"".string))....
4e20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 ...string.....(mapconcat.(lambda
4e40 20 28 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 .(char)..................(if.(eq
4e60 6c 20 63 68 61 72 20 3f 5c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.char.?\").....................
4e80 20 22 26 71 75 6f 74 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 ."&quot;"....................(ch
4ea0 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 68 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ar-to-string.char)))............
4ec0 20 20 20 20 73 74 72 69 6e 67 20 22 22 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 68 74 6d 6c ....string."")))..(defsubst.html
4ee0 69 7a 65 2d 63 6f 6e 63 61 74 20 28 6c 69 73 74 29 0a 20 20 28 69 66 20 28 61 6e 64 20 28 63 6f ize-concat.(list)...(if.(and.(co
4f00 6e 73 70 20 6c 69 73 74 29 20 28 6e 75 6c 6c 20 28 63 64 72 20 6c 69 73 74 29 29 29 0a 20 20 20 nsp.list).(null.(cdr.list)))....
4f20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 73 74 72 69 6e 67 20 ...;;.Don't.create.a.new.string.
4f40 69 6e 20 74 68 65 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 20 77 68 65 72 65 20 74 68 65 20 6c 69 73 in.the.common.case.where.the.lis
4f60 74 20 6f 6e 6c 79 0a 20 20 20 20 20 20 3b 3b 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 6f 6e 65 20 t.only.......;;.consists.of.one.
4f80 65 6c 65 6d 65 6e 74 2e 0a 20 20 20 20 20 20 28 63 61 72 20 6c 69 73 74 29 0a 20 20 20 20 28 61 element........(car.list).....(a
4fa0 70 70 6c 79 20 23 27 63 6f 6e 63 61 74 20 6c 69 73 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 pply.#'concat.list)))..(defun.ht
4fc0 6d 6c 69 7a 65 2d 66 6f 72 6d 61 74 2d 6c 69 6e 6b 20 28 6c 69 6e 6b 70 72 6f 70 73 20 74 65 78 mlize-format-link.(linkprops.tex
4fe0 74 29 0a 20 20 28 6c 65 74 20 28 28 75 72 69 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 6c 69 6e t)...(let.((uri.(if.(stringp.lin
5000 6b 70 72 6f 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 6e 6b 70 72 6f kprops)..................linkpro
5020 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 6c 69 6e ps................(plist-get.lin
5040 6b 70 72 6f 70 73 20 3a 75 72 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 73 63 61 70 65 64 2d kprops.:uri))).........(escaped-
5060 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 74 65 78 text.(htmlize-protect-string.tex
5080 74 29 29 29 0a 20 20 20 20 28 69 66 20 75 72 69 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 t))).....(if.uri.........(format
50a0 20 22 3c 61 20 68 72 65 66 3d 5c 22 25 73 5c 22 3e 25 73 3c 2f 61 3e 22 20 28 68 74 6d 6c 69 7a ."<a.href=\"%s\">%s</a>".(htmliz
50c0 65 2d 61 74 74 72 2d 65 73 63 61 70 65 20 75 72 69 29 20 65 73 63 61 70 65 64 2d 74 65 78 74 29 e-attr-escape.uri).escaped-text)
50e0 0a 20 20 20 20 20 20 65 73 63 61 70 65 64 2d 74 65 78 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 .......escaped-text)))..(defun.h
5100 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 2d 6c 69 6e 6b 20 28 73 74 72 69 6e 67 29 0a 20 tmlize-escape-or-link.(string)..
5120 20 3b 3b 20 45 73 63 61 70 65 20 53 54 52 49 4e 47 20 61 6e 64 2f 6f 72 20 61 64 64 20 68 79 70 .;;.Escape.STRING.and/or.add.hyp
5140 65 72 6c 69 6e 6b 73 2e 20 20 53 54 52 49 4e 47 20 63 6f 6d 65 73 20 66 72 6f 6d 20 61 0a 20 20 erlinks...STRING.comes.from.a...
5160 3b 3b 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 2e 0a 20 20 28 6c 65 74 20 28 28 ;;.`display'.property....(let.((
5180 70 6f 73 20 30 29 20 28 65 6e 64 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 20 6f 75 74 pos.0).(end.(length.string)).out
51a0 6c 69 73 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 70 6f 73 20 65 6e 64 29 0a 20 20 20 list).....(while.(<.pos.end)....
51c0 20 20 20 28 6c 65 74 2a 20 28 28 6c 69 6e 6b 20 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 ...(let*.((link.(get-char-proper
51e0 74 79 20 70 6f 73 20 27 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 20 73 74 72 69 6e 67 29 29 0a 20 20 ty.pos.'htmlize-link.string))...
5200 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 6c 69 6e 6b 2d 63 68 61 6e 67 65 20 28 6e 65 ...........(next-link-change.(ne
5220 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 0a 20 20 20 20 20 20 xt-single-property-change.......
5240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 27 68 ..........................pos.'h
5260 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 20 73 74 72 69 6e 67 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 tmlize-link.string.end))........
5280 20 20 20 20 20 20 28 63 68 75 6e 6b 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 70 ......(chunk.(substring.string.p
52a0 6f 73 20 6e 65 78 74 2d 6c 69 6e 6b 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 os.next-link-change))).........(
52c0 70 75 73 68 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 6c 69 6e 6b 0a 20 20 20 20 20 20 push..........(cond.(link.......
52e0 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 6f 72 6d 61 74 2d 6c 69 6e 6b 20 6c ..........(htmlize-format-link.l
5300 69 6e 6b 20 63 68 75 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 67 65 74 ink.chunk))................((get
5320 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 30 20 27 68 74 6d 6c 69 7a 65 2d 6c 69 74 65 72 61 -char-property.0.'htmlize-litera
5340 6c 20 63 68 75 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 68 75 6e 6b 29 0a l.chunk).................chunk).
5360 20 20 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...............
5380 20 20 28 68 74 6d 6c 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 63 68 75 6e 6b 29 ..(htmlize-protect-string.chunk)
53a0 29 29 0a 20 20 20 20 20 20 20 20 20 6f 75 74 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 73 65 ))..........outlist).........(se
53c0 74 71 20 70 6f 73 20 6e 65 78 74 2d 6c 69 6e 6b 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 28 tq.pos.next-link-change))).....(
53e0 68 74 6d 6c 69 7a 65 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 6f 75 74 6c 69 73 74 htmlize-concat.(nreverse.outlist
5400 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 69 73 70 6c 61 79 2d 70 72 6f ))))..(defun.htmlize-display-pro
5420 70 2d 74 6f 2d 68 74 6d 6c 20 28 64 69 73 70 6c 61 79 20 74 65 78 74 29 0a 20 20 28 6c 65 74 20 p-to-html.(display.text)...(let.
5440 28 64 65 73 63 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 64 69 73 70 6c (desc).....(cond.((stringp.displ
5460 61 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 69 67 6e 6f 72 65 73 20 ay)............;;.Emacs.ignores.
5480 72 65 63 75 72 73 69 76 65 20 64 69 73 70 6c 61 79 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 20 20 recursive.display.properties....
54a0 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 2d 6c 69 6e 6b .........(htmlize-escape-or-link
54c0 20 64 69 73 70 6c 61 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 65 71 20 28 .display))...........((not.(eq.(
54e0 63 61 72 2d 73 61 66 65 20 64 69 73 70 6c 61 79 29 20 27 69 6d 61 67 65 29 29 0a 20 20 20 20 20 car-safe.display).'image))......
5500 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 74 65 ......(htmlize-protect-string.te
5520 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 28 73 65 74 71 20 64 65 73 63 xt))...........((null.(setq.desc
5540 20 28 66 75 6e 63 61 6c 6c 20 68 74 6d 6c 69 7a 65 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 6d 61 67 .(funcall.htmlize-transform-imag
5560 65 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 e...............................
5580 20 20 20 20 20 20 20 28 63 64 72 20 64 69 73 70 6c 61 79 29 20 74 65 78 74 29 29 29 0a 20 20 20 .......(cdr.display).text)))....
55a0 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 2d 6c 69 6e 6b 20 ........(htmlize-escape-or-link.
55c0 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 64 65 73 63 29 text))...........((stringp.desc)
55e0 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 65 73 63 61 70 65 2d 6f 72 2d 6c ............(htmlize-escape-or-l
5600 69 6e 6b 20 64 65 73 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 ink.desc))...........(t.........
5620 20 20 20 28 68 74 6d 6c 69 7a 65 2d 67 65 6e 65 72 61 74 65 2d 69 6d 61 67 65 20 64 65 73 63 20 ...(htmlize-generate-image.desc.
5640 74 65 78 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 73 74 72 69 6e 67 text)))))..(defun.htmlize-string
5660 2d 74 6f 2d 68 74 6d 6c 20 28 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 43 6f 6e 76 65 72 74 20 74 -to-html.(string)...;;.Convert.t
5680 68 65 20 73 74 72 69 6e 67 20 74 6f 20 48 54 4d 4c 2c 20 69 6e 63 6c 75 64 69 6e 67 20 69 6d 61 he.string.to.HTML,.including.ima
56a0 67 65 73 20 61 74 74 61 63 68 65 64 20 61 73 0a 20 20 3b 3b 20 60 64 69 73 70 6c 61 79 27 20 70 ges.attached.as...;;.`display'.p
56c0 72 6f 70 65 72 74 79 20 61 6e 64 20 6c 69 6e 6b 73 20 61 73 20 60 68 74 6d 6c 69 7a 65 2d 6c 69 roperty.and.links.as.`htmlize-li
56e0 6e 6b 27 20 70 72 6f 70 65 72 74 79 2e 20 20 49 6e 20 61 0a 20 20 3b 3b 20 73 74 72 69 6e 67 20 nk'.property...In.a...;;.string.
5700 77 69 74 68 6f 75 74 20 69 6d 61 67 65 73 20 6f 72 20 6c 69 6e 6b 73 2c 20 74 68 69 73 20 69 73 without.images.or.links,.this.is
5720 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 20 20 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 70 72 6f .equivalent.to...;;.`htmlize-pro
5740 74 65 63 74 2d 73 74 72 69 6e 67 27 2e 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 30 29 20 28 65 tect-string'....(let.((pos.0).(e
5760 6e 64 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 20 6f 75 74 6c 69 73 74 29 0a 20 20 20 nd.(length.string)).outlist)....
5780 20 28 77 68 69 6c 65 20 28 3c 20 70 6f 73 20 65 6e 64 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 .(while.(<.pos.end).......(let*.
57a0 28 28 64 69 73 70 6c 61 79 20 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 ((display.(get-char-property.pos
57c0 20 27 64 69 73 70 6c 61 79 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .'display.string))..............
57e0 28 6e 65 78 74 2d 64 69 73 70 6c 61 79 2d 63 68 61 6e 67 65 20 28 6e 65 78 74 2d 73 69 6e 67 6c (next-display-change.(next-singl
5800 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-property-change...............
5820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 27 64 69 73 70 6c 61 .....................pos.'displa
5840 79 20 73 74 72 69 6e 67 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 75 y.string.end))..............(chu
5860 6e 6b 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 70 6f 73 20 6e 65 78 74 2d 64 69 nk.(substring.string.pos.next-di
5880 73 70 6c 61 79 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 0a 20 20 splay-change))).........(push...
58a0 20 20 20 20 20 20 20 28 69 66 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(if.display..............
58c0 28 68 74 6d 6c 69 7a 65 2d 64 69 73 70 6c 61 79 2d 70 72 6f 70 2d 74 6f 2d 68 74 6d 6c 20 64 69 (htmlize-display-prop-to-html.di
58e0 73 70 6c 61 79 20 63 68 75 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 splay.chunk)............(htmlize
5900 2d 65 73 63 61 70 65 2d 6f 72 2d 6c 69 6e 6b 20 63 68 75 6e 6b 29 29 0a 20 20 20 20 20 20 20 20 -escape-or-link.chunk)).........
5920 20 6f 75 74 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 74 .outlist).........(setq.pos.next
5940 2d 64 69 73 70 6c 61 79 2d 63 68 61 6e 67 65 29 29 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d -display-change))).....(htmlize-
5960 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 6f 75 74 6c 69 73 74 29 29 29 29 0a 0a 28 64 concat.(nreverse.outlist))))..(d
5980 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 66 61 75 6c 74 2d 74 72 61 6e 73 66 6f 72 6d 2d 69 efun.htmlize-default-transform-i
59a0 6d 61 67 65 20 28 69 6d 67 70 72 6f 70 73 20 5f 74 65 78 74 29 0a 20 20 22 44 65 66 61 75 6c 74 mage.(imgprops._text)..."Default
59c0 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 20 6f 66 20 69 6d 61 67 65 20 64 65 73 63 72 69 70 .transformation.of.image.descrip
59e0 74 6f 72 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 75 73 61 62 6c 65 20 69 6e 20 48 54 4d 4c 2e tor.to.something.usable.in.HTML.
5a00 0a 0a 49 66 20 60 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 69 6d 61 67 65 73 27 20 69 73 20 6e 69 6c ..If.`htmlize-use-images'.is.nil
5a20 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 6e 69 ,.the.function.always.returns.ni
5a40 6c 2c 20 6d 65 61 6e 69 6e 67 0a 75 73 65 20 6f 72 69 67 69 6e 61 6c 20 74 65 78 74 2e 20 20 4f l,.meaning.use.original.text...O
5a60 74 68 65 72 77 69 73 65 2c 20 69 74 20 74 72 69 65 73 20 74 6f 20 66 69 6e 64 20 74 68 65 20 69 therwise,.it.tries.to.find.the.i
5a80 6d 61 67 65 20 66 6f 72 20 69 6d 61 67 65 73 20 74 68 61 74 0a 73 70 65 63 69 66 79 20 61 20 66 mage.for.images.that.specify.a.f
5aa0 69 6c 65 20 6e 61 6d 65 2e 20 20 49 66 20 60 68 74 6d 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c ile.name...If.`htmlize-force-inl
5ac0 69 6e 65 2d 69 6d 61 67 65 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 61 6c 73 6f 0a ine-images'.is.non-nil,.it.also.
5ae0 63 6f 6e 76 65 72 74 73 20 74 68 65 20 3a 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 20 74 6f 20 converts.the.:file.attribute.to.
5b00 3a 64 61 74 61 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 :data.and.returns.the.modified.p
5b20 72 6f 70 65 72 74 79 0a 6c 69 73 74 2e 22 0a 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 2d 75 roperty.list."...(when.htmlize-u
5b40 73 65 2d 69 6d 61 67 65 73 0a 20 20 20 20 28 77 68 65 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 69 se-images.....(when.(plist-get.i
5b60 6d 67 70 72 6f 70 73 20 3a 66 69 6c 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 6f 63 61 mgprops.:file).......(let.((loca
5b80 74 69 6f 6e 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 72 20 28 66 69 6e 64 2d 69 6d 61 67 65 tion.(plist-get.(cdr.(find-image
5ba0 20 28 6c 69 73 74 20 69 6d 67 70 72 6f 70 73 29 29 29 20 3a 66 69 6c 65 29 29 29 0a 20 20 20 20 .(list.imgprops))).:file))).....
5bc0 20 20 20 20 28 77 68 65 6e 20 6c 6f 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 ....(when.location...........(se
5be0 74 71 20 69 6d 67 70 72 6f 70 73 20 28 70 6c 69 73 74 2d 70 75 74 20 28 63 6f 70 79 2d 6c 69 73 tq.imgprops.(plist-put.(copy-lis
5c00 74 20 69 6d 67 70 72 6f 70 73 29 20 3a 66 69 6c 65 20 6c 6f 63 61 74 69 6f 6e 29 29 29 29 29 0a t.imgprops).:file.location))))).
5c20 20 20 20 20 28 69 66 20 68 74 6d 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c 69 6e 65 2d 69 6d 61 ....(if.htmlize-force-inline-ima
5c40 67 65 73 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 6f 63 61 74 69 6f 6e 20 28 70 6c 69 ges.........(let.((location.(pli
5c60 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 st-get.imgprops.:file)).........
5c80 20 20 20 20 20 20 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6c 6f 63 61 ......data)...........(when.loca
5ca0 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 tion.............(with-temp-buff
5cc0 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 er...............(condition-case
5ce0 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 .nil...................(progn...
5d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 ..................(insert-file-c
5d20 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 6c 6f 63 61 74 69 6f 6e 29 0a 20 20 20 20 ontents-literally.location).....
5d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 61 74 61 20 28 62 75 66 66 ................(setq.data.(buff
5d60 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 er-string))).................(er
5d80 72 6f 72 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 66 20 73 75 63 63 ror.nil))))...........;;.if.succ
5da0 65 73 73 66 75 6c 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6e 65 77 20 70 6c 69 73 74 2c 20 6f 74 essful,.return.the.new.plist,.ot
5dc0 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6e 69 6c 2c herwise.return...........;;.nil,
5de0 20 77 68 69 63 68 20 77 69 6c 6c 20 75 73 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 74 65 78 .which.will.use.the.original.tex
5e00 74 0a 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 t...........(and.data...........
5e20 20 20 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 28 70 6c 69 73 74 2d 70 75 74 20 69 6d 67 70 72 .....(plist-put.(plist-put.imgpr
5e40 6f 70 73 20 3a 66 69 6c 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ops.:file.nil)..................
5e60 20 20 20 20 20 20 20 20 20 3a 64 61 74 61 20 64 61 74 61 29 29 29 0a 20 20 20 20 20 20 69 6d 67 .........:data.data))).......img
5e80 70 72 6f 70 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 61 6c 74 2d 74 65 78 props)))..(defun.htmlize-alt-tex
5ea0 74 20 28 5f 69 6d 67 70 72 6f 70 73 20 6f 72 69 67 74 65 78 74 29 0a 20 20 28 61 6e 64 20 28 2f t.(_imgprops.origtext)...(and.(/
5ec0 3d 20 28 6c 65 6e 67 74 68 20 6f 72 69 67 74 65 78 74 29 20 30 29 0a 20 20 20 20 20 20 20 28 3c =.(length.origtext).0)........(<
5ee0 3d 20 28 6c 65 6e 67 74 68 20 6f 72 69 67 74 65 78 74 29 20 68 74 6d 6c 69 7a 65 2d 6d 61 78 2d =.(length.origtext).htmlize-max-
5f00 61 6c 74 2d 74 65 78 74 29 0a 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 alt-text)........(not.(string-ma
5f20 74 63 68 20 22 5b 5c 30 2d 5c 78 31 66 5d 22 20 6f 72 69 67 74 65 78 74 29 29 0a 20 20 20 20 20 tch."[\0-\x1f]".origtext))......
5f40 20 20 6f 72 69 67 74 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 6e ..origtext))..(defun.htmlize-gen
5f60 65 72 61 74 65 2d 69 6d 61 67 65 20 28 69 6d 67 70 72 6f 70 73 20 6f 72 69 67 74 65 78 74 29 0a erate-image.(imgprops.origtext).
5f80 20 20 28 6c 65 74 2a 20 28 28 61 6c 74 2d 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 61 6c 74 2d ..(let*.((alt-text.(htmlize-alt-
5fa0 74 65 78 74 20 69 6d 67 70 72 6f 70 73 20 6f 72 69 67 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 text.imgprops.origtext))........
5fc0 20 20 28 61 6c 74 2d 61 74 74 72 20 28 69 66 20 61 6c 74 2d 74 65 78 74 0a 20 20 20 20 20 20 20 ..(alt-attr.(if.alt-text........
5fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 61 6c 74 3d 5c 22 ................(format.".alt=\"
6000 25 73 5c 22 22 20 28 68 74 6d 6c 69 7a 65 2d 61 74 74 72 2d 65 73 63 61 70 65 20 61 6c 74 2d 74 %s\"".(htmlize-attr-escape.alt-t
6020 65 78 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 22 22 29 29 29 ext))......................"")))
6040 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 .....(cond.((plist-get.imgprops.
6060 3a 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 72 79 20 74 6f 20 66 69 6e 64 :file)............;;.Try.to.find
6080 20 74 68 65 20 69 6d 61 67 65 20 69 6e 20 69 6d 61 67 65 2d 6c 6f 61 64 2d 70 61 74 68 0a 20 20 .the.image.in.image-load-path...
60a0 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 6f 75 6e 64 2d 70 72 6f 70 73 20 28 63 64 .........(let*.((found-props.(cd
60c0 72 20 28 66 69 6e 64 2d 69 6d 61 67 65 20 28 6c 69 73 74 20 69 6d 67 70 72 6f 70 73 29 29 29 29 r.(find-image.(list.imgprops))))
60e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 20 28 6f 72 20 28 70 6c ...................(file.(or.(pl
6100 69 73 74 2d 67 65 74 20 66 6f 75 6e 64 2d 70 72 6f 70 73 20 3a 66 69 6c 65 29 0a 20 20 20 20 20 ist-get.found-props.:file)......
6120 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 6c 69 73 74 2d 67 65 .......................(plist-ge
6140 74 20 69 6d 67 70 72 6f 70 73 20 3a 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 t.imgprops.:file))))............
6160 20 20 28 66 6f 72 6d 61 74 20 22 3c 69 6d 67 20 73 72 63 3d 5c 22 25 73 5c 22 25 73 20 2f 3e 22 ..(format."<img.src=\"%s\"%s./>"
6180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 61 ......................(htmlize-a
61a0 74 74 72 2d 65 73 63 61 70 65 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66 ttr-escape.(file-relative-name.f
61c0 69 6c 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 61 6c 74 2d 61 ile))......................alt-a
61e0 74 74 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 ttr)))...........((plist-get.img
6200 70 72 6f 70 73 20 3a 64 61 74 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 props.:data)............(format.
6220 22 3c 69 6d 67 20 73 72 63 3d 5c 22 64 61 74 61 3a 69 6d 61 67 65 2f 25 73 3b 62 61 73 65 36 34 "<img.src=\"data:image/%s;base64
6240 2c 25 73 5c 22 25 73 20 2f 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ,%s\"%s./>"....................(
6260 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a 74 79 70 65 29 20 22 22 or.(plist-get.imgprops.:type).""
6280 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 73 65 36 34 2d 65 6e 63 )....................(base64-enc
62a0 6f 64 65 2d 73 74 72 69 6e 67 20 28 70 6c 69 73 74 2d 67 65 74 20 69 6d 67 70 72 6f 70 73 20 3a ode-string.(plist-get.imgprops.:
62c0 64 61 74 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 74 2d 61 74 data))....................alt-at
62e0 74 72 29 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 tr)))))..(defconst.htmlize-ellip
6300 73 69 73 20 22 2e 2e 2e 22 29 0a 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20 sis."...").(put-text-property.0.
6320 28 6c 65 6e 67 74 68 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 29 20 27 68 74 6d 6c 69 (length.htmlize-ellipsis).'htmli
6340 7a 65 2d 65 6c 6c 69 70 73 69 73 20 74 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 29 0a ze-ellipsis.t.htmlize-ellipsis).
6360 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 74 63 68 2d 69 6e 76 2d 73 70 65 63 20 28 .(defun.htmlize-match-inv-spec.(
6380 69 6e 76 29 0a 20 20 28 6d 65 6d 62 65 72 2a 20 69 6e 76 20 62 75 66 66 65 72 2d 69 6e 76 69 73 inv)...(member*.inv.buffer-invis
63a0 69 62 69 6c 69 74 79 2d 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 20 28 6c 61 ibility-spec............:key.(la
63c0 6d 62 64 61 20 28 69 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 mbda.(i)...................(if.(
63e0 73 79 6d 62 6f 6c 70 20 69 29 20 69 20 28 63 61 72 20 69 29 29 29 29 29 0a 0a 28 64 65 66 75 6e symbolp.i).i.(car.i)))))..(defun
6400 20 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 .htmlize-decode-invisibility-spe
6420 63 20 28 69 6e 76 69 73 69 62 6c 65 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 74 2c 20 6e 69 6c c.(invisible)...;;.Return.t,.nil
6440 2c 20 6f 72 20 60 65 6c 6c 69 70 73 69 73 27 2c 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 68 6f ,.or.`ellipsis',.depending.on.ho
6460 77 20 69 6e 76 69 73 69 62 6c 65 20 74 65 78 74 20 73 68 6f 75 6c 64 20 62 65 20 69 6e 73 65 72 w.invisible.text.should.be.inser
6480 74 65 64 2e 0a 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 6c 69 73 74 70 20 62 75 66 66 65 72 2d 69 ted.....(if.(not.(listp.buffer-i
64a0 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 29 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 62 nvisibility-spec)).......;;.If.b
64c0 75 66 66 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 20 69 73 20 6e 6f 74 20 61 uffer-invisibility-spec.is.not.a
64e0 20 6c 69 73 74 2c 20 74 68 65 6e 20 61 6c 6c 0a 20 20 20 20 20 20 3b 3b 20 63 68 61 72 61 63 74 .list,.then.all.......;;.charact
6500 65 72 73 20 77 69 74 68 20 6e 6f 6e 2d 6e 69 6c 20 60 69 6e 76 69 73 69 62 6c 65 27 20 70 72 6f ers.with.non-nil.`invisible'.pro
6520 70 65 72 74 79 20 61 72 65 20 76 69 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 28 6e 6f 74 20 69 6e perty.are.visible........(not.in
6540 76 69 73 69 62 6c 65 29 0a 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 visible)......;;.Otherwise,.the.
6560 76 61 6c 75 65 20 6f 66 20 61 20 6e 6f 6e 2d 6e 69 6c 20 60 69 6e 76 69 73 69 62 6c 65 27 20 70 value.of.a.non-nil.`invisible'.p
6580 72 6f 70 65 72 74 79 20 63 61 6e 20 62 65 3a 0a 20 20 20 20 3b 3b 20 31 2e 20 61 20 73 79 6d 62 roperty.can.be:.....;;.1..a.symb
65a0 6f 6c 20 2d 2d 20 6d 61 6b 65 20 74 68 65 20 74 65 78 74 20 69 6e 76 69 73 69 62 6c 65 20 69 66 ol.--.make.the.text.invisible.if
65c0 20 69 74 20 6d 61 74 63 68 65 73 0a 20 20 20 20 3b 3b 20 20 20 20 62 75 66 66 65 72 2d 69 6e 76 .it.matches.....;;....buffer-inv
65e0 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 2e 0a 20 20 20 20 3b 3b 20 32 2e 20 61 20 6c 69 73 74 isibility-spec......;;.2..a.list
6600 20 6f 66 20 73 79 6d 62 6f 6c 73 20 2d 2d 20 6d 61 6b 65 20 74 68 65 20 74 65 78 74 20 69 6e 76 .of.symbols.--.make.the.text.inv
6620 69 73 69 62 6c 65 20 69 66 0a 20 20 20 20 3b 3b 20 20 20 20 61 6e 79 20 73 79 6d 62 6f 6c 20 69 isible.if.....;;....any.symbol.i
6640 6e 20 74 68 65 20 6c 69 73 74 20 6d 61 74 63 68 65 73 0a 20 20 20 20 3b 3b 20 20 20 20 62 75 66 n.the.list.matches.....;;....buf
6660 66 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 70 65 63 2e 0a 20 20 20 20 3b 3b 20 49 66 fer-invisibility-spec......;;.If
6680 20 74 68 65 20 6d 61 74 63 68 20 6f 66 20 62 75 66 66 65 72 2d 69 6e 76 69 73 69 62 69 6c 69 74 .the.match.of.buffer-invisibilit
66a0 79 2d 73 70 65 63 20 68 61 73 20 61 20 6e 6f 6e 2d 6e 69 6c 0a 20 20 20 20 3b 3b 20 43 44 52 2c y-spec.has.a.non-nil.....;;.CDR,
66c0 20 72 65 70 6c 61 63 65 20 74 68 65 20 69 6e 76 69 73 69 62 6c 65 20 74 65 78 74 20 77 69 74 68 .replace.the.invisible.text.with
66e0 20 61 6e 20 65 6c 6c 69 70 73 69 73 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 20 28 .an.ellipsis......(let.((match.(
6700 69 66 20 28 73 79 6d 62 6f 6c 70 20 69 6e 76 69 73 69 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 if.(symbolp.invisible)..........
6720 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 74 63 68 2d 69 6e 76 2d 73 ............(htmlize-match-inv-s
6740 70 65 63 20 69 6e 76 69 73 69 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pec.invisible)..................
6760 20 20 28 73 6f 6d 65 20 23 27 68 74 6d 6c 69 7a 65 2d 6d 61 74 63 68 2d 69 6e 76 2d 73 70 65 63 ..(some.#'htmlize-match-inv-spec
6780 20 69 6e 76 69 73 69 62 6c 65 29 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c .invisible)))).......(cond.((nul
67a0 6c 20 6d 61 74 63 68 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 64 72 2d 73 61 l.match).t).............((cdr-sa
67c0 66 65 20 28 63 61 72 20 6d 61 74 63 68 29 29 20 27 65 6c 6c 69 70 73 69 73 29 0a 20 20 20 20 20 fe.(car.match)).'ellipsis)......
67e0 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 .......(t.nil)))))..(defun.htmli
6800 7a 65 2d 61 64 64 2d 62 65 66 6f 72 65 2d 61 66 74 65 72 2d 73 74 72 69 6e 67 73 20 28 62 65 67 ze-add-before-after-strings.(beg
6820 20 65 6e 64 20 74 65 78 74 29 0a 20 20 3b 3b 20 46 69 6e 64 20 6f 76 65 72 6c 61 79 73 20 73 70 .end.text)...;;.Find.overlays.sp
6840 65 63 69 66 79 69 6e 67 20 62 65 66 6f 72 65 2d 73 74 72 69 6e 67 20 61 6e 64 20 61 66 74 65 72 ecifying.before-string.and.after
6860 2d 73 74 72 69 6e 67 20 69 6e 20 5b 62 65 67 2c 0a 20 20 3b 3b 20 70 6f 73 29 2e 20 20 49 66 20 -string.in.[beg,...;;.pos)...If.
6880 61 6e 79 20 61 72 65 20 66 6f 75 6e 64 2c 20 73 70 6c 69 63 65 20 74 68 65 6d 20 69 6e 74 6f 20 any.are.found,.splice.them.into.
68a0 54 45 58 54 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6e 65 77 0a 20 20 3b 3b 20 74 65 78 TEXT.and.return.the.new...;;.tex
68c0 74 2e 0a 20 20 28 6c 65 74 20 28 61 64 64 69 74 69 6f 6e 73 29 0a 20 20 20 20 28 64 6f 6c 69 73 t....(let.(additions).....(dolis
68e0 74 20 28 6f 76 65 72 6c 61 79 20 28 6f 76 65 72 6c 61 79 73 2d 69 6e 20 62 65 67 20 65 6e 64 29 t.(overlay.(overlays-in.beg.end)
6900 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 65 66 6f 72 65 20 28 6f 76 65 72 6c 61 79 2d 67 ).......(let.((before.(overlay-g
6920 65 74 20 6f 76 65 72 6c 61 79 20 27 62 65 66 6f 72 65 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 et.overlay.'before-string)).....
6940 20 20 20 20 20 20 20 20 28 61 66 74 65 72 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 76 65 72 ........(after.(overlay-get.over
6960 6c 61 79 20 27 61 66 74 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 lay.'after-string))).........(wh
6980 65 6e 20 61 66 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28 en.after...........(push.(cons.(
69a0 2d 20 28 6f 76 65 72 6c 61 79 2d 65 6e 64 20 6f 76 65 72 6c 61 79 29 20 62 65 67 29 0a 20 20 20 -.(overlay-end.overlay).beg)....
69c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 66 74 65 72 29 0a 20 20 20 20 20 20 ...................after).......
69e0 20 20 20 20 20 20 20 20 20 20 61 64 64 69 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 28 77 ..........additions)).........(w
6a00 68 65 6e 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 hen.before...........(push.(cons
6a20 20 28 2d 20 28 6f 76 65 72 6c 61 79 2d 73 74 61 72 74 20 6f 76 65 72 6c 61 79 29 20 62 65 67 29 .(-.(overlay-start.overlay).beg)
6a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 29 0a 20 .......................before)..
6a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 64 64 69 74 69 6f 6e 73 29 29 29 29 0a 20 20 20 ...............additions))))....
6a80 20 28 69 66 20 61 64 64 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 65 .(if.additions.........(let.((te
6aa0 78 74 6c 69 73 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 70 6f xtlist.nil)...............(strpo
6ac0 73 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 61 64 64 20 28 73 74 s.0))...........(dolist.(add.(st
6ae0 61 62 6c 65 2d 73 6f 72 74 20 61 64 64 69 74 69 6f 6e 73 20 23 27 3c 20 3a 6b 65 79 20 23 27 63 able-sort.additions.#'<.:key.#'c
6b00 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 64 64 70 6f 73 20 28 ar)).............(let.((addpos.(
6b20 63 61 72 20 61 64 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 car.add))...................(add
6b40 74 65 78 74 20 28 63 64 72 20 61 64 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 text.(cdr.add)))...............(
6b60 70 75 73 68 20 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 73 74 72 70 6f 73 20 61 64 64 70 push.(substring.text.strpos.addp
6b80 6f 73 29 20 74 65 78 74 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 os).textlist)...............(pus
6ba0 68 20 61 64 64 74 65 78 74 20 74 65 78 74 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 h.addtext.textlist).............
6bc0 20 20 28 73 65 74 71 20 73 74 72 70 6f 73 20 61 64 64 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 ..(setq.strpos.addpos)))........
6be0 20 20 20 28 70 75 73 68 20 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 73 74 72 70 6f 73 29 ...(push.(substring.text.strpos)
6c00 20 74 65 78 74 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f .textlist)...........(apply.#'co
6c20 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 74 65 78 74 6c 69 73 74 29 29 29 0a 20 20 20 20 20 ncat.(nreverse.textlist)))......
6c40 20 74 65 78 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 6f 70 79 2d 70 72 .text)))..(defun.htmlize-copy-pr
6c60 6f 70 20 28 70 72 6f 70 20 62 65 67 20 65 6e 64 20 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 43 6f op.(prop.beg.end.string)...;;.Co
6c80 70 79 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 70 72 6f 70 65 72 74 79 20 66 72 6f 6d 20 74 py.the.specified.property.from.t
6ca0 68 65 20 73 70 65 63 69 66 69 65 64 20 72 65 67 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 3b 3b 20 he.specified.region.of.the...;;.
6cc0 62 75 66 66 65 72 20 74 6f 20 74 68 65 20 74 61 72 67 65 74 20 73 74 72 69 6e 67 2e 20 20 57 65 buffer.to.the.target.string...We
6ce0 20 63 61 6e 6e 6f 74 20 72 65 6c 79 20 6f 6e 20 45 6d 61 63 73 20 74 6f 20 63 6f 70 79 20 74 68 .cannot.rely.on.Emacs.to.copy.th
6d00 65 0a 20 20 3b 3b 20 70 72 6f 70 65 72 74 79 20 62 65 63 61 75 73 65 20 77 65 20 77 61 6e 74 20 e...;;.property.because.we.want.
6d20 74 6f 20 68 61 6e 64 6c 65 20 70 72 6f 70 65 72 74 69 65 73 20 63 6f 6d 69 6e 67 20 66 72 6f 6d to.handle.properties.coming.from
6d40 20 62 6f 74 68 0a 20 20 3b 3b 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 6f .both...;;.text.properties.and.o
6d60 76 65 72 6c 61 79 73 2e 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 62 65 67 29 29 0a 20 20 20 20 verlays....(let.((pos.beg)).....
6d80 28 77 68 69 6c 65 20 28 3c 20 70 6f 73 20 65 6e 64 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 (while.(<.pos.end).......(let.((
6da0 76 61 6c 75 65 20 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 70 72 6f value.(get-char-property.pos.pro
6dc0 70 29 29 0a 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 68 74 p)).............(next-change.(ht
6de0 6d 6c 69 7a 65 2d 6e 65 78 74 2d 63 68 61 6e 67 65 20 70 6f 73 20 70 72 6f 70 20 65 6e 64 29 29 mlize-next-change.pos.prop.end))
6e00 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 ).........(when.value...........
6e20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 2d 20 70 6f 73 20 62 65 67 29 20 28 (put-text-property.(-.pos.beg).(
6e40 2d 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -.next-change.beg)..............
6e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 20 76 61 6c 75 65 20 73 74 72 69 6e ................prop.value.strin
6e80 67 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 6e 65 78 74 2d 63 68 61 6e 67 g)).........(setq.pos.next-chang
6ea0 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 74 65 78 74 2d e)))))..(defun.htmlize-get-text-
6ec0 77 69 74 68 2d 64 69 73 70 6c 61 79 20 28 62 65 67 20 65 6e 64 29 0a 20 20 3b 3b 20 4c 69 6b 65 with-display.(beg.end)...;;.Like
6ee0 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 2c .buffer-substring-no-properties,
6f00 20 65 78 63 65 70 74 20 69 74 20 63 6f 70 69 65 73 20 74 68 65 0a 20 20 3b 3b 20 60 64 69 73 70 .except.it.copies.the...;;.`disp
6f20 6c 61 79 27 20 70 72 6f 70 65 72 74 79 20 66 72 6f 6d 20 74 68 65 20 62 75 66 66 65 72 2c 20 69 lay'.property.from.the.buffer,.i
6f40 66 20 66 6f 75 6e 64 2e 0a 20 20 28 6c 65 74 20 28 28 74 65 78 74 20 28 62 75 66 66 65 72 2d 73 f.found....(let.((text.(buffer-s
6f60 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 29 29 ubstring-no-properties.beg.end))
6f80 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 70 79 2d 70 72 6f 70 20 27 64 69 73 70 6c 61 ).....(htmlize-copy-prop.'displa
6fa0 79 20 62 65 67 20 65 6e 64 20 74 65 78 74 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 70 y.beg.end.text).....(htmlize-cop
6fc0 79 2d 70 72 6f 70 20 27 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 20 62 65 67 20 65 6e 64 20 74 65 78 y-prop.'htmlize-link.beg.end.tex
6fe0 74 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 61 64 64 2d 62 t).....(setq.text.(htmlize-add-b
7000 65 66 6f 72 65 2d 61 66 74 65 72 2d 73 74 72 69 6e 67 73 20 62 65 67 20 65 6e 64 20 74 65 78 74 efore-after-strings.beg.end.text
7020 29 29 0a 20 20 20 20 74 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 62 75 )).....text))..(defun.htmlize-bu
7040 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 69 6e 76 69 73 69 62 6c 65 20 28 62 65 67 ffer-substring-no-invisible.(beg
7060 20 65 6e 64 29 0a 20 20 3b 3b 20 4c 69 6b 65 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 .end)...;;.Like.buffer-substring
7080 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 2c 20 62 75 74 20 64 6f 6e 27 74 20 63 6f 70 79 20 69 -no-properties,.but.don't.copy.i
70a0 6e 76 69 73 69 62 6c 65 0a 20 20 3b 3b 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 72 65 67 69 6f nvisible...;;.parts.of.the.regio
70c0 6e 2e 20 20 57 68 65 72 65 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 n...Where.buffer-substring-no-pr
70e0 6f 70 65 72 74 69 65 73 0a 20 20 3b 3b 20 6d 61 6e 64 61 74 65 73 20 61 6e 20 65 6c 6c 69 70 73 operties...;;.mandates.an.ellips
7100 69 73 20 74 6f 20 62 65 20 73 68 6f 77 6e 2c 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 is.to.be.shown,.htmlize-ellipsis
7120 20 69 73 20 69 6e 73 65 72 74 65 64 2e 0a 20 20 28 6c 65 74 20 28 28 70 6f 73 20 62 65 67 29 0a .is.inserted....(let.((pos.beg).
7140 09 76 69 73 69 62 6c 65 2d 6c 69 73 74 20 69 6e 76 69 73 69 62 6c 65 20 73 68 6f 77 20 6c 61 73 .visible-list.invisible.show.las
7160 74 2d 73 68 6f 77 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 0a 20 20 20 20 3b 3b 20 49 74 65 72 61 t-show.next-change).....;;.Itera
7180 74 65 20 6f 76 65 72 20 74 68 65 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 60 69 6e 76 69 te.over.the.changes.in.the.`invi
71a0 73 69 62 6c 65 27 20 70 72 6f 70 65 72 74 79 20 61 6e 64 20 66 69 6c 74 65 72 0a 20 20 20 20 3b sible'.property.and.filter.....;
71c0 3b 20 6f 75 74 20 74 68 65 20 70 6f 72 74 69 6f 6e 73 20 77 68 65 72 65 20 69 74 27 73 20 6e 6f ;.out.the.portions.where.it's.no
71e0 6e 2d 6e 69 6c 2c 20 69 2e 65 2e 20 77 68 65 72 65 20 74 68 65 20 74 65 78 74 20 69 73 0a 20 20 n-nil,.i.e..where.the.text.is...
7200 20 20 3b 3b 20 69 6e 76 69 73 69 62 6c 65 2e 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 70 6f ..;;.invisible......(while.(<.po
7220 73 20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 76 69 73 69 62 6c 65 20 28 67 65 s.end).......(setq.invisible.(ge
7240 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 69 6e 76 69 73 69 62 6c 65 29 0a t-char-property.pos.'invisible).
7260 09 20 20 20 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 28 68 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 63 .....next-change.(htmlize-next-c
7280 68 61 6e 67 65 20 70 6f 73 20 27 69 6e 76 69 73 69 62 6c 65 20 65 6e 64 29 0a 20 20 20 20 20 20 hange.pos.'invisible.end).......
72a0 20 20 20 20 20 20 73 68 6f 77 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 69 6e 76 69 73 ......show.(htmlize-decode-invis
72c0 69 62 69 6c 69 74 79 2d 73 70 65 63 20 69 6e 76 69 73 69 62 6c 65 29 29 0a 20 20 20 20 20 20 28 ibility-spec.invisible)).......(
72e0 63 6f 6e 64 20 28 28 65 71 20 73 68 6f 77 20 74 29 0a 09 20 20 20 20 20 28 70 75 73 68 20 28 68 cond.((eq.show.t).......(push.(h
7300 74 6d 6c 69 7a 65 2d 67 65 74 2d 74 65 78 74 2d 77 69 74 68 2d 64 69 73 70 6c 61 79 20 70 6f 73 tmlize-get-text-with-display.pos
7320 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .next-change)...................
7340 20 76 69 73 69 62 6c 65 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e .visible-list)).............((an
7360 64 20 28 65 71 20 73 68 6f 77 20 27 65 6c 6c 69 70 73 69 73 29 0a 20 20 20 20 20 20 20 20 20 20 d.(eq.show.'ellipsis)...........
7380 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 6c 61 73 74 2d 73 68 6f 77 20 27 65 6c 6c 69 ........(not.(eq.last-show.'elli
73a0 70 73 69 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 66 psis))...................;;.Conf
73c0 6c 61 74 65 20 73 75 63 63 65 73 73 69 76 65 20 65 6c 6c 69 70 73 65 73 2e 0a 20 20 20 20 20 20 late.successive.ellipses........
73e0 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 ............(push.htmlize-ellips
7400 69 73 20 76 69 73 69 62 6c 65 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 is.visible-list)))).......(setq.
7420 70 6f 73 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 6c 61 73 74 2d 73 68 6f 77 20 73 68 6f 77 29 29 pos.next-change.last-show.show))
7440 0a 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 76 .....(htmlize-concat.(nreverse.v
7460 69 73 69 62 6c 65 2d 6c 69 73 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d isible-list))))..(defun.htmlize-
7480 74 72 69 6d 2d 65 6c 6c 69 70 73 69 73 20 28 74 65 78 74 29 0a 20 20 3b 3b 20 52 65 6d 6f 76 65 trim-ellipsis.(text)...;;.Remove
74a0 20 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 65 73 20 28 22 2e 2e 2e 22 29 20 66 72 6f 6d 20 74 .htmlize-ellipses.("...").from.t
74c0 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 54 45 58 54 20 69 66 20 69 74 0a 20 20 3b 3b 20 he.beginning.of.TEXT.if.it...;;.
74e0 73 74 61 72 74 73 20 77 69 74 68 20 69 74 2e 20 20 49 74 20 63 68 65 63 6b 73 20 66 6f 72 20 74 starts.with.it...It.checks.for.t
7500 68 65 20 73 70 65 63 69 61 6c 20 70 72 6f 70 65 72 74 79 20 6f 66 20 74 68 65 0a 20 20 3b 3b 20 he.special.property.of.the...;;.
7520 65 6c 6c 69 70 73 69 73 20 73 6f 20 69 74 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 6f 6e 20 6f ellipsis.so.it.doesn't.work.on.o
7540 72 64 69 6e 61 72 79 20 74 65 78 74 20 74 68 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 0a 20 20 rdinary.text.that.begins.with...
7560 3b 3b 20 22 2e 2e 2e 22 2e 0a 20 20 28 69 66 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 ;;."..."....(if.(get-text-proper
7580 74 79 20 30 20 27 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 20 74 65 78 74 29 0a 20 20 20 ty.0.'htmlize-ellipsis.text)....
75a0 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 28 6c 65 6e 67 74 68 20 68 74 6d 6c 69 ...(substring.text.(length.htmli
75c0 7a 65 2d 65 6c 6c 69 70 73 69 73 29 29 0a 20 20 20 20 74 65 78 74 29 29 0a 0a 28 64 65 66 63 6f ze-ellipsis)).....text))..(defco
75e0 6e 73 74 20 68 74 6d 6c 69 7a 65 2d 74 61 62 2d 73 70 61 63 65 73 0a 20 20 3b 3b 20 41 20 74 61 nst.htmlize-tab-spaces...;;.A.ta
7600 62 6c 65 20 6f 66 20 73 74 72 69 6e 67 73 20 77 69 74 68 20 73 70 61 63 65 73 2e 20 20 28 61 72 ble.of.strings.with.spaces...(ar
7620 65 66 20 68 74 6d 6c 69 7a 65 2d 74 61 62 2d 73 70 61 63 65 73 20 35 29 20 69 73 0a 20 20 3b 3b ef.htmlize-tab-spaces.5).is...;;
7640 20 6c 69 6b 65 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 35 20 3f 5c 20 29 2c 20 65 78 63 65 70 .like.(make-string.5.?\.),.excep
7660 74 20 69 74 20 64 6f 65 73 6e 27 74 20 63 6f 6e 73 2e 0a 20 20 28 6c 65 74 20 28 28 76 20 28 6d t.it.doesn't.cons....(let.((v.(m
7680 61 6b 65 2d 76 65 63 74 6f 72 20 33 32 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 64 6f 74 69 6d 65 ake-vector.32.nil))).....(dotime
76a0 73 20 28 69 20 28 6c 65 6e 67 74 68 20 76 29 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 28 61 72 s.(i.(length.v)).......(setf.(ar
76c0 65 66 20 76 20 69 29 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 69 20 3f 5c 20 29 29 29 0a 20 20 ef.v.i).(make-string.i.?\.)))...
76e0 20 20 76 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 75 6e 74 61 62 69 66 79 2d 73 ..v))..(defun.htmlize-untabify-s
7700 74 72 69 6e 67 20 28 74 65 78 74 20 73 74 61 72 74 2d 63 6f 6c 75 6d 6e 29 0a 20 20 22 55 6e 74 tring.(text.start-column)..."Unt
7720 61 62 69 66 79 20 54 45 58 54 2c 20 61 73 73 75 6d 69 6e 67 20 69 74 20 73 74 61 72 74 73 20 61 abify.TEXT,.assuming.it.starts.a
7740 74 20 53 54 41 52 54 2d 43 4f 4c 55 4d 4e 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6c 75 6d 6e t.START-COLUMN."...(let.((column
7760 20 73 74 61 72 74 2d 63 6f 6c 75 6d 6e 29 0a 09 28 6c 61 73 74 2d 6d 61 74 63 68 20 30 29 0a 09 .start-column)..(last-match.0)..
7780 28 63 68 75 6e 6b 2d 73 74 61 72 74 20 30 29 0a 09 63 68 75 6e 6b 73 20 6d 61 74 63 68 2d 70 6f (chunk-start.0)..chunks.match-po
77a0 73 20 74 61 62 2d 73 69 7a 65 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d s.tab-size).....(while.(string-m
77c0 61 74 63 68 20 22 5b 5c 74 5c 6e 5d 22 20 74 65 78 74 20 6c 61 73 74 2d 6d 61 74 63 68 29 0a 20 atch."[\t\n]".text.last-match)..
77e0 20 20 20 20 20 28 73 65 74 71 20 6d 61 74 63 68 2d 70 6f 73 20 28 6d 61 74 63 68 2d 62 65 67 69 .....(setq.match-pos.(match-begi
7800 6e 6e 69 6e 67 20 30 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 28 61 72 65 66 nning.0)).......(cond.((eq.(aref
7820 20 74 65 78 74 20 6d 61 74 63 68 2d 70 6f 73 29 20 3f 5c 74 29 0a 09 20 20 20 20 20 3b 3b 20 45 .text.match-pos).?\t).......;;.E
7840 6e 63 6f 75 6e 74 65 72 65 64 20 61 20 74 61 62 3a 20 63 72 65 61 74 65 20 61 20 63 68 75 6e 6b ncountered.a.tab:.create.a.chunk
7860 20 6f 66 20 74 65 78 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 0a 09 20 20 20 20 20 3b 3b 20 74 68 .of.text.followed.by.......;;.th
7880 65 20 65 78 70 61 6e 64 65 64 20 74 61 62 2e 0a 09 20 20 20 20 20 28 70 75 73 68 20 28 73 75 62 e.expanded.tab........(push.(sub
78a0 73 74 72 69 6e 67 20 74 65 78 74 20 63 68 75 6e 6b 2d 73 74 61 72 74 20 6d 61 74 63 68 2d 70 6f string.text.chunk-start.match-po
78c0 73 29 20 63 68 75 6e 6b 73 29 0a 09 20 20 20 20 20 3b 3b 20 49 6e 63 72 65 61 73 65 20 43 4f 4c s).chunks).......;;.Increase.COL
78e0 55 4d 4e 20 62 79 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 74 65 78 74 20 77 65 UMN.by.the.length.of.the.text.we
7900 27 76 65 0a 09 20 20 20 20 20 3b 3b 20 73 6b 69 70 70 65 64 20 73 69 6e 63 65 20 6c 61 73 74 20 've.......;;.skipped.since.last.
7920 74 61 62 20 6f 72 20 6e 65 77 6c 69 6e 65 2e 20 20 28 45 6e 63 6f 75 6e 74 65 72 69 6e 67 0a 09 tab.or.newline...(Encountering..
7940 20 20 20 20 20 3b 3b 20 6e 65 77 6c 69 6e 65 20 72 65 73 65 74 73 20 69 74 2e 29 0a 09 20 20 20 .....;;.newline.resets.it.).....
7960 20 20 28 69 6e 63 66 20 63 6f 6c 75 6d 6e 20 28 2d 20 6d 61 74 63 68 2d 70 6f 73 20 6c 61 73 74 ..(incf.column.(-.match-pos.last
7980 2d 6d 61 74 63 68 29 29 0a 09 20 20 20 20 20 3b 3b 20 43 61 6c 63 75 6c 61 74 65 20 74 61 62 20 -match)).......;;.Calculate.tab.
79a0 73 69 7a 65 20 62 61 73 65 64 20 6f 6e 20 74 61 62 2d 77 69 64 74 68 20 61 6e 64 20 43 4f 4c 55 size.based.on.tab-width.and.COLU
79c0 4d 4e 2e 0a 09 20 20 20 20 20 28 73 65 74 71 20 74 61 62 2d 73 69 7a 65 20 28 2d 20 74 61 62 2d MN........(setq.tab-size.(-.tab-
79e0 77 69 64 74 68 20 28 25 20 63 6f 6c 75 6d 6e 20 74 61 62 2d 77 69 64 74 68 29 29 29 0a 09 20 20 width.(%.column.tab-width)))....
7a00 20 20 20 3b 3b 20 45 78 70 61 6e 64 20 74 68 65 20 74 61 62 2c 20 63 61 72 65 66 75 6c 6c 79 20 ...;;.Expand.the.tab,.carefully.
7a20 72 65 63 72 65 61 74 69 6e 67 20 74 68 65 20 60 64 69 73 70 6c 61 79 27 0a 09 20 20 20 20 20 3b recreating.the.`display'.......;
7a40 3b 20 70 72 6f 70 65 72 74 79 20 69 66 20 6f 6e 65 20 77 61 73 20 6f 6e 20 74 68 65 20 54 41 42 ;.property.if.one.was.on.the.TAB
7a60 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 69 73 70 6c 61 79 20 28 67 ...............(let.((display.(g
7a80 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 6d 61 74 63 68 2d 70 6f 73 20 27 64 69 73 70 et-text-property.match-pos.'disp
7aa0 6c 61 79 20 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 lay.text))....................(e
7ac0 78 70 61 6e 64 65 64 2d 74 61 62 20 28 61 72 65 66 20 68 74 6d 6c 69 7a 65 2d 74 61 62 2d 73 70 xpanded-tab.(aref.htmlize-tab-sp
7ae0 61 63 65 73 20 74 61 62 2d 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aces.tab-size)))................
7b00 28 77 68 65 6e 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 (when.display..................(
7b20 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20 74 61 62 2d 73 69 7a 65 20 27 64 69 put-text-property.0.tab-size.'di
7b40 73 70 6c 61 79 20 64 69 73 70 6c 61 79 20 65 78 70 61 6e 64 65 64 2d 74 61 62 29 29 0a 20 20 20 splay.display.expanded-tab))....
7b60 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 78 70 61 6e 64 65 64 2d 74 61 62 20 63 ............(push.expanded-tab.c
7b80 68 75 6e 6b 73 29 29 0a 09 20 20 20 20 20 28 69 6e 63 66 20 63 6f 6c 75 6d 6e 20 74 61 62 2d 73 hunks)).......(incf.column.tab-s
7ba0 69 7a 65 29 0a 09 20 20 20 20 20 28 73 65 74 71 20 63 68 75 6e 6b 2d 73 74 61 72 74 20 28 31 2b ize).......(setq.chunk-start.(1+
7bc0 20 6d 61 74 63 68 2d 70 6f 73 29 29 29 0a 09 20 20 20 20 28 74 0a 09 20 20 20 20 20 3b 3b 20 52 .match-pos)))......(t.......;;.R
7be0 65 73 65 74 20 43 4f 4c 55 4d 4e 20 61 74 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 6c 69 6e 65 eset.COLUMN.at.beginning.of.line
7c00 2e 0a 09 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 75 6d 6e 20 30 29 29 29 0a 20 20 20 20 20 20 ........(setq.column.0))).......
7c20 28 73 65 74 71 20 6c 61 73 74 2d 6d 61 74 63 68 20 28 31 2b 20 6d 61 74 63 68 2d 70 6f 73 29 29 (setq.last-match.(1+.match-pos))
7c40 29 0a 20 20 20 20 3b 3b 20 49 66 20 6e 6f 20 63 68 75 6e 6b 73 20 68 61 76 65 20 62 65 65 6e 20 ).....;;.If.no.chunks.have.been.
7c60 61 6c 6c 6f 63 61 74 65 64 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 65 72 65 20 68 61 76 65 20 62 allocated,.it.means.there.have.b
7c80 65 65 6e 20 6e 6f 0a 20 20 20 20 3b 3b 20 74 61 62 73 20 74 6f 20 65 78 70 61 6e 64 2e 20 20 52 een.no.....;;.tabs.to.expand...R
7ca0 65 74 75 72 6e 20 54 45 58 54 20 75 6e 6d 6f 64 69 66 69 65 64 2e 0a 20 20 20 20 28 69 66 20 28 eturn.TEXT.unmodified......(if.(
7cc0 6e 75 6c 6c 20 63 68 75 6e 6b 73 29 0a 09 74 65 78 74 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 null.chunks)..text.......(when.(
7ce0 3c 20 63 68 75 6e 6b 2d 73 74 61 72 74 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 29 0a 09 3b 3b <.chunk-start.(length.text))..;;
7d00 20 50 75 73 68 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 63 68 75 6e 6b 2e 0a 09 28 70 75 73 .Push.the.remaining.chunk...(pus
7d20 68 20 28 73 75 62 73 74 72 69 6e 67 20 74 65 78 74 20 63 68 75 6e 6b 2d 73 74 61 72 74 29 20 63 h.(substring.text.chunk-start).c
7d40 68 75 6e 6b 73 29 29 0a 20 20 20 20 20 20 3b 3b 20 47 65 6e 65 72 61 74 65 20 74 68 65 20 6f 75 hunks)).......;;.Generate.the.ou
7d60 74 70 75 74 20 66 72 6f 6d 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 63 68 75 6e 6b 73 2e 0a tput.from.the.available.chunks..
7d80 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6e 63 61 74 20 28 6e 72 65 76 65 72 73 65 20 ......(htmlize-concat.(nreverse.
7da0 63 68 75 6e 6b 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 65 78 74 72 chunks)))))..(defun.htmlize-extr
7dc0 61 63 74 2d 74 65 78 74 20 28 62 65 67 20 65 6e 64 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 act-text.(beg.end.trailing-ellip
7de0 73 69 73 29 0a 20 20 3b 3b 20 45 78 74 72 61 63 74 20 62 75 66 66 65 72 20 74 65 78 74 2c 20 73 sis)...;;.Extract.buffer.text,.s
7e00 61 6e 73 20 74 68 65 20 69 6e 76 69 73 69 62 6c 65 20 70 61 72 74 73 2e 20 20 54 68 65 6e 0a 20 ans.the.invisible.parts...Then..
7e20 20 3b 3b 20 75 6e 74 61 62 69 66 79 20 69 74 20 61 6e 64 20 65 73 63 61 70 65 20 74 68 65 20 48 .;;.untabify.it.and.escape.the.H
7e40 54 4d 4c 20 6d 65 74 61 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 28 6c 65 74 20 28 28 74 65 78 TML.metacharacters....(let.((tex
7e60 74 20 28 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 69 t.(htmlize-buffer-substring-no-i
7e80 6e 76 69 73 69 62 6c 65 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 74 72 nvisible.beg.end))).....(when.tr
7ea0 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 65 78 74 ailing-ellipsis.......(setq.text
7ec0 20 28 68 74 6d 6c 69 7a 65 2d 74 72 69 6d 2d 65 6c 6c 69 70 73 69 73 20 74 65 78 74 29 29 29 0a .(htmlize-trim-ellipsis.text))).
7ee0 20 20 20 20 3b 3b 20 49 66 20 54 45 58 54 20 65 6e 64 73 20 75 70 20 65 6d 70 74 79 2c 20 64 6f ....;;.If.TEXT.ends.up.empty,.do
7f00 6e 27 74 20 63 68 61 6e 67 65 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 2e 0a 20 20 n't.change.trailing-ellipsis....
7f20 20 20 28 77 68 65 6e 20 28 3e 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 20 30 29 0a 20 20 20 20 ..(when.(>.(length.text).0).....
7f40 20 20 28 73 65 74 71 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 0a 20 20 20 20 20 20 ..(setq.trailing-ellipsis.......
7f60 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 31 2d 20 28 6c 65 ......(get-text-property.(1-.(le
7f80 6e 67 74 68 20 74 65 78 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ngth.text)).....................
7fa0 20 20 20 20 20 20 20 20 20 20 20 27 68 74 6d 6c 69 7a 65 2d 65 6c 6c 69 70 73 69 73 20 74 65 78 ...........'htmlize-ellipsis.tex
7fc0 74 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 2d 75 6e 74 61 62 69 66 79 0a t))).....(when.htmlize-untabify.
7fe0 20 20 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 75 6e 74 61 62 69 ......(setq.text.(htmlize-untabi
8000 66 79 2d 73 74 72 69 6e 67 20 74 65 78 74 20 28 63 75 72 72 65 6e 74 2d 63 6f 6c 75 6d 6e 29 29 fy-string.text.(current-column))
8020 29 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 68 74 6d 6c 69 7a 65 2d 73 74 72 69 6e )).....(setq.text.(htmlize-strin
8040 67 2d 74 6f 2d 68 74 6d 6c 20 74 65 78 74 29 29 0a 20 20 20 20 28 76 61 6c 75 65 73 20 74 65 78 g-to-html.text)).....(values.tex
8060 74 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 t.trailing-ellipsis)))..(defun.h
8080 74 6d 6c 69 7a 65 2d 64 65 73 70 61 6d 2d 61 64 64 72 65 73 73 20 28 73 74 72 69 6e 67 29 0a 20 tmlize-despam-address.(string)..
80a0 20 22 52 65 70 6c 61 63 65 20 65 76 65 72 79 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 20 27 40 ."Replace.every.occurrence.of.'@
80c0 27 20 69 6e 20 53 54 52 49 4e 47 20 77 69 74 68 20 25 34 30 2e 0a 54 68 69 73 20 69 73 20 75 73 '.in.STRING.with.%40..This.is.us
80e0 65 64 20 74 6f 20 70 72 6f 74 65 63 74 20 6d 61 69 6c 74 6f 20 6c 69 6e 6b 73 20 77 69 74 68 6f ed.to.protect.mailto.links.witho
8100 75 74 20 6d 6f 64 69 66 79 69 6e 67 20 74 68 65 69 72 20 6d 65 61 6e 69 6e 67 2e 22 0a 20 20 3b ut.modifying.their.meaning."...;
8120 3b 20 53 75 67 67 65 73 74 65 64 20 62 79 20 56 69 6c 6c 65 20 53 6b 79 74 74 61 2e 0a 20 20 28 ;.Suggested.by.Ville.Skytta....(
8140 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 40 22 20 73 74 72 69 6e 67 29 0a while.(string-match."@".string).
8160 20 20 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 ....(setq.string.(replace-match.
8180 22 25 34 30 22 20 6e 69 6c 20 74 20 73 74 72 69 6e 67 29 29 29 0a 20 20 73 74 72 69 6e 67 29 0a "%40".nil.t.string)))...string).
81a0 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 74 6d 70 2d 6f 76 65 72 6c 61 79 .(defun.htmlize-make-tmp-overlay
81c0 20 28 62 65 67 20 65 6e 64 20 70 72 6f 70 73 29 0a 20 20 28 6c 65 74 20 28 28 6f 76 65 72 6c 61 .(beg.end.props)...(let.((overla
81e0 79 20 28 6d 61 6b 65 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 28 y.(make-overlay.beg.end))).....(
8200 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 65 72 6c 61 79 20 27 68 74 6d 6c 69 7a 65 2d 74 6d 70 overlay-put.overlay.'htmlize-tmp
8220 2d 6f 76 65 72 6c 61 79 20 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 70 72 6f 70 73 0a 20 20 20 -overlay.t).....(while.props....
8240 20 20 20 28 6f 76 65 72 6c 61 79 2d 70 75 74 20 6f 76 65 72 6c 61 79 20 28 70 6f 70 20 70 72 6f ...(overlay-put.overlay.(pop.pro
8260 70 73 29 20 28 70 6f 70 20 70 72 6f 70 73 29 29 29 0a 20 20 20 20 6f 76 65 72 6c 61 79 29 29 0a ps).(pop.props))).....overlay)).
8280 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 6c 65 74 65 2d 74 6d 70 2d 6f 76 65 72 6c .(defun.htmlize-delete-tmp-overl
82a0 61 79 73 20 28 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 6f 76 65 72 6c 61 79 20 28 6f 76 65 72 6c ays.()...(dolist.(overlay.(overl
82c0 61 79 73 2d 69 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 ays-in.(point-min).(point-max)))
82e0 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 76 65 72 6c 61 79 20 .....(when.(overlay-get.overlay.
8300 27 68 74 6d 6c 69 7a 65 2d 74 6d 70 2d 6f 76 65 72 6c 61 79 29 0a 20 20 20 20 20 20 28 64 65 6c 'htmlize-tmp-overlay).......(del
8320 65 74 65 2d 6f 76 65 72 6c 61 79 20 6f 76 65 72 6c 61 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 ete-overlay.overlay))))..(defun.
8340 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 6c 69 6e 6b 2d 6f 76 65 72 6c 61 79 20 28 62 65 67 20 65 htmlize-make-link-overlay.(beg.e
8360 6e 64 20 75 72 69 29 0a 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 74 6d 70 2d 6f 76 65 72 nd.uri)...(htmlize-make-tmp-over
8380 6c 61 79 20 62 65 67 20 65 6e 64 20 60 28 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 20 28 3a 75 72 69 lay.beg.end.`(htmlize-link.(:uri
83a0 20 2c 75 72 69 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 72 65 61 74 65 .,uri))))..(defun.htmlize-create
83c0 2d 61 75 74 6f 2d 6c 69 6e 6b 73 20 28 29 0a 20 20 22 41 64 64 20 60 68 74 6d 6c 69 7a 65 2d 6c -auto-links.()..."Add.`htmlize-l
83e0 69 6e 6b 27 20 70 72 6f 70 65 72 74 79 20 74 6f 20 61 6c 6c 20 6d 61 69 6c 74 6f 20 6c 69 6e 6b ink'.property.to.all.mailto.link
8400 73 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 2e 22 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 s.in.the.buffer."...(save-excurs
8420 69 6f 6e 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 29 29 0a ion.....(goto-char.(point-min)).
8440 20 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 ....(while.(re-search-forward...
8460 20 20 20 20 20 20 20 20 20 20 22 3c 5c 5c 28 5c 5c 28 6d 61 69 6c 74 6f 3a 5c 5c 29 3f 5c 5c 28 .........."<\\(\\(mailto:\\)?\\(
8480 5b 2d 3d 2b 5f 2e 61 2d 7a 41 2d 5a 30 2d 39 5d 2b 40 5b 2d 5f 2e 61 2d 7a 41 2d 5a 30 2d 39 5d [-=+_.a-zA-Z0-9]+@[-_.a-zA-Z0-9]
84a0 2b 5c 5c 29 5c 5c 29 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 74 29 0a 20 20 20 +\\)\\)>".............nil.t)....
84c0 20 20 20 28 6c 65 74 2a 20 28 28 61 64 64 72 65 73 73 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 ...(let*.((address.(match-string
84e0 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 67 20 28 6d 61 74 63 68 2d 62 65 .3))..............(beg.(match-be
8500 67 69 6e 6e 69 6e 67 20 30 29 29 20 28 65 6e 64 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a ginning.0)).(end.(match-end.0)).
8520 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 69 20 28 63 6f 6e 63 61 74 20 22 6d 61 69 6c 74 .............(uri.(concat."mailt
8540 6f 3a 22 20 28 68 74 6d 6c 69 7a 65 2d 64 65 73 70 61 6d 2d 61 64 64 72 65 73 73 20 61 64 64 72 o:".(htmlize-despam-address.addr
8560 65 73 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 6c 69 ess)))).........(htmlize-make-li
8580 6e 6b 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 75 72 69 29 29 29 0a 20 20 20 20 28 67 nk-overlay.beg.end.uri))).....(g
85a0 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 77 68 69 6c 65 oto-char.(point-min)).....(while
85c0 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 3c 5c 5c 28 5c 5c 28 55 52 4c 3a .(re-search-forward."<\\(\\(URL:
85e0 5c 5c 29 3f 5c 5c 28 5b 61 2d 7a 41 2d 5a 5d 2b 3a 2f 2f 5b 5e 3b 5d 2b 5c 5c 29 5c 5c 29 3e 22 \\)?\\([a-zA-Z]+://[^;]+\\)\\)>"
8600 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 6e ...............................n
8620 69 6c 20 74 29 0a 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 6c 69 6e 6b 2d 6f il.t).......(htmlize-make-link-o
8640 76 65 72 6c 61 79 0a 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 verlay........(match-beginning.0
8660 29 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 29 ).(match-end.0).(match-string.3)
8680 29 29 29 29 0a 0a 3b 3b 20 54 65 73 74 73 20 66 6f 72 20 68 74 6d 6c 69 7a 65 2d 63 72 65 61 74 ))))..;;.Tests.for.htmlize-creat
86a0 65 2d 61 75 74 6f 2d 6c 69 6e 6b 73 3a 0a 0a 3b 3b 20 3c 6d 61 69 6c 74 6f 3a 68 6e 69 6b 73 69 e-auto-links:..;;.<mailto:hniksi
86c0 63 40 78 65 6d 61 63 73 2e 6f 72 67 3e 0a 3b 3b 20 3c 68 74 74 70 3a 2f 2f 66 6c 79 2e 73 72 6b c@xemacs.org>.;;.<http://fly.srk
86e0 2e 66 65 72 2e 68 72 3e 0a 3b 3b 20 3c 55 52 4c 3a 68 74 74 70 3a 2f 2f 77 77 77 2e 78 65 6d 61 .fer.hr>.;;.<URL:http://www.xema
8700 63 73 2e 6f 72 67 3e 0a 3b 3b 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 6d 61 69 6c 2d 61 72 63 68 cs.org>.;;.<http://www.mail-arch
8720 69 76 65 2e 63 6f 6d 2f 62 62 64 62 2d 69 6e 66 6f 40 78 65 6d 61 63 73 2e 6f 72 67 2f 3e 0a 3b ive.com/bbdb-info@xemacs.org/>.;
8740 3b 20 3c 68 6e 69 6b 73 69 63 40 78 65 6d 61 63 73 2e 6f 72 67 3e 0a 3b 3b 20 3c 78 61 6c 61 6e ;.<hniksic@xemacs.org>.;;.<xalan
8760 2d 64 65 76 2d 73 63 2e 31 30 31 34 38 35 36 37 33 31 39 2e 68 61 63 75 68 69 75 63 6b 6e 66 67 -dev-sc.10148567319.hacuhiucknfg
8780 6d 70 66 6e 6a 63 70 67 2d 6a 6f 68 6e 3d 64 6f 65 2e 63 6f 6d 40 78 6d 6c 2e 61 70 61 63 68 65 mpfnjcpg-john=doe.com@xml.apache
87a0 2e 6f 72 67 3e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 73 68 61 64 6f 77 2d 66 6f 72 .org>..(defun.htmlize-shadow-for
87c0 6d 2d 66 65 65 64 73 20 28 29 0a 20 20 28 6c 65 74 20 28 28 73 20 22 5c 6e 3c 68 72 20 2f 3e 22 m-feeds.()...(let.((s."\n<hr./>"
87e0 29 29 0a 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20 28 6c 65 6e )).....(put-text-property.0.(len
8800 67 74 68 20 73 29 20 27 68 74 6d 6c 69 7a 65 2d 6c 69 74 65 72 61 6c 20 74 20 73 29 0a 20 20 20 gth.s).'htmlize-literal.t.s)....
8820 20 28 6c 65 74 20 28 28 64 69 73 70 20 60 28 64 69 73 70 6c 61 79 20 2c 73 29 29 29 0a 20 20 20 .(let.((disp.`(display.,s)))....
8840 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5c 6e ...(while.(re-search-forward."\n
8860 5c 5e 4c 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62 65 67 20 \^L".nil.t).........(let*.((beg.
8880 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (match-beginning.0))............
88a0 20 20 20 20 28 65 6e 64 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 ....(end.(match-end.0)).........
88c0 20 20 20 20 20 20 20 28 66 6f 72 6d 2d 66 65 65 64 2d 70 6f 73 20 28 31 2b 20 62 65 67 29 29 0a .......(form-feed-pos.(1+.beg)).
88e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 6f 6e 27 74 20 70 72 6f 63 65 73 73 20 ...............;;.don't.process.
8900 5e 4c 20 69 66 20 69 6e 76 69 73 69 62 6c 65 20 6f 72 20 63 6f 76 65 72 65 64 20 62 79 20 60 64 ^L.if.invisible.or.covered.by.`d
8920 69 73 70 6c 61 79 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 6f 77 20 28 61 6e isplay'................(show.(an
8940 64 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 69 6e 76 69 73 69 62 69 6c 69 74 79 2d 73 d.(htmlize-decode-invisibility-s
8960 70 65 63 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 28 pec............................(
8980 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 66 6f 72 6d 2d 66 65 65 64 2d 70 6f 73 20 get-char-property.form-feed-pos.
89a0 27 69 6e 76 69 73 69 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'invisible))....................
89c0 20 20 20 20 20 20 20 28 6e 6f 74 20 28 67 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 20 66 .......(not.(get-char-property.f
89e0 6f 72 6d 2d 66 65 65 64 2d 70 6f 73 20 27 64 69 73 70 6c 61 79 29 29 29 29 29 0a 20 20 20 20 20 orm-feed-pos.'display)))))......
8a00 20 20 20 20 20 28 77 68 65 6e 20 73 68 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d .....(when.show.............(htm
8a20 6c 69 7a 65 2d 6d 61 6b 65 2d 74 6d 70 2d 6f 76 65 72 6c 61 79 20 62 65 67 20 65 6e 64 20 64 69 lize-make-tmp-overlay.beg.end.di
8a40 73 70 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 66 61 6e 67 sp)))))))..(defun.htmlize-defang
8a60 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 20 28 29 0a 20 20 3b 3b 20 4a 75 72 69 20 4c 69 -local-variables.()...;;.Juri.Li
8a80 6e 6b 6f 76 20 72 65 70 6f 72 74 73 20 74 68 61 74 20 61 6e 20 48 54 4d 4c 2d 69 7a 65 64 20 22 nkov.reports.that.an.HTML-ized."
8aa0 4c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 22 20 63 61 6e 20 6c 65 61 64 0a 20 20 3b 3b 20 76 Local.variables".can.lead...;;.v
8ac0 69 73 69 74 69 6e 67 20 74 68 65 20 48 54 4d 4c 20 74 6f 20 66 61 69 6c 20 77 69 74 68 20 22 4c isiting.the.HTML.to.fail.with."L
8ae0 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 6c 69 73 74 20 69 73 20 6e 6f 74 0a 20 20 3b 3b 20 ocal.variables.list.is.not...;;.
8b00 70 72 6f 70 65 72 6c 79 20 74 65 72 6d 69 6e 61 74 65 64 22 2e 20 20 48 65 20 73 75 67 67 65 73 properly.terminated"...He.sugges
8b20 74 65 64 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 70 68 72 61 73 65 20 74 6f 0a 20 20 3b 3b 20 ted.changing.the.phrase.to...;;.
8b40 73 79 6e 74 61 63 74 69 63 61 6c 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 48 54 4d 4c 20 74 68 syntactically.equivalent.HTML.th
8b60 61 74 20 45 6d 61 63 73 20 64 6f 65 73 6e 27 74 20 72 65 63 6f 67 6e 69 7a 65 2e 0a 20 20 28 67 at.Emacs.doesn't.recognize....(g
8b80 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 77 68 69 6c 65 20 28 oto-char.(point-min))...(while.(
8ba0 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a search-forward."Local.Variables:
8bc0 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 4c 6f 63 ".nil.t).....(replace-match."Loc
8be0 61 6c 20 56 61 72 69 61 62 6c 65 73 26 23 35 38 3b 22 20 6e 69 6c 20 74 29 29 29 0a 20 20 0a 0c al.Variables&#58;".nil.t))).....
8c00 0a 3b 3b 3b 20 43 6f 6c 6f 72 20 68 61 6e 64 6c 69 6e 67 2e 0a 0a 28 64 65 66 76 61 72 20 68 74 .;;;.Color.handling...(defvar.ht
8c20 6d 6c 69 7a 65 2d 78 2d 6c 69 62 72 61 72 79 2d 73 65 61 72 63 68 2d 70 61 74 68 0a 20 20 60 28 mlize-x-library-search-path...`(
8c40 2c 64 61 74 61 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 22 2f 65 74 63 2f 58 31 31 2f 72 67 ,data-directory....."/etc/X11/rg
8c60 62 2e 74 78 74 22 0a 20 20 20 20 22 2f 75 73 72 2f 73 68 61 72 65 2f 58 31 31 2f 72 67 62 2e 74 b.txt"....."/usr/share/X11/rgb.t
8c80 78 74 22 0a 20 20 20 20 3b 3b 20 74 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 74 68 69 73 xt".....;;.the.remainder.of.this
8ca0 20 6c 69 73 74 20 72 65 61 6c 6c 79 20 62 65 6c 6f 6e 67 73 20 69 6e 20 61 20 6d 75 73 65 75 6d .list.really.belongs.in.a.museum
8cc0 0a 20 20 20 20 22 2f 75 73 72 2f 58 31 31 52 36 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 ....."/usr/X11R6/lib/X11/"....."
8ce0 2f 75 73 72 2f 58 31 31 52 35 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c /usr/X11R5/lib/X11/"....."/usr/l
8d00 69 62 2f 58 31 31 52 36 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 69 62 2f 58 31 31 ib/X11R6/X11/"....."/usr/lib/X11
8d20 52 35 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 58 31 31 52 36 2f 6c R5/X11/"....."/usr/local/X11R6/l
8d40 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 58 31 31 52 35 2f 6c ib/X11/"....."/usr/local/X11R5/l
8d60 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 2f 58 31 31 ib/X11/"....."/usr/local/lib/X11
8d80 52 36 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 6c 69 62 2f 58 31 31 R6/X11/"....."/usr/local/lib/X11
8da0 52 35 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 58 31 31 2f 6c 69 62 2f 58 31 31 2f 22 R5/X11/"....."/usr/X11/lib/X11/"
8dc0 0a 20 20 20 20 22 2f 75 73 72 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6c ....."/usr/lib/X11/"....."/usr/l
8de0 6f 63 61 6c 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 58 33 38 36 2f 6c 69 ocal/lib/X11/"....."/usr/X386/li
8e00 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 78 33 38 36 2f 6c 69 62 2f 58 31 31 2f 22 b/X11/"....."/usr/x386/lib/X11/"
8e20 0a 20 20 20 20 22 2f 75 73 72 2f 58 46 72 65 65 38 36 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 ....."/usr/XFree86/lib/X11/"....
8e40 20 22 2f 75 73 72 2f 75 6e 73 75 70 70 6f 72 74 65 64 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 ."/usr/unsupported/lib/X11/"....
8e60 20 22 2f 75 73 72 2f 61 74 68 65 6e 61 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 ."/usr/athena/lib/X11/"....."/us
8e80 72 2f 6c 6f 63 61 6c 2f 78 31 31 72 35 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 r/local/x11r5/lib/X11/"....."/us
8ea0 72 2f 6c 70 70 2f 58 61 6d 70 6c 65 73 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 r/lpp/Xamples/lib/X11/"....."/us
8ec0 72 2f 6f 70 65 6e 77 69 6e 2f 6c 69 62 2f 58 31 31 2f 22 0a 20 20 20 20 22 2f 75 73 72 2f 6f 70 r/openwin/lib/X11/"....."/usr/op
8ee0 65 6e 77 69 6e 2f 73 68 61 72 65 2f 6c 69 62 2f 58 31 31 2f 22 29 29 0a 0a 28 64 65 66 75 6e 20 enwin/share/lib/X11/"))..(defun.
8f00 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 61 73 68 20 28 26 6f 70 74 htmlize-get-color-rgb-hash.(&opt
8f20 69 6f 6e 61 6c 20 72 67 62 2d 66 69 6c 65 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 68 61 73 68 ional.rgb-file)..."Return.a.hash
8f40 20 74 61 62 6c 65 20 6d 61 70 70 69 6e 67 20 58 20 63 6f 6c 6f 72 20 6e 61 6d 65 73 20 74 6f 20 .table.mapping.X.color.names.to.
8f60 52 47 42 20 76 61 6c 75 65 73 2e 0a 54 68 65 20 6b 65 79 73 20 69 6e 20 74 68 65 20 68 61 73 68 RGB.values..The.keys.in.the.hash
8f80 20 74 61 62 6c 65 20 61 72 65 20 58 31 31 20 63 6f 6c 6f 72 20 6e 61 6d 65 73 2c 20 61 6e 64 20 .table.are.X11.color.names,.and.
8fa0 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 74 68 65 0a 23 72 72 67 67 62 62 20 52 47 42 20 73 the.values.are.the.#rrggbb.RGB.s
8fc0 70 65 63 69 66 69 63 61 74 69 6f 6e 73 2c 20 65 78 74 72 61 63 74 65 64 20 66 72 6f 6d 20 60 72 pecifications,.extracted.from.`r
8fe0 67 62 2e 74 78 74 27 2e 0a 0a 49 66 20 52 47 42 2d 46 49 4c 45 20 69 73 20 6e 69 6c 2c 20 74 68 gb.txt'...If.RGB-FILE.is.nil,.th
9000 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 74 72 79 20 68 61 72 64 20 74 6f 20 66 69 6e 64 e.function.will.try.hard.to.find
9020 20 61 20 73 75 69 74 61 62 6c 65 20 66 69 6c 65 0a 69 6e 20 74 68 65 20 73 79 73 74 65 6d 20 64 .a.suitable.file.in.the.system.d
9040 69 72 65 63 74 6f 72 69 65 73 2e 0a 0a 49 66 20 6e 6f 20 72 67 62 2e 74 78 74 20 66 69 6c 65 20 irectories...If.no.rgb.txt.file.
9060 69 73 20 66 6f 75 6e 64 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 is.found,.return.nil."...(let.((
9080 72 67 62 2d 66 69 6c 65 20 28 6f 72 20 72 67 62 2d 66 69 6c 65 20 28 6c 6f 63 61 74 65 2d 66 69 rgb-file.(or.rgb-file.(locate-fi
90a0 6c 65 0a 09 09 09 09 22 72 67 62 2e 74 78 74 22 0a 09 09 09 09 68 74 6d 6c 69 7a 65 2d 78 2d 6c le....."rgb.txt".....htmlize-x-l
90c0 69 62 72 61 72 79 2d 73 65 61 72 63 68 2d 70 61 74 68 29 29 29 0a 09 28 68 61 73 68 20 6e 69 6c ibrary-search-path)))..(hash.nil
90e0 29 29 0a 20 20 20 20 28 77 68 65 6e 20 72 67 62 2d 66 69 6c 65 0a 20 20 20 20 20 20 28 77 69 74 )).....(when.rgb-file.......(wit
9100 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 09 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 h-temp-buffer..(insert-file-cont
9120 65 6e 74 73 20 72 67 62 2d 66 69 6c 65 29 0a 09 28 73 65 74 71 20 68 61 73 68 20 28 6d 61 6b 65 ents.rgb-file)..(setq.hash.(make
9140 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 0a 09 28 77 68 69 -hash-table.:test.'equal))..(whi
9160 6c 65 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a 09 20 20 28 63 6f 6e 64 20 28 28 6c 6f 6f 6b 69 le.(not.(eobp))....(cond.((looki
9180 6e 67 2d 61 74 20 22 5e 5c 5c 73 2d 2a 5c 5c 28 5b 21 23 5d 5c 5c 7c 24 5c 5c 29 22 29 0a 09 09 ng-at."^\\s-*\\([!#]\\|$\\)")...
91a0 20 3b 3b 20 53 6b 69 70 20 63 6f 6d 6d 65 6e 74 73 20 61 6e 64 20 65 6d 70 74 79 20 6c 69 6e 65 .;;.Skip.comments.and.empty.line
91c0 73 2e 0a 09 09 20 29 0a 09 09 28 28 6c 6f 6f 6b 69 6e 67 2d 61 74 0a 09 09 20 20 22 5b 20 5c 74 s.....)...((looking-at....."[.\t
91e0 5d 2a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5b 20 5c 74 5d 2b 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 ]*\\([0-9]+\\)[.\t]+\\([0-9]+\\)
9200 5b 20 5c 74 5d 2b 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5b 20 5c 74 5d 2b 5c 5c 28 2e 2a 5c 5c 29 [.\t]+\\([0-9]+\\)[.\t]+\\(.*\\)
9220 22 29 0a 09 09 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 28 64 6f 77 6e 63 61 73 65 20 28 ")....(setf.(gethash.(downcase.(
9240 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 34 29 29 20 68 61 73 68 29 0a 09 09 20 20 20 20 20 20 20 match-string.4)).hash)..........
9260 28 66 6f 72 6d 61 74 20 22 23 25 30 32 78 25 30 32 78 25 30 32 78 22 0a 09 09 09 20 20 20 20 20 (format."#%02x%02x%02x".........
9280 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e ..(string-to-number.(match-strin
92a0 67 20 31 29 29 0a 09 09 09 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 g.1))...........(string-to-numbe
92c0 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 29 29 0a 09 09 09 20 20 20 20 20 20 20 28 73 r.(match-string.2))...........(s
92e0 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 29 tring-to-number.(match-string.3)
9300 29 29 29 29 0a 09 09 28 74 0a 09 09 20 28 65 72 72 6f 72 0a 09 09 20 20 22 55 6e 72 65 63 6f 67 ))))...(t....(error....."Unrecog
9320 6e 69 7a 65 64 20 6c 69 6e 65 20 69 6e 20 25 73 3a 20 25 73 22 0a 09 09 20 20 72 67 62 2d 66 69 nized.line.in.%s:.%s".....rgb-fi
9340 6c 65 0a 09 09 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 6f 69 6e 74 29 le.....(buffer-substring.(point)
9360 20 28 70 72 6f 67 6e 20 28 65 6e 64 2d 6f 66 2d 6c 69 6e 65 29 20 28 70 6f 69 6e 74 29 29 29 29 .(progn.(end-of-line).(point))))
9380 29 29 0a 09 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 29 29 0a 20 20 20 20 68 61 ))....(forward-line.1)))).....ha
93a0 73 68 29 29 0a 0a 3b 3b 20 43 6f 6d 70 69 6c 65 20 74 68 65 20 52 47 42 20 6d 61 70 20 77 68 65 sh))..;;.Compile.the.RGB.map.whe
93c0 6e 20 6c 6f 61 64 65 64 2e 20 20 4f 6e 20 73 79 73 74 65 6d 73 20 77 68 65 72 65 20 72 67 62 2e n.loaded...On.systems.where.rgb.
93e0 74 78 74 20 69 73 0a 3b 3b 20 6d 69 73 73 69 6e 67 2c 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 txt.is.;;.missing,.the.value.of.
9400 74 68 65 20 76 61 72 69 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 6e 69 6c 2c 20 61 6e 64 20 72 67 the.variable.will.be.nil,.and.rg
9420 62 2e 74 78 74 20 77 69 6c 6c 0a 3b 3b 20 6e 6f 74 20 62 65 20 75 73 65 64 2e 0a 28 64 65 66 76 b.txt.will.;;.not.be.used..(defv
9440 61 72 20 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 61 73 68 20 28 68 74 6d 6c 69 ar.htmlize-color-rgb-hash.(htmli
9460 7a 65 2d 67 65 74 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 61 73 68 29 29 0a 0c 0a 3b 3b 3b 20 46 61 ze-get-color-rgb-hash))...;;;.Fa
9480 63 65 20 68 61 6e 64 6c 69 6e 67 2e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 ce.handling...(defun.htmlize-fac
94a0 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 28 66 61 63 65 20 66 67 29 0a 20 20 3b 3b 20 e-color-internal.(face.fg)...;;.
94c0 55 73 65 64 20 6f 6e 6c 79 20 75 6e 64 65 72 20 47 4e 55 20 45 6d 61 63 73 2e 20 20 52 65 74 75 Used.only.under.GNU.Emacs...Retu
94e0 72 6e 20 74 68 65 20 63 6f 6c 6f 72 20 6f 66 20 46 41 43 45 2c 20 62 75 74 20 64 6f 6e 27 74 0a rn.the.color.of.FACE,.but.don't.
9500 20 20 3b 3b 20 72 65 74 75 72 6e 20 22 75 6e 73 70 65 63 69 66 69 65 64 2d 66 67 22 20 6f 72 20 ..;;.return."unspecified-fg".or.
9520 22 75 6e 73 70 65 63 69 66 69 65 64 2d 62 67 22 2e 20 20 49 66 20 74 68 65 20 66 61 63 65 20 69 "unspecified-bg"...If.the.face.i
9540 73 0a 20 20 3b 3b 20 60 64 65 66 61 75 6c 74 27 20 61 6e 64 20 74 68 65 20 63 6f 6c 6f 72 20 69 s...;;.`default'.and.the.color.i
9560 73 20 75 6e 73 70 65 63 69 66 69 65 64 2c 20 6c 6f 6f 6b 20 75 70 20 74 68 65 20 63 6f 6c 6f 72 s.unspecified,.look.up.the.color
9580 20 69 6e 0a 20 20 3b 3b 20 66 72 61 6d 65 20 70 61 72 61 6d 65 74 65 72 73 2e 0a 20 20 28 6c 65 .in...;;.frame.parameters....(le
95a0 74 2a 20 28 28 66 75 6e 63 74 69 6f 6e 20 28 69 66 20 66 67 20 23 27 66 61 63 65 2d 66 6f 72 65 t*.((function.(if.fg.#'face-fore
95c0 67 72 6f 75 6e 64 20 23 27 66 61 63 65 2d 62 61 63 6b 67 72 6f 75 6e 64 29 29 0a 09 20 28 63 6f ground.#'face-background))...(co
95e0 6c 6f 72 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 20 66 61 63 65 20 6e 69 6c 20 74 lor.(funcall.function.face.nil.t
9600 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 66 61 63 65 20 27 64 65 66 ))).....(when.(and.(eq.face.'def
9620 61 75 6c 74 29 20 28 6e 75 6c 6c 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 ault).(null.color)).......(setq.
9640 63 6f 6c 6f 72 20 28 63 64 72 20 28 61 73 73 71 20 28 69 66 20 66 67 20 27 66 6f 72 65 67 72 6f color.(cdr.(assq.(if.fg.'foregro
9660 75 6e 64 2d 63 6f 6c 6f 72 20 27 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 29 0a 09 09 09 und-color.'background-color)....
9680 20 20 20 20 20 28 66 72 61 6d 65 2d 70 61 72 61 6d 65 74 65 72 73 29 29 29 29 29 0a 20 20 20 20 .....(frame-parameters))))).....
96a0 28 77 68 65 6e 20 28 6f 72 20 28 65 71 20 63 6f 6c 6f 72 20 27 75 6e 73 70 65 63 69 66 69 65 64 (when.(or.(eq.color.'unspecified
96c0 29 0a 09 20 20 20 20 20 20 28 65 71 75 61 6c 20 63 6f 6c 6f 72 20 22 75 6e 73 70 65 63 69 66 69 )........(equal.color."unspecifi
96e0 65 64 2d 66 67 22 29 0a 09 20 20 20 20 20 20 28 65 71 75 61 6c 20 63 6f 6c 6f 72 20 22 75 6e 73 ed-fg")........(equal.color."uns
9700 70 65 63 69 66 69 65 64 2d 62 67 22 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 6f 72 pecified-bg")).......(setq.color
9720 20 6e 69 6c 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 20 66 61 63 65 20 27 .nil)).....(when.(and.(eq.face.'
9740 64 65 66 61 75 6c 74 29 0a 09 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 63 6f 6c 6f 72 29 29 0a 20 default).........(null.color))..
9760 20 20 20 20 20 3b 3b 20 41 73 73 75 6d 69 6e 67 20 62 6c 61 63 6b 20 6f 6e 20 77 68 69 74 65 20 .....;;.Assuming.black.on.white.
9780 64 6f 65 73 6e 27 74 20 73 65 65 6d 20 72 69 67 68 74 2c 20 62 75 74 20 49 20 63 61 6e 27 74 20 doesn't.seem.right,.but.I.can't.
97a0 74 68 69 6e 6b 0a 20 20 20 20 20 20 3b 3b 20 6f 66 20 61 6e 79 74 68 69 6e 67 20 62 65 74 74 65 think.......;;.of.anything.bette
97c0 72 20 74 6f 20 64 6f 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 6f 72 20 28 69 66 20 66 r.to.do........(setq.color.(if.f
97e0 67 20 22 62 6c 61 63 6b 22 20 22 77 68 69 74 65 22 29 29 29 0a 20 20 20 20 63 6f 6c 6f 72 29 29 g."black"."white"))).....color))
9800 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 66 6f 72 65 67 72 6f 75 6e 64 ..(defun.htmlize-face-foreground
9820 20 28 66 61 63 65 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 .(face)...;;.Return.the.name.of.
9840 74 68 65 20 66 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 6f 66 20 46 41 43 45 2e 20 20 49 the.foreground.color.of.FACE...I
9860 66 20 46 41 43 45 20 64 6f 65 73 0a 20 20 3b 3b 20 6e 6f 74 20 73 70 65 63 69 66 79 20 61 20 66 f.FACE.does...;;.not.specify.a.f
9880 6f 72 65 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 20 20 28 oreground.color,.return.nil....(
98a0 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 66 61 63 65 htmlize-face-color-internal.face
98c0 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 62 61 63 6b 67 72 .t))..(defun.htmlize-face-backgr
98e0 6f 75 6e 64 20 28 66 61 63 65 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 ound.(face)...;;.Return.the.name
9900 20 6f 66 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 6f 66 20 46 41 43 45 .of.the.background.color.of.FACE
9920 2e 20 20 49 66 20 46 41 43 45 20 64 6f 65 73 0a 20 20 3b 3b 20 6e 6f 74 20 73 70 65 63 69 66 79 ...If.FACE.does...;;.not.specify
9940 20 61 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e .a.background.color,.return.nil.
9960 0a 20 20 3b 3b 20 47 4e 55 20 45 6d 61 63 73 2e 0a 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 ...;;.GNU.Emacs....(htmlize-face
9980 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 66 61 63 65 20 6e 69 6c 29 29 0a 0a 3b 3b 20 43 -color-internal.face.nil))..;;.C
99a0 6f 6e 76 65 72 74 20 43 4f 4c 4f 52 20 74 6f 20 74 68 65 20 23 52 52 47 47 42 42 20 73 74 72 69 onvert.COLOR.to.the.#RRGGBB.stri
99c0 6e 67 2e 20 20 49 66 20 43 4f 4c 4f 52 20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 74 68 61 74 ng...If.COLOR.is.already.in.that
99e0 0a 3b 3b 20 66 6f 72 6d 61 74 2c 20 69 74 27 73 20 6c 65 66 74 20 75 6e 63 68 61 6e 67 65 64 2e .;;.format,.it's.left.unchanged.
9a00 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 20 28 63 ..(defun.htmlize-color-to-rgb.(c
9a20 6f 6c 6f 72 29 0a 20 20 28 6c 65 74 20 28 28 72 67 62 2d 73 74 72 69 6e 67 20 6e 69 6c 29 29 0a olor)...(let.((rgb-string.nil)).
9a40 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 63 6f 6c 6f 72 29 0a 09 20 20 20 3b 3b 20 49 ....(cond.((null.color).....;;.I
9a60 67 6e 6f 72 65 20 6e 69 6c 20 43 4f 4c 4f 52 20 62 65 63 61 75 73 65 20 69 74 20 6d 65 61 6e 73 gnore.nil.COLOR.because.it.means
9a80 20 74 68 61 74 20 74 68 65 20 66 61 63 65 20 69 73 20 6e 6f 74 0a 09 20 20 20 3b 3b 20 73 70 65 .that.the.face.is.not.....;;.spe
9aa0 63 69 66 79 69 6e 67 20 61 6e 79 20 63 6f 6c 6f 72 2e 20 20 48 65 6e 63 65 20 28 68 74 6d 6c 69 cifying.any.color...Hence.(htmli
9ac0 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 20 6e 69 6c 29 0a 09 20 20 20 3b 3b 20 72 65 74 75 ze-color-to-rgb.nil).....;;.retu
9ae0 72 6e 73 20 6e 69 6c 2e 0a 09 20 20 20 29 0a 09 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 rns.nil......)....((string-match
9b00 20 22 5c 5c 60 23 22 20 63 6f 6c 6f 72 29 0a 09 20 20 20 3b 3b 20 54 68 65 20 63 6f 6c 6f 72 20 ."\\`#".color).....;;.The.color.
9b20 69 73 20 61 6c 72 65 61 64 79 20 69 6e 20 23 72 72 67 67 62 62 20 66 6f 72 6d 61 74 2e 0a 09 20 is.already.in.#rrggbb.format....
9b40 20 20 28 73 65 74 71 20 72 67 62 2d 73 74 72 69 6e 67 20 63 6f 6c 6f 72 29 29 0a 09 20 20 28 28 ..(setq.rgb-string.color))....((
9b60 61 6e 64 20 68 74 6d 6c 69 7a 65 2d 75 73 65 2d 72 67 62 2d 74 78 74 0a 09 09 68 74 6d 6c 69 7a and.htmlize-use-rgb-txt...htmliz
9b80 65 2d 63 6f 6c 6f 72 2d 72 67 62 2d 68 61 73 68 29 0a 09 20 20 20 3b 3b 20 55 73 65 20 6f 66 20 e-color-rgb-hash).....;;.Use.of.
9ba0 72 67 62 2e 74 78 74 20 69 73 20 72 65 71 75 65 73 74 65 64 2c 20 61 6e 64 20 69 74 27 73 20 61 rgb.txt.is.requested,.and.it's.a
9bc0 76 61 69 6c 61 62 6c 65 20 6f 6e 20 74 68 65 0a 09 20 20 20 3b 3b 20 73 79 73 74 65 6d 2e 20 20 vailable.on.the.....;;.system...
9be0 55 73 65 20 69 74 2e 0a 09 20 20 20 28 73 65 74 71 20 72 67 62 2d 73 74 72 69 6e 67 20 28 67 65 Use.it......(setq.rgb-string.(ge
9c00 74 68 61 73 68 20 28 64 6f 77 6e 63 61 73 65 20 63 6f 6c 6f 72 29 20 68 74 6d 6c 69 7a 65 2d 63 thash.(downcase.color).htmlize-c
9c20 6f 6c 6f 72 2d 72 67 62 2d 68 61 73 68 29 29 29 0a 09 20 20 28 74 0a 09 20 20 20 3b 3b 20 57 65 olor-rgb-hash)))....(t.....;;.We
9c40 27 72 65 20 67 65 74 74 69 6e 67 20 74 68 65 20 52 47 42 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 66 're.getting.the.RGB.components.f
9c60 72 6f 6d 20 45 6d 61 63 73 2e 0a 09 20 20 20 28 6c 65 74 20 28 28 72 67 62 20 28 6d 61 70 63 61 rom.Emacs......(let.((rgb.(mapca
9c80 72 20 28 6c 61 6d 62 64 61 20 28 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(lambda.(arg).................
9ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 61 72 67 20 32 35 36 29 29 0a 20 20 20 ................(/.arg.256))....
9cc0 20 20 20 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 63 6f 6c 6f ...........................(colo
9ce0 72 2d 76 61 6c 75 65 73 20 63 6f 6c 6f 72 29 29 29 29 0a 09 20 20 20 20 20 28 77 68 65 6e 20 72 r-values.color)))).......(when.r
9d00 67 62 0a 09 20 20 20 20 20 20 20 28 73 65 74 71 20 72 67 62 2d 73 74 72 69 6e 67 20 28 61 70 70 gb.........(setq.rgb-string.(app
9d20 6c 79 20 23 27 66 6f 72 6d 61 74 20 22 23 25 30 32 78 25 30 32 78 25 30 32 78 22 20 72 67 62 29 ly.#'format."#%02x%02x%02x".rgb)
9d40 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 52 47 42 2d 53 54 52 49 4e 47 20 69 73 20 73 74 ))))).....;;.If.RGB-STRING.is.st
9d60 69 6c 6c 20 6e 69 6c 2c 20 69 74 20 6d 65 61 6e 73 20 74 68 65 20 63 6f 6c 6f 72 20 63 61 6e 6e ill.nil,.it.means.the.color.cann
9d80 6f 74 20 62 65 20 66 6f 75 6e 64 2c 0a 20 20 20 20 3b 3b 20 66 6f 72 20 77 68 61 74 65 76 65 72 ot.be.found,.....;;.for.whatever
9da0 20 72 65 61 73 6f 6e 2e 20 20 49 6e 20 74 68 61 74 20 63 61 73 65 20 6a 75 73 74 20 70 75 6e 74 .reason...In.that.case.just.punt
9dc0 20 61 6e 64 20 72 65 74 75 72 6e 20 43 4f 4c 4f 52 2e 0a 20 20 20 20 3b 3b 20 4d 6f 73 74 20 62 .and.return.COLOR......;;.Most.b
9de0 72 6f 77 73 65 72 73 20 73 75 70 70 6f 72 74 20 61 20 64 65 63 65 6e 74 20 73 65 74 20 6f 66 20 rowsers.support.a.decent.set.of.
9e00 63 6f 6c 6f 72 20 6e 61 6d 65 73 20 61 6e 79 77 61 79 2e 0a 20 20 20 20 28 6f 72 20 72 67 62 2d color.names.anyway......(or.rgb-
9e20 73 74 72 69 6e 67 20 63 6f 6c 6f 72 29 29 29 0a 0a 3b 3b 20 57 65 20 73 74 6f 72 65 20 74 68 65 string.color)))..;;.We.store.the
9e40 20 66 61 63 65 20 70 72 6f 70 65 72 74 69 65 73 20 77 65 20 63 61 72 65 20 61 62 6f 75 74 20 69 .face.properties.we.care.about.i
9e60 6e 74 6f 20 61 6e 0a 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 27 20 74 79 70 65 nto.an.;;.`htmlize-fstruct'.type
9e80 2e 20 20 54 68 61 74 20 77 61 79 20 77 65 20 6f 6e 6c 79 20 68 61 76 65 20 74 6f 20 61 6e 61 6c ...That.way.we.only.have.to.anal
9ea0 79 7a 65 20 66 61 63 65 0a 3b 3b 20 70 72 6f 70 65 72 74 69 65 73 2c 20 77 68 69 63 68 20 63 61 yze.face.;;.properties,.which.ca
9ec0 6e 20 62 65 20 74 69 6d 65 20 63 6f 6e 73 75 6d 69 6e 67 2c 20 6f 6e 63 65 20 70 65 72 20 65 61 n.be.time.consuming,.once.per.ea
9ee0 63 68 20 66 61 63 65 2e 20 20 54 68 65 0a 3b 3b 20 6d 61 70 70 69 6e 67 20 62 65 74 77 65 65 6e ch.face...The.;;.mapping.between
9f00 20 45 6d 61 63 73 20 66 61 63 65 73 20 61 6e 64 20 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 .Emacs.faces.and.htmlize-fstruct
9f20 73 20 69 73 20 65 73 74 61 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 68 74 6d 6c 69 7a 65 2d 6d s.is.established.by.;;.htmlize-m
9f40 61 6b 65 2d 66 61 63 65 2d 6d 61 70 2e 20 20 54 68 65 20 6e 61 6d 65 20 22 66 73 74 72 75 63 74 ake-face-map...The.name."fstruct
9f60 22 20 72 65 66 65 72 73 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 6f 66 0a 3b 3b 20 74 79 70 65 ".refers.to.variables.of.;;.type
9f80 20 60 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 27 2c 20 77 68 69 6c 65 20 74 68 65 20 74 65 .`htmlize-fstruct',.while.the.te
9fa0 72 6d 20 22 66 61 63 65 22 20 69 73 20 72 65 73 65 72 76 65 64 20 66 6f 72 20 45 6d 61 63 73 0a rm."face".is.reserved.for.Emacs.
9fc0 3b 3b 20 66 61 63 65 73 2e 0a 0a 28 64 65 66 73 74 72 75 63 74 20 68 74 6d 6c 69 7a 65 2d 66 73 ;;.faces...(defstruct.htmlize-fs
9fe0 74 72 75 63 74 0a 20 20 66 6f 72 65 67 72 6f 75 6e 64 09 09 09 09 3b 20 66 6f 72 65 67 72 6f 75 truct...foreground....;.foregrou
a000 6e 64 20 63 6f 6c 6f 72 2c 20 23 72 72 67 67 62 62 0a 20 20 62 61 63 6b 67 72 6f 75 6e 64 09 09 nd.color,.#rrggbb...background..
a020 09 09 3b 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 2c 20 23 72 72 67 67 62 62 0a 20 20 ..;.background.color,.#rrggbb...
a040 73 69 7a 65 09 09 09 09 09 3b 20 73 69 7a 65 0a 20 20 62 6f 6c 64 70 09 09 09 09 09 3b 20 77 68 size.....;.size...boldp.....;.wh
a060 65 74 68 65 72 20 66 61 63 65 20 69 73 20 62 6f 6c 64 0a 20 20 69 74 61 6c 69 63 70 09 09 09 09 ether.face.is.bold...italicp....
a080 3b 20 77 68 65 74 68 65 72 20 66 61 63 65 20 69 73 20 69 74 61 6c 69 63 0a 20 20 75 6e 64 65 72 ;.whether.face.is.italic...under
a0a0 6c 69 6e 65 70 09 09 09 09 3b 20 77 68 65 74 68 65 72 20 66 61 63 65 20 69 73 20 75 6e 64 65 72 linep....;.whether.face.is.under
a0c0 6c 69 6e 65 64 0a 20 20 6f 76 65 72 6c 69 6e 65 70 09 09 09 09 3b 20 77 68 65 74 68 65 72 20 66 lined...overlinep....;.whether.f
a0e0 61 63 65 20 69 73 20 6f 76 65 72 6c 69 6e 65 64 0a 20 20 73 74 72 69 6b 65 70 09 09 09 09 3b 20 ace.is.overlined...strikep....;.
a100 77 68 65 74 68 65 72 20 66 61 63 65 20 69 73 20 73 74 72 75 63 6b 20 74 68 72 6f 75 67 68 0a 20 whether.face.is.struck.through..
a120 20 63 73 73 2d 6e 61 6d 65 09 09 09 09 3b 20 43 53 53 20 6e 61 6d 65 20 6f 66 20 66 61 63 65 0a .css-name....;.CSS.name.of.face.
a140 20 20 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 73 65 74 2d 66 72 6f ..)..(defun.htmlize-face-set-fro
a160 6d 2d 6b 65 79 77 6f 72 64 2d 61 74 74 72 20 28 66 73 74 72 75 63 74 20 61 74 74 72 20 76 61 6c m-keyword-attr.(fstruct.attr.val
a180 75 65 29 0a 20 20 3b 3b 20 46 6f 72 20 41 54 54 52 20 61 6e 64 20 56 41 4c 55 45 2c 20 73 65 74 ue)...;;.For.ATTR.and.VALUE,.set
a1a0 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 76 61 6c 75 65 20 69 6e 20 46 53 54 52 55 43 54 .the.equivalent.value.in.FSTRUCT
a1c0 2e 0a 20 20 28 63 61 73 65 20 61 74 74 72 0a 20 20 20 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 0a ....(case.attr.....(:foreground.
a1e0 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 .....(setf.(htmlize-fstruct-fore
a200 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 ground.fstruct).(htmlize-color-t
a220 6f 2d 72 67 62 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 3a 62 61 63 6b 67 72 6f 75 6e 64 0a o-rgb.value))).....(:background.
a240 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b .....(setf.(htmlize-fstruct-back
a260 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 ground.fstruct).(htmlize-color-t
a280 6f 2d 72 67 62 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 28 3a 68 65 69 67 68 74 0a 20 20 20 20 o-rgb.value))).....(:height.....
a2a0 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 66 73 74 .(setf.(htmlize-fstruct-size.fst
a2c0 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 3a 77 65 69 67 68 74 0a 20 20 20 20 20 ruct).value)).....(:weight......
a2e0 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 (when.(string-match.(symbol-name
a300 20 76 61 6c 75 65 29 20 22 62 6f 6c 64 22 29 0a 20 20 20 20 20 20 20 28 73 65 74 66 20 28 68 74 .value)."bold")........(setf.(ht
a320 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 70 20 66 73 74 72 75 63 74 29 20 74 29 29 mlize-fstruct-boldp.fstruct).t))
a340 29 0a 20 20 20 20 28 3a 73 6c 61 6e 74 0a 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a ).....(:slant......(setf.(htmliz
a360 65 2d 66 73 74 72 75 63 74 2d 69 74 61 6c 69 63 70 20 66 73 74 72 75 63 74 29 20 28 6f 72 20 28 e-fstruct-italicp.fstruct).(or.(
a380 65 71 20 76 61 6c 75 65 20 27 69 74 61 6c 69 63 29 0a 09 09 09 09 09 09 20 28 65 71 20 76 61 6c eq.value.'italic)........(eq.val
a3a0 75 65 20 27 6f 62 6c 69 71 75 65 29 29 29 29 0a 20 20 20 20 28 3a 62 6f 6c 64 0a 20 20 20 20 20 ue.'oblique)))).....(:bold......
a3c0 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 70 20 66 73 74 (setf.(htmlize-fstruct-boldp.fst
a3e0 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 3a 69 74 61 6c 69 63 0a 20 20 20 20 20 ruct).value)).....(:italic......
a400 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 69 74 61 6c 69 63 70 20 66 (setf.(htmlize-fstruct-italicp.f
a420 73 74 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 3a 75 6e 64 65 72 6c 69 6e 65 0a struct).value)).....(:underline.
a440 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 75 6e 64 65 .....(setf.(htmlize-fstruct-unde
a460 72 6c 69 6e 65 70 20 66 73 74 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 3a 6f 76 rlinep.fstruct).value)).....(:ov
a480 65 72 6c 69 6e 65 0a 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 erline......(setf.(htmlize-fstru
a4a0 63 74 2d 6f 76 65 72 6c 69 6e 65 70 20 66 73 74 72 75 63 74 29 20 76 61 6c 75 65 29 29 0a 20 20 ct-overlinep.fstruct).value))...
a4c0 20 20 28 3a 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 0a 20 20 20 20 20 28 73 65 74 66 20 28 68 ..(:strike-through......(setf.(h
a4e0 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 6b 65 70 20 66 73 74 72 75 63 74 29 20 tmlize-fstruct-strikep.fstruct).
a500 76 61 6c 75 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 73 value))))..(defun.htmlize-face-s
a520 69 7a 65 20 28 66 61 63 65 29 0a 20 20 3b 3b 20 54 68 65 20 73 69 7a 65 20 28 68 65 69 67 68 74 ize.(face)...;;.The.size.(height
a540 29 20 6f 66 20 46 41 43 45 2c 20 74 61 6b 69 6e 67 20 69 6e 68 65 72 69 74 61 6e 63 65 20 69 6e ).of.FACE,.taking.inheritance.in
a560 74 6f 20 61 63 63 6f 75 6e 74 2e 0a 20 20 3b 3b 20 4f 6e 6c 79 20 77 6f 72 6b 73 20 69 6e 20 45 to.account....;;.Only.works.in.E
a580 6d 61 63 73 20 32 31 20 61 6e 64 20 6c 61 74 65 72 2e 0a 20 20 28 6c 65 74 2a 20 28 28 66 61 63 macs.21.and.later....(let*.((fac
a5a0 65 2d 6c 69 73 74 20 28 6c 69 73 74 20 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 e-list.(list.face))..........(he
a5c0 61 64 20 66 61 63 65 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 66 61 63 ad.face-list)..........(tail.fac
a5e0 65 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 68 65 61 64 0a 20 20 20 20 20 20 28 e-list)).....(while.head.......(
a600 6c 65 74 20 28 28 69 6e 68 65 72 69 74 20 28 66 61 63 65 2d 61 74 74 72 69 62 75 74 65 20 28 63 let.((inherit.(face-attribute.(c
a620 61 72 20 68 65 61 64 29 20 3a 69 6e 68 65 72 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f ar.head).:inherit))).........(co
a640 6e 64 20 28 28 6c 69 73 74 70 20 69 6e 68 65 72 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 nd.((listp.inherit).............
a660 20 20 20 28 73 65 74 63 64 72 20 74 61 69 6c 20 28 63 6f 70 79 2d 6c 69 73 74 20 69 6e 68 65 72 ...(setcdr.tail.(copy-list.inher
a680 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 69 6c 20 28 it))................(setq.tail.(
a6a0 6c 61 73 74 20 74 61 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 last.tail)))...............((eq.
a6c0 69 6e 68 65 72 69 74 20 27 75 6e 73 70 65 63 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 inherit.'unspecified))..........
a6e0 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 74 .....(t................(setcdr.t
a700 61 69 6c 20 28 6c 69 73 74 20 69 6e 68 65 72 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ail.(list.inherit)).............
a720 20 20 20 28 73 65 74 71 20 74 61 69 6c 20 28 63 64 72 20 74 61 69 6c 29 29 29 29 29 0a 20 20 20 ...(setq.tail.(cdr.tail)))))....
a740 20 20 20 28 70 6f 70 20 68 65 61 64 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 69 7a 65 2d 6c ...(pop.head)).....(let.((size-l
a760 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 ist............(loop............
a780 20 66 6f 72 20 66 20 69 6e 20 66 61 63 65 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 .for.f.in.face-list.............
a7a0 66 6f 72 20 68 20 3d 20 28 66 61 63 65 2d 61 74 74 72 69 62 75 74 65 20 66 20 3a 68 65 69 67 68 for.h.=.(face-attribute.f.:heigh
a7c0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 69 66 20 28 65 71 20 68 t).............collect.(if.(eq.h
a7e0 20 27 75 6e 73 70 65 63 69 66 69 65 64 29 20 6e 69 6c 20 68 29 29 29 29 0a 20 20 20 20 20 20 28 .'unspecified).nil.h)))).......(
a800 72 65 64 75 63 65 20 27 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 73 69 7a 65 20 28 63 6f 6e 73 reduce.'htmlize-merge-size.(cons
a820 20 6e 69 6c 20 73 69 7a 65 2d 6c 69 73 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c .nil.size-list)))))..(defun.html
a840 69 7a 65 2d 66 61 63 65 2d 63 73 73 2d 6e 61 6d 65 20 28 66 61 63 65 29 0a 20 20 3b 3b 20 47 65 ize-face-css-name.(face)...;;.Ge
a860 6e 65 72 61 74 65 20 74 68 65 20 63 73 73 2d 6e 61 6d 65 20 70 72 6f 70 65 72 74 79 20 66 6f 72 nerate.the.css-name.property.for
a880 20 74 68 65 20 67 69 76 65 6e 20 66 61 63 65 2e 20 20 45 6d 61 63 73 20 70 6c 61 63 65 73 0a 20 .the.given.face...Emacs.places..
a8a0 20 3b 3b 20 6e 6f 20 72 65 73 74 72 69 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 6e 61 6d 65 73 .;;.no.restrictions.on.the.names
a8c0 20 6f 66 20 73 79 6d 62 6f 6c 73 20 74 68 61 74 20 72 65 70 72 65 73 65 6e 74 20 66 61 63 65 73 .of.symbols.that.represent.faces
a8e0 20 2d 2d 0a 20 20 3b 3b 20 61 6e 79 20 63 68 61 72 61 63 74 65 72 73 20 6d 61 79 20 62 65 20 69 .--...;;.any.characters.may.be.i
a900 6e 20 74 68 65 20 6e 61 6d 65 2c 20 65 76 65 6e 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 73 2e 20 n.the.name,.even.control.chars..
a920 20 57 65 20 74 72 79 0a 20 20 3b 3b 20 68 61 72 64 20 74 6f 20 62 65 61 74 20 74 68 65 20 66 61 .We.try...;;.hard.to.beat.the.fa
a940 63 65 20 6e 61 6d 65 20 69 6e 74 6f 20 73 68 61 70 65 2c 20 62 6f 74 68 20 65 73 74 68 65 74 69 ce.name.into.shape,.both.estheti
a960 63 61 6c 6c 79 20 61 6e 64 0a 20 20 3b 3b 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 43 53 53 31 cally.and...;;.according.to.CSS1
a980 20 73 70 65 63 73 2e 0a 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 64 6f 77 6e 63 61 73 65 20 .specs....(let.((name.(downcase.
a9a0 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 61 63 65 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 (symbol-name.face)))).....(when.
a9c0 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 66 6f 6e 74 2d 6c 6f 63 6b 2d 22 20 6e 61 (string-match."\\`font-lock-".na
a9e0 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 46 4f 4f 2d 66 61 63 65 20 me).......;;.font-lock-FOO-face.
aa00 2d 3e 20 46 4f 4f 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28 72 65 70 6c 61 63 ->.FOO........(setq.name.(replac
aa20 65 2d 6d 61 74 63 68 20 22 22 20 74 20 74 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e e-match."".t.t.name))).....(when
aa40 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 2d 66 61 63 65 5c 5c 27 22 20 6e 61 6d 65 29 0a .(string-match."-face\\'".name).
aa60 20 20 20 20 20 20 3b 3b 20 44 72 6f 70 20 74 68 65 20 72 65 64 75 6e 64 61 6e 74 20 22 2d 66 61 ......;;.Drop.the.redundant."-fa
aa80 63 65 22 20 73 75 66 66 69 78 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28 72 65 ce".suffix........(setq.name.(re
aaa0 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 20 74 20 74 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 place-match."".t.t.name))).....(
aac0 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5b 5e 2d 61 2d 7a 41 2d 5a 30 2d while.(string-match."[^-a-zA-Z0-
aae0 39 5d 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 44 72 6f 70 20 74 68 65 20 6e 6f 6e 2d 9]".name).......;;.Drop.the.non-
ab00 61 6c 70 68 61 6e 75 6d 65 72 69 63 73 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 alphanumerics........(setq.name.
ab20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 58 22 20 74 20 74 20 6e 61 6d 65 29 29 29 0a 20 (replace-match."X".t.t.name)))..
ab40 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5b 2d 30 2d 39 ...(when.(string-match."\\`[-0-9
ab60 5d 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 43 53 53 20 69 64 65 6e 74 69 66 69 65 72 ]".name).......;;.CSS.identifier
ab80 73 20 6d 61 79 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 68 20 61 20 64 69 67 69 74 2e 0a 20 20 s.may.not.start.with.a.digit....
aba0 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 28 63 6f 6e 63 61 74 20 22 58 22 20 6e 61 6d 65 29 ....(setq.name.(concat."X".name)
abc0 29 29 0a 20 20 20 20 3b 3b 20 41 66 74 65 72 20 74 68 65 73 65 20 74 72 61 6e 73 66 6f 72 6d 61 )).....;;.After.these.transforma
abe0 74 69 6f 6e 73 2c 20 74 68 65 20 66 61 63 65 20 63 6f 75 6c 64 20 63 6f 6d 65 20 6f 75 74 20 65 tions,.the.face.could.come.out.e
ac00 6d 70 74 79 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 6e 61 6d 65 20 22 22 29 0a mpty......(when.(equal.name."").
ac20 20 20 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 20 22 66 61 63 65 22 29 29 0a 20 20 20 20 3b 3b ......(setq.name."face")).....;;
ac40 20 41 70 70 6c 79 20 74 68 65 20 70 72 65 66 69 78 2e 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 68 .Apply.the.prefix......(concat.h
ac60 74 6d 6c 69 7a 65 2d 63 73 73 2d 6e 61 6d 65 2d 70 72 65 66 69 78 20 6e 61 6d 65 29 29 29 0a 0a tmlize-css-name-prefix.name)))..
ac80 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 74 6f 2d 66 73 74 72 75 63 74 2d 31 (defun.htmlize-face-to-fstruct-1
aca0 20 28 66 61 63 65 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 45 6d 61 63 73 20 66 61 63 65 20 46 41 .(face)..."Convert.Emacs.face.FA
acc0 43 45 20 74 6f 20 66 73 74 72 75 63 74 2c 20 69 6e 74 65 72 6e 61 6c 2e 22 0a 20 20 28 6c 65 74 CE.to.fstruct,.internal."...(let
ace0 20 28 28 66 73 74 72 75 63 74 20 28 6d 61 6b 65 2d 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 .((fstruct.(make-htmlize-fstruct
ad00 0a 09 09 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d .....:foreground.(htmlize-color-
ad20 74 6f 2d 72 67 62 0a 09 09 09 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 66 to-rgb...........(htmlize-face-f
ad40 6f 72 65 67 72 6f 75 6e 64 20 66 61 63 65 29 29 0a 09 09 20 20 3a 62 61 63 6b 67 72 6f 75 6e 64 oreground.face)).....:background
ad60 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 0a 09 09 09 20 20 20 20 20 20 .(htmlize-color-to-rgb..........
ad80 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 61 63 65 29 29 .(htmlize-face-background.face))
ada0 29 29 29 0a 20 20 20 20 3b 3b 20 47 4e 55 20 45 6d 61 63 73 0a 20 20 20 20 28 64 6f 6c 69 73 74 ))).....;;.GNU.Emacs.....(dolist
adc0 20 28 61 74 74 72 20 27 28 3a 77 65 69 67 68 74 20 3a 73 6c 61 6e 74 20 3a 75 6e 64 65 72 6c 69 .(attr.'(:weight.:slant.:underli
ade0 6e 65 20 3a 6f 76 65 72 6c 69 6e 65 20 3a 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 29 29 0a 20 ne.:overline.:strike-through))..
ae00 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 66 61 63 65 2d 61 74 74 72 69 62 75 74 .....(let.((value.(face-attribut
ae20 65 20 66 61 63 65 20 61 74 74 72 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 e.face.attr.nil.t))).........(wh
ae40 65 6e 20 28 61 6e 64 20 76 61 6c 75 65 20 28 6e 6f 74 20 28 65 71 20 76 61 6c 75 65 20 27 75 6e en.(and.value.(not.(eq.value.'un
ae60 73 70 65 63 69 66 69 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d specified)))...........(htmlize-
ae80 66 61 63 65 2d 73 65 74 2d 66 72 6f 6d 2d 6b 65 79 77 6f 72 64 2d 61 74 74 72 20 66 73 74 72 75 face-set-from-keyword-attr.fstru
aea0 63 74 20 61 74 74 72 20 76 61 6c 75 65 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 69 7a ct.attr.value)))).....(let.((siz
aec0 65 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 73 69 7a 65 20 66 61 63 65 29 29 29 0a 20 20 20 e.(htmlize-face-size.face)))....
aee0 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 6c 20 73 69 7a 65 20 31 2e 30 29 20 20 20 20 20 20 20 ...(unless.(eql.size.1.0).......
af00 20 20 20 20 20 3b 20 69 67 6e 6f 72 65 20 6e 6f 6e 2d 73 70 65 63 0a 20 20 20 20 20 20 20 20 28 .....;.ignore.non-spec.........(
af20 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 66 73 74 72 75 setf.(htmlize-fstruct-size.fstru
af40 63 74 29 20 73 69 7a 65 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 ct).size))).....(setf.(htmlize-f
af60 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a struct-css-name.fstruct).(htmliz
af80 65 2d 66 61 63 65 2d 63 73 73 2d 6e 61 6d 65 20 66 61 63 65 29 29 0a 20 20 20 20 66 73 74 72 75 e-face-css-name.face)).....fstru
afa0 63 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 74 6f 2d 66 73 74 ct))..(defun.htmlize-face-to-fst
afc0 72 75 63 74 20 28 66 61 63 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 66 61 63 65 2d 6c 69 73 74 20 ruct.(face)...(let*.((face-list.
afe0 28 6f 72 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 (or.(and.(symbolp.face).........
b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 71 20 .....................(cdr.(assq.
b020 66 61 63 65 20 66 61 63 65 2d 72 65 6d 61 70 70 69 6e 67 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 face.face-remapping-alist)))....
b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 66 61 63 65 29 .....................(list.face)
b060 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 73 74 72 75 63 74 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 ))..........(fstruct.(htmlize-me
b080 72 67 65 2d 66 61 63 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 rge-faces....................(ma
b0a0 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 pcar.(lambda.(face).............
b0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 79 6d 62 6f 6c 70 20 66 61 .................(if.(symbolp.fa
b0e0 63 65 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 ce).............................
b100 20 20 20 20 20 28 6f 72 20 28 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 6f 76 65 72 72 69 64 65 2d 66 .....(or.(htmlize-get-override-f
b120 73 74 72 75 63 74 20 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 struct.face)....................
b140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d ..................(htmlize-face-
b160 74 6f 2d 66 73 74 72 75 63 74 2d 31 20 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 to-fstruct-1.face)).............
b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 61 74 74 72 ...................(htmlize-attr
b1a0 6c 69 73 74 2d 74 6f 2d 66 73 74 72 75 63 74 20 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 20 list-to-fstruct.face))).........
b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 66 61 63 ...................(nreverse.fac
b1e0 65 2d 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 66 e-list))))).....(when.(symbolp.f
b200 61 63 65 29 0a 20 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 ace).......(setf.(htmlize-fstruc
b220 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 t-css-name.fstruct).(htmlize-fac
b240 65 2d 63 73 73 2d 6e 61 6d 65 20 66 61 63 65 29 29 29 0a 20 20 20 20 66 73 74 72 75 63 74 29 29 e-css-name.face))).....fstruct))
b260 0a 0a 28 64 65 66 6d 61 63 72 6f 20 68 74 6d 6c 69 7a 65 2d 63 6f 70 79 2d 61 74 74 72 2d 69 66 ..(defmacro.htmlize-copy-attr-if
b280 2d 73 65 74 20 28 61 74 74 72 2d 6c 69 73 74 20 64 65 73 74 20 73 6f 75 72 63 65 29 0a 20 20 3b -set.(attr-list.dest.source)...;
b2a0 3b 20 47 65 6e 65 72 61 74 65 20 63 6f 64 65 20 77 69 74 68 20 74 68 65 20 66 6f 6c 6c 6f 77 69 ;.Generate.code.with.the.followi
b2c0 6e 67 20 70 61 74 74 65 72 6e 3a 0a 20 20 3b 3b 20 28 70 72 6f 67 6e 0a 20 20 3b 3b 20 20 20 28 ng.pattern:...;;.(progn...;;...(
b2e0 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 41 54 54 52 20 73 6f 75 72 63 when.(htmlize-fstruct-ATTR.sourc
b300 65 29 0a 20 20 3b 3b 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 e)...;;.....(setf.(htmlize-fstru
b320 63 74 2d 41 54 54 52 20 64 65 73 74 29 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 41 ct-ATTR.dest).(htmlize-fstruct-A
b340 54 54 52 20 73 6f 75 72 63 65 29 29 29 0a 20 20 3b 3b 20 20 20 2e 2e 2e 29 0a 20 20 3b 3b 20 66 TTR.source)))...;;......)...;;.f
b360 6f 72 20 74 68 65 20 67 69 76 65 6e 20 6c 69 73 74 20 6f 66 20 62 6f 6f 6c 65 61 6e 20 61 74 74 or.the.given.list.of.boolean.att
b380 72 69 62 75 74 65 73 2e 0a 20 20 28 63 6f 6e 73 20 27 70 72 6f 67 6e 0a 09 28 6c 6f 6f 70 20 66 ributes....(cons.'progn..(loop.f
b3a0 6f 72 20 61 74 74 72 20 69 6e 20 61 74 74 72 2d 6c 69 73 74 0a 09 20 20 20 20 20 20 66 6f 72 20 or.attr.in.attr-list........for.
b3c0 61 74 74 72 2d 73 79 6d 20 3d 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 68 74 6d 6c attr-sym.=.(intern.(format."html
b3e0 69 7a 65 2d 66 73 74 72 75 63 74 2d 25 73 22 20 61 74 74 72 29 29 0a 09 20 20 20 20 20 20 63 6f ize-fstruct-%s".attr))........co
b400 6c 6c 65 63 74 20 60 28 77 68 65 6e 20 28 2c 61 74 74 72 2d 73 79 6d 20 2c 73 6f 75 72 63 65 29 llect.`(when.(,attr-sym.,source)
b420 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 28 73 65 74 66 20 ..........................(setf.
b440 28 2c 61 74 74 72 2d 73 79 6d 20 2c 64 65 73 74 29 20 28 2c 61 74 74 72 2d 73 79 6d 20 2c 73 6f (,attr-sym.,dest).(,attr-sym.,so
b460 75 72 63 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 urce))))))..(defun.htmlize-merge
b480 2d 73 69 7a 65 20 28 6d 65 72 67 65 64 20 6e 65 78 74 29 0a 20 20 3b 3b 20 43 61 6c 63 75 6c 61 -size.(merged.next)...;;.Calcula
b4a0 74 65 20 74 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 6d 65 72 67 65 20 6f 66 20 4d 45 52 47 te.the.size.of.the.merge.of.MERG
b4c0 45 44 20 61 6e 64 20 4e 45 58 54 2e 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 6d 65 72 67 ED.and.NEXT....(cond.((null.merg
b4e0 65 64 29 20 20 20 20 20 6e 65 78 74 29 0a 09 28 28 69 6e 74 65 67 65 72 70 20 6e 65 78 74 29 20 ed).....next)..((integerp.next).
b500 20 20 6e 65 78 74 29 0a 09 28 28 6e 75 6c 6c 20 6e 65 78 74 29 20 20 20 20 20 20 20 6d 65 72 67 ..next)..((null.next).......merg
b520 65 64 29 0a 09 28 28 66 6c 6f 61 74 70 20 6d 65 72 67 65 64 29 20 20 20 28 2a 20 6d 65 72 67 65 ed)..((floatp.merged)...(*.merge
b540 64 20 6e 65 78 74 29 29 0a 09 28 28 69 6e 74 65 67 65 72 70 20 6d 65 72 67 65 64 29 20 28 72 6f d.next))..((integerp.merged).(ro
b560 75 6e 64 20 28 2a 20 6d 65 72 67 65 64 20 6e 65 78 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 und.(*.merged.next)))))..(defun.
b580 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 74 77 6f 2d 66 61 63 65 73 20 28 6d 65 72 67 65 64 20 htmlize-merge-two-faces.(merged.
b5a0 6e 65 78 74 29 0a 20 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 70 79 2d 61 74 74 72 2d 69 66 2d 73 65 next)...(htmlize-copy-attr-if-se
b5c0 74 0a 20 20 20 28 66 6f 72 65 67 72 6f 75 6e 64 20 62 61 63 6b 67 72 6f 75 6e 64 20 62 6f 6c 64 t....(foreground.background.bold
b5e0 70 20 69 74 61 6c 69 63 70 20 75 6e 64 65 72 6c 69 6e 65 70 20 6f 76 65 72 6c 69 6e 65 70 20 73 p.italicp.underlinep.overlinep.s
b600 74 72 69 6b 65 70 29 0a 20 20 20 6d 65 72 67 65 64 20 6e 65 78 74 29 0a 20 20 28 73 65 74 66 20 trikep)....merged.next)...(setf.
b620 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 6d 65 72 67 65 64 29 0a 09 28 (htmlize-fstruct-size.merged)..(
b640 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 73 69 7a 65 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 htmlize-merge-size.(htmlize-fstr
b660 75 63 74 2d 73 69 7a 65 20 6d 65 72 67 65 64 29 0a 09 09 09 20 20 20 20 28 68 74 6d 6c 69 7a 65 uct-size.merged)........(htmlize
b680 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 6e 65 78 74 29 29 29 0a 20 20 6d 65 72 67 65 64 29 0a -fstruct-size.next)))...merged).
b6a0 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 66 61 63 65 73 20 28 66 73 74 .(defun.htmlize-merge-faces.(fst
b6c0 72 75 63 74 2d 6c 69 73 74 29 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 66 73 74 72 75 63 ruct-list)...(cond.((null.fstruc
b6e0 74 2d 6c 69 73 74 29 0a 09 20 3b 3b 20 4e 6f 74 68 69 6e 67 20 74 6f 20 64 6f 2c 20 72 65 74 75 t-list)...;;.Nothing.to.do,.retu
b700 72 6e 20 61 20 64 75 6d 6d 79 20 66 61 63 65 2e 0a 09 20 28 6d 61 6b 65 2d 68 74 6d 6c 69 7a 65 rn.a.dummy.face....(make-htmlize
b720 2d 66 73 74 72 75 63 74 29 29 0a 09 28 28 6e 75 6c 6c 20 28 63 64 72 20 66 73 74 72 75 63 74 2d -fstruct))..((null.(cdr.fstruct-
b740 6c 69 73 74 29 29 0a 09 20 3b 3b 20 4f 70 74 69 6d 69 7a 65 20 66 6f 72 20 74 68 65 20 63 6f 6d list))...;;.Optimize.for.the.com
b760 6d 6f 6e 20 63 61 73 65 20 6f 66 20 61 20 73 69 6e 67 6c 65 20 66 61 63 65 2c 20 73 69 6d 70 6c mon.case.of.a.single.face,.simpl
b780 79 0a 09 20 3b 3b 20 72 65 74 75 72 6e 20 69 74 2e 0a 09 20 28 63 61 72 20 66 73 74 72 75 63 74 y...;;.return.it....(car.fstruct
b7a0 2d 6c 69 73 74 29 29 0a 09 28 74 0a 09 20 28 72 65 64 75 63 65 20 23 27 68 74 6d 6c 69 7a 65 2d -list))..(t...(reduce.#'htmlize-
b7c0 6d 65 72 67 65 2d 74 77 6f 2d 66 61 63 65 73 0a 09 09 20 28 63 6f 6e 73 20 28 6d 61 6b 65 2d 68 merge-two-faces....(cons.(make-h
b7e0 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 29 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 29 29 29 tmlize-fstruct).fstruct-list))))
b800 29 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 20 32 30 2b 20 73 75 70 70 6f 72 74 73 20 61 74 74 )..;;.GNU.Emacs.20+.supports.att
b820 72 69 62 75 74 65 20 6c 69 73 74 73 20 69 6e 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 69 65 ribute.lists.in.`face'.propertie
b840 73 2e 20 20 46 6f 72 0a 3b 3b 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 63 61 6e 20 75 73 65 20 s...For.;;.example,.you.can.use.
b860 60 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 72 65 64 22 20 3a 77 65 69 67 68 74 20 62 6f 6c 64 `(:foreground."red".:weight.bold
b880 29 27 20 61 73 20 61 6e 0a 3b 3b 20 6f 76 65 72 6c 61 79 27 73 20 22 66 61 63 65 22 2c 20 6f 72 )'.as.an.;;.overlay's."face",.or
b8a0 20 79 6f 75 20 63 61 6e 20 65 76 65 6e 20 75 73 65 20 61 20 6c 69 73 74 20 6f 66 20 73 75 63 68 .you.can.even.use.a.list.of.such
b8c0 20 6c 69 73 74 73 2c 20 65 74 63 2e 0a 3b 3b 20 57 65 20 63 61 6c 6c 20 74 68 6f 73 65 20 22 61 .lists,.etc..;;.We.call.those."a
b8e0 74 74 72 6c 69 73 74 73 22 2e 0a 3b 3b 0a 3b 3b 20 68 74 6d 6c 69 7a 65 20 73 75 70 70 6f 72 74 ttrlists"..;;.;;.htmlize.support
b900 73 20 61 74 74 72 6c 69 73 74 20 62 79 20 63 6f 6e 76 65 72 74 69 6e 67 20 74 68 65 6d 20 74 6f s.attrlist.by.converting.them.to
b920 20 66 73 74 72 75 63 74 73 2c 20 74 68 65 20 73 61 6d 65 0a 3b 3b 20 61 73 20 77 69 74 68 20 72 .fstructs,.the.same.;;.as.with.r
b940 65 67 75 6c 61 72 20 66 61 63 65 73 2e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 61 74 egular.faces...(defun.htmlize-at
b960 74 72 6c 69 73 74 2d 74 6f 2d 66 73 74 72 75 63 74 20 28 61 74 74 72 6c 69 73 74 20 26 6f 70 74 trlist-to-fstruct.(attrlist.&opt
b980 69 6f 6e 61 6c 20 6e 61 6d 65 29 0a 20 20 3b 3b 20 4c 69 6b 65 20 68 74 6d 6c 69 7a 65 2d 66 61 ional.name)...;;.Like.htmlize-fa
b9a0 63 65 2d 74 6f 2d 66 73 74 72 75 63 74 2c 20 62 75 74 20 61 63 63 65 70 74 73 20 61 6e 20 41 54 ce-to-fstruct,.but.accepts.an.AT
b9c0 54 52 4c 49 53 54 20 61 73 20 69 6e 70 75 74 2e 0a 20 20 28 6c 65 74 20 28 28 66 73 74 72 75 63 TRLIST.as.input....(let.((fstruc
b9e0 74 20 28 6d 61 6b 65 2d 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 29 29 29 0a 20 20 20 20 28 t.(make-htmlize-fstruct))).....(
ba00 63 6f 6e 64 20 28 28 65 71 20 28 63 61 72 20 61 74 74 72 6c 69 73 74 29 20 27 66 6f 72 65 67 72 cond.((eq.(car.attrlist).'foregr
ba20 6f 75 6e 64 2d 63 6f 6c 6f 72 29 0a 09 20 20 20 3b 3b 20 41 54 54 52 4c 49 53 54 20 69 73 20 28 ound-color).....;;.ATTRLIST.is.(
ba40 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 20 2e 20 43 4f 4c 4f 52 29 0a 09 20 20 20 28 73 foreground-color...COLOR).....(s
ba60 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 etf.(htmlize-fstruct-foreground.
ba80 66 73 74 72 75 63 74 29 0a 09 09 20 28 68 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 fstruct)....(htmlize-color-to-rg
baa0 62 20 28 63 64 72 20 61 74 74 72 6c 69 73 74 29 29 29 29 0a 09 20 20 28 28 65 71 20 28 63 61 72 b.(cdr.attrlist))))....((eq.(car
bac0 20 61 74 74 72 6c 69 73 74 29 20 27 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 29 0a 09 20 .attrlist).'background-color)...
bae0 20 20 3b 3b 20 41 54 54 52 4c 49 53 54 20 69 73 20 28 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c ..;;.ATTRLIST.is.(background-col
bb00 6f 72 20 2e 20 43 4f 4c 4f 52 29 0a 09 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 or...COLOR).....(setf.(htmlize-f
bb20 73 74 72 75 63 74 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 0a 09 09 20 28 68 struct-background.fstruct)....(h
bb40 74 6d 6c 69 7a 65 2d 63 6f 6c 6f 72 2d 74 6f 2d 72 67 62 20 28 63 64 72 20 61 74 74 72 6c 69 73 tmlize-color-to-rgb.(cdr.attrlis
bb60 74 29 29 29 29 0a 09 20 20 28 74 0a 09 20 20 20 3b 3b 20 41 54 54 52 4c 49 53 54 20 69 73 20 61 t))))....(t.....;;.ATTRLIST.is.a
bb80 20 70 6c 69 73 74 2e 0a 09 20 20 20 28 77 68 69 6c 65 20 61 74 74 72 6c 69 73 74 0a 09 20 20 20 .plist......(while.attrlist.....
bba0 20 20 28 6c 65 74 20 28 28 61 74 74 72 20 28 70 6f 70 20 61 74 74 72 6c 69 73 74 29 29 0a 09 09 ..(let.((attr.(pop.attrlist))...
bbc0 20 20 20 28 76 61 6c 75 65 20 28 70 6f 70 20 61 74 74 72 6c 69 73 74 29 29 29 0a 09 20 20 20 20 ...(value.(pop.attrlist)))......
bbe0 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 76 61 6c 75 65 20 28 6e 6f 74 20 28 65 71 20 76 61 6c ...(when.(and.value.(not.(eq.val
bc00 75 65 20 27 75 6e 73 70 65 63 69 66 69 65 64 29 29 29 0a 09 09 20 28 68 74 6d 6c 69 7a 65 2d 66 ue.'unspecified)))....(htmlize-f
bc20 61 63 65 2d 73 65 74 2d 66 72 6f 6d 2d 6b 65 79 77 6f 72 64 2d 61 74 74 72 20 66 73 74 72 75 63 ace-set-from-keyword-attr.fstruc
bc40 74 20 61 74 74 72 20 76 61 6c 75 65 29 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 66 20 28 68 74 t.attr.value)))))).....(setf.(ht
bc60 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 20 mlize-fstruct-css-name.fstruct).
bc80 28 6f 72 20 6e 61 6d 65 20 22 63 75 73 74 6f 6d 22 29 29 0a 20 20 20 20 66 73 74 72 75 63 74 29 (or.name."custom")).....fstruct)
bca0 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 )..(defun.htmlize-decode-face-pr
bcc0 6f 70 20 28 70 72 6f 70 29 0a 20 20 22 54 75 72 6e 20 66 61 63 65 20 70 72 6f 70 65 72 74 79 20 op.(prop)..."Turn.face.property.
bce0 50 52 4f 50 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 66 61 63 65 2d 6c 69 6b 65 20 6f 62 PROP.into.a.list.of.face-like.ob
bd00 6a 65 63 74 73 2e 22 0a 20 20 3b 3b 20 50 52 4f 50 20 63 61 6e 20 62 65 20 61 20 73 79 6d 62 6f jects."...;;.PROP.can.be.a.symbo
bd20 6c 20 6e 61 6d 69 6e 67 20 61 20 66 61 63 65 2c 20 61 20 73 74 72 69 6e 67 20 6e 61 6d 69 6e 67 l.naming.a.face,.a.string.naming
bd40 20 73 75 63 68 20 61 0a 20 20 3b 3b 20 73 79 6d 62 6f 6c 2c 20 61 20 63 6f 6e 73 20 28 66 6f 72 .such.a...;;.symbol,.a.cons.(for
bd60 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 20 2e 20 43 4f 4c 4f 52 29 20 6f 72 20 28 62 61 63 6b 67 eground-color...COLOR).or.(backg
bd80 72 6f 75 6e 64 2d 63 6f 6c 6f 72 0a 20 20 3b 3b 20 43 4f 4c 4f 52 29 2c 20 61 20 70 72 6f 70 65 round-color...;;.COLOR),.a.prope
bda0 72 74 79 20 6c 69 73 74 20 28 3a 61 74 74 72 31 20 76 61 6c 31 20 3a 61 74 74 72 32 20 76 61 6c rty.list.(:attr1.val1.:attr2.val
bdc0 32 20 2e 2e 2e 29 2c 20 6f 72 20 61 20 6c 69 73 74 0a 20 20 3b 3b 20 6f 66 20 61 6e 79 20 6f 66 2....),.or.a.list...;;.of.any.of
bde0 20 74 68 6f 73 65 2e 0a 20 20 3b 3b 0a 20 20 3b 3b 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 .those....;;...;;.(htmlize-decod
be00 65 2d 66 61 63 65 2d 70 72 6f 70 20 27 66 61 63 65 29 20 2d 3e 20 28 66 61 63 65 29 0a 20 20 3b e-face-prop.'face).->.(face)...;
be20 3b 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 27 28 66 61 ;.(htmlize-decode-face-prop.'(fa
be40 63 65 31 20 66 61 63 65 32 29 29 20 2d 3e 20 28 66 61 63 65 31 20 66 61 63 65 32 29 0a 20 20 3b ce1.face2)).->.(face1.face2)...;
be60 3b 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 27 28 3a 61 ;.(htmlize-decode-face-prop.'(:a
be80 74 74 72 20 22 76 61 6c 22 29 29 20 2d 3e 20 28 28 3a 61 74 74 72 20 22 76 61 6c 22 29 29 0a 20 ttr."val")).->.((:attr."val"))..
bea0 20 3b 3b 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 27 28 .;;.(htmlize-decode-face-prop.'(
bec0 28 3a 61 74 74 72 20 22 76 61 6c 22 29 20 66 61 63 65 20 28 66 6f 72 65 67 72 6f 75 6e 64 2d 63 (:attr."val").face.(foreground-c
bee0 6f 6c 6f 72 20 22 72 65 64 22 29 29 29 0a 20 20 3b 3b 20 20 20 2d 3e 20 28 28 3a 61 74 74 72 20 olor."red")))...;;...->.((:attr.
bf00 22 76 61 6c 22 29 20 66 61 63 65 20 28 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 20 22 72 "val").face.(foreground-color."r
bf20 65 64 22 29 29 0a 20 20 3b 3b 0a 20 20 3b 3b 20 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 61 74 6f ed"))...;;...;;.Unrecognized.ato
bf40 6d 73 20 6f 72 20 6e 6f 6e 2d 66 61 63 65 20 73 79 6d 62 6f 6c 73 2f 73 74 72 69 6e 67 73 20 61 ms.or.non-face.symbols/strings.a
bf60 72 65 20 73 69 6c 65 6e 74 6c 79 0a 20 20 3b 3b 20 73 74 72 69 70 70 65 64 20 61 77 61 79 2e 0a re.silently...;;.stripped.away..
bf80 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 6e 69 ..(cond.((null.prop)..........ni
bfa0 6c 29 0a 20 20 20 20 20 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 70 72 6f 70 29 0a 20 20 20 20 20 l).........((symbolp.prop)......
bfc0 20 20 20 20 28 61 6e 64 20 28 66 61 63 65 70 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 ....(and.(facep.prop)...........
bfe0 20 20 20 20 28 6c 69 73 74 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 ....(list.prop))).........((stri
c000 6e 67 70 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 66 61 63 65 70 20 28 ngp.prop)..........(and.(facep.(
c020 69 6e 74 65 72 6e 2d 73 6f 66 74 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 intern-soft.prop))..............
c040 20 28 6c 69 73 74 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 74 6f 6d 20 70 72 .(list.prop))).........((atom.pr
c060 6f 70 29 0a 20 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 op)..........nil).........((and.
c080 28 73 79 6d 62 6f 6c 70 20 28 63 61 72 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 (symbolp.(car.prop))............
c0a0 20 20 20 28 65 71 20 3f 3a 20 28 61 72 65 66 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 ...(eq.?:.(aref.(symbol-name.(ca
c0c0 72 20 70 72 6f 70 29 29 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 72 6f r.prop)).0)))..........(list.pro
c0e0 70 29 29 0a 20 20 20 20 20 20 20 20 28 28 6f 72 20 28 65 71 20 28 63 61 72 20 70 72 6f 70 29 20 p)).........((or.(eq.(car.prop).
c100 27 66 6f 72 65 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 'foreground-color)..............
c120 28 65 71 20 28 63 61 72 20 70 72 6f 70 29 20 27 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 (eq.(car.prop).'background-color
c140 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 ))..........(list.prop))........
c160 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 6e 63 6f 6e 63 20 28 6d 61 70 .(t..........(apply.#'nconc.(map
c180 63 61 72 20 23 27 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 70 car.#'htmlize-decode-face-prop.p
c1a0 72 6f 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 74 2d 6f 76 65 rop)))))..(defun.htmlize-get-ove
c1c0 72 72 69 64 65 2d 66 73 74 72 75 63 74 20 28 66 61 63 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 72 rride-fstruct.(face)...(let*.((r
c1e0 61 77 2d 64 65 66 20 28 70 6c 69 73 74 2d 67 65 74 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 6f aw-def.(plist-get.htmlize-face-o
c200 76 65 72 72 69 64 65 73 20 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 66 20 28 63 verrides.face))..........(def.(c
c220 6f 6e 64 20 28 28 73 74 72 69 6e 67 70 20 72 61 77 2d 64 65 66 29 20 28 6c 69 73 74 20 3a 66 6f ond.((stringp.raw-def).(list.:fo
c240 72 65 67 72 6f 75 6e 64 20 72 61 77 2d 64 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 reground.raw-def))..............
c260 20 20 20 20 20 20 20 28 28 6c 69 73 74 70 20 72 61 77 2d 64 65 66 29 20 72 61 77 2d 64 65 66 29 .......((listp.raw-def).raw-def)
c280 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 .....................(t.........
c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 66 6f 72 6d 61 74 20 28 63 6f 6e .............(error.(format.(con
c2c0 63 61 74 20 22 66 61 63 65 20 6f 76 65 72 72 69 64 65 20 6d 75 73 74 20 62 65 20 61 6e 20 22 0a cat."face.override.must.be.an.".
c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c300 20 20 20 20 20 20 20 20 20 20 20 20 22 61 74 74 72 69 62 75 74 65 20 6c 69 73 74 20 6f 72 20 73 ............"attribute.list.or.s
c320 74 72 69 6e 67 2c 20 67 6f 74 20 25 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring,.got.%s").................
c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 61 77 2d 64 65 66 29 29 29 29 29 ....................raw-def)))))
c360 29 0a 20 20 20 20 28 61 6e 64 20 64 65 66 0a 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 ).....(and.def..........(htmlize
c380 2d 61 74 74 72 6c 69 73 74 2d 74 6f 2d 66 73 74 72 75 63 74 20 64 65 66 20 28 73 79 6d 62 6f 6c -attrlist-to-fstruct.def.(symbol
c3a0 2d 6e 61 6d 65 20 66 61 63 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d -name.face)))))..(defun.htmlize-
c3c0 6d 61 6b 65 2d 66 61 63 65 2d 6d 61 70 20 28 66 61 63 65 73 29 0a 20 20 3b 3b 20 52 65 74 75 72 make-face-map.(faces)...;;.Retur
c3e0 6e 20 61 20 68 61 73 68 20 74 61 62 6c 65 20 6d 61 70 70 69 6e 67 20 45 6d 61 63 73 20 66 61 63 n.a.hash.table.mapping.Emacs.fac
c400 65 73 20 74 6f 20 68 74 6d 6c 69 7a 65 27 73 20 66 73 74 72 75 63 74 73 2e 0a 20 20 3b 3b 20 54 es.to.htmlize's.fstructs....;;.T
c420 68 65 20 6b 65 79 73 20 61 72 65 20 65 69 74 68 65 72 20 66 61 63 65 20 73 79 6d 62 6f 6c 73 20 he.keys.are.either.face.symbols.
c440 6f 72 20 61 74 74 72 6c 69 73 74 73 2c 20 73 6f 20 74 68 65 20 74 65 73 74 0a 20 20 3b 3b 20 66 or.attrlists,.so.the.test...;;.f
c460 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 60 65 71 75 61 6c 27 2e 0a 20 20 28 6c 65 74 20 unction.must.be.`equal'....(let.
c480 28 28 66 61 63 65 2d 6d 61 70 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 ((face-map.(make-hash-table.:tes
c4a0 74 20 27 65 71 75 61 6c 29 29 0a 09 63 73 73 2d 6e 61 6d 65 73 29 0a 20 20 20 20 28 64 6f 6c 69 t.'equal))..css-names).....(doli
c4c0 73 74 20 28 66 61 63 65 20 66 61 63 65 73 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 st.(face.faces).......(unless.(g
c4e0 65 74 68 61 73 68 20 66 61 63 65 20 66 61 63 65 2d 6d 61 70 29 0a 09 3b 3b 20 48 61 76 65 6e 27 ethash.face.face-map)..;;.Haven'
c500 74 20 73 65 65 6e 20 46 41 43 45 20 79 65 74 3b 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 61 t.seen.FACE.yet;.convert.it.to.a
c520 6e 20 66 73 74 72 75 63 74 20 61 6e 64 20 63 61 63 68 65 0a 09 3b 3b 20 69 74 2e 0a 09 28 6c 65 n.fstruct.and.cache..;;.it...(le
c540 74 20 28 28 66 73 74 72 75 63 74 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 74 6f 2d 66 73 74 t.((fstruct.(htmlize-face-to-fst
c560 72 75 63 74 20 66 61 63 65 29 29 29 0a 09 20 20 28 73 65 74 66 20 28 67 65 74 68 61 73 68 20 66 ruct.face)))....(setf.(gethash.f
c580 61 63 65 20 66 61 63 65 2d 6d 61 70 29 20 66 73 74 72 75 63 74 29 0a 09 20 20 28 6c 65 74 2a 20 ace.face-map).fstruct)....(let*.
c5a0 28 28 63 73 73 2d 6e 61 6d 65 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d ((css-name.(htmlize-fstruct-css-
c5c0 6e 61 6d 65 20 66 73 74 72 75 63 74 29 29 0a 09 09 20 28 6e 65 77 2d 6e 61 6d 65 20 63 73 73 2d name.fstruct))....(new-name.css-
c5e0 6e 61 6d 65 29 0a 09 09 20 28 69 20 30 29 29 0a 09 20 20 20 20 3b 3b 20 55 6e 69 71 75 69 66 79 name)....(i.0))......;;.Uniquify
c600 20 74 68 65 20 66 61 63 65 27 73 20 63 73 73 2d 6e 61 6d 65 20 62 79 20 75 73 69 6e 67 20 4e 41 .the.face's.css-name.by.using.NA
c620 4d 45 2d 31 2c 20 4e 41 4d 45 2d 32 2c 0a 09 20 20 20 20 3b 3b 20 65 74 63 2e 0a 09 20 20 20 20 ME-1,.NAME-2,......;;.etc.......
c640 28 77 68 69 6c 65 20 28 6d 65 6d 62 65 72 20 6e 65 77 2d 6e 61 6d 65 20 63 73 73 2d 6e 61 6d 65 (while.(member.new-name.css-name
c660 73 29 0a 09 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 77 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 s)........(setq.new-name.(format
c680 20 22 25 73 2d 25 73 22 20 63 73 73 2d 6e 61 6d 65 20 28 69 6e 63 66 20 69 29 29 29 29 0a 09 20 ."%s-%s".css-name.(incf.i))))...
c6a0 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 6e 65 77 2d 6e 61 6d 65 20 63 73 73 2d 6e ...(unless.(equal.new-name.css-n
c6c0 61 6d 65 29 0a 09 20 20 20 20 20 20 28 73 65 74 66 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 ame)........(setf.(htmlize-fstru
c6e0 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 20 6e 65 77 2d 6e 61 6d 65 29 29 0a ct-css-name.fstruct).new-name)).
c700 09 20 20 20 20 28 70 75 73 68 20 6e 65 77 2d 6e 61 6d 65 20 63 73 73 2d 6e 61 6d 65 73 29 29 29 .....(push.new-name.css-names)))
c720 29 29 0a 20 20 20 20 66 61 63 65 2d 6d 61 70 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a )).....face-map))..(defun.htmliz
c740 65 2d 75 6e 73 74 72 69 6e 67 69 66 79 2d 66 61 63 65 20 28 66 61 63 65 29 0a 20 20 22 49 66 20 e-unstringify-face.(face)..."If.
c760 46 41 43 45 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 72 65 74 75 72 6e 20 69 74 20 69 6e 74 65 FACE.is.a.string,.return.it.inte
c780 72 6e 65 64 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 69 74 20 75 6e 63 68 61 6e rned,.otherwise.return.it.unchan
c7a0 67 65 64 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 66 61 63 65 29 0a 20 20 20 20 20 ged."...(if.(stringp.face)......
c7c0 20 28 69 6e 74 65 72 6e 20 66 61 63 65 29 0a 20 20 20 20 66 61 63 65 29 29 0a 0a 28 64 65 66 75 .(intern.face).....face))..(defu
c7e0 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 73 2d 69 6e 2d 62 75 66 66 65 72 20 28 29 0a 20 20 22 n.htmlize-faces-in-buffer.()..."
c800 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 66 61 63 65 73 20 75 73 65 64 20 69 6e 20 74 Return.a.list.of.faces.used.in.t
c820 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 he.current.buffer..This.is.the.s
c840 65 74 20 6f 66 20 66 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 74 68 65 20 60 66 61 et.of.faces.specified.by.the.`fa
c860 63 65 27 20 74 65 78 74 20 70 72 6f 70 65 72 74 79 20 61 6e 64 20 62 79 20 62 75 66 66 65 72 0a ce'.text.property.and.by.buffer.
c880 6f 76 65 72 6c 61 79 73 20 74 68 61 74 20 73 70 65 63 69 66 79 20 60 66 61 63 65 27 2e 22 0a 20 overlays.that.specify.`face'."..
c8a0 20 28 6c 65 74 20 28 66 61 63 65 73 29 0a 20 20 20 20 3b 3b 20 46 61 63 65 73 20 75 73 65 64 20 .(let.(faces).....;;.Faces.used.
c8c0 62 79 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 70 by.text.properties......(let.((p
c8e0 6f 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 20 66 61 63 65 2d 70 72 6f 70 20 6e 65 78 74 29 0a os.(point-min)).face-prop.next).
c900 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 70 6f 73 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 ......(while.(<.pos.(point-max))
c920 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 63 65 2d 70 72 6f 70 20 28 67 65 74 2d 74 65 .........(setq.face-prop.(get-te
c940 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6f 73 20 27 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 xt-property.pos.'face)..........
c960 20 20 20 20 20 6e 65 78 74 20 28 6f 72 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 .....next.(or.(next-single-prope
c980 72 74 79 2d 63 68 61 6e 67 65 20 70 6f 73 20 27 66 61 63 65 29 20 28 70 6f 69 6e 74 2d 6d 61 78 rty-change.pos.'face).(point-max
c9a0 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 63 65 73 20 28 6e 75 6e 69 6f 6e 20 ))).........(setq.faces.(nunion.
c9c0 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 66 61 63 65 2d 70 (htmlize-decode-face-prop.face-p
c9e0 72 6f 70 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 rop)............................
ca00 20 66 61 63 65 73 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 73 .faces.:test.'equal)).........(s
ca20 65 74 71 20 70 6f 73 20 6e 65 78 74 29 29 29 0a 20 20 20 20 3b 3b 20 46 61 63 65 73 20 75 73 65 etq.pos.next))).....;;.Faces.use
ca40 64 20 62 79 20 6f 76 65 72 6c 61 79 73 2e 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6f 76 65 72 d.by.overlays......(dolist.(over
ca60 6c 61 79 20 28 6f 76 65 72 6c 61 79 73 2d 69 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f lay.(overlays-in.(point-min).(po
ca80 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 2d 70 72 6f int-max))).......(let.((face-pro
caa0 70 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 76 65 72 6c 61 79 20 27 66 61 63 65 29 29 29 0a p.(overlay-get.overlay.'face))).
cac0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 63 65 73 20 28 6e 75 6e 69 6f 6e 20 28 68 74 6d ........(setq.faces.(nunion.(htm
cae0 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 66 61 63 65 2d 70 72 6f 70 29 lize-decode-face-prop.face-prop)
cb00 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 66 61 63 .............................fac
cb20 65 73 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 29 29 0a 20 20 20 20 66 61 63 65 73 29 29 0a es.:test.'equal)))).....faces)).
cb40 0a 28 69 66 20 28 3e 3d 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 .(if.(>=.emacs-major-version.25)
cb60 0a 20 20 20 20 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 73 6f 72 74 65 64 2d 6f 76 65 72 6c .....(defun.htmlize-sorted-overl
cb80 61 79 73 2d 61 74 20 28 70 6f 73 29 0a 20 20 20 20 20 20 28 6f 76 65 72 6c 61 79 73 2d 61 74 20 ays-at.(pos).......(overlays-at.
cba0 70 6f 73 20 74 29 29 0a 0a 20 20 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 73 6f 72 74 65 64 pos.t))....(defun.htmlize-sorted
cbc0 2d 6f 76 65 72 6c 61 79 73 2d 61 74 20 28 70 6f 73 29 0a 20 20 20 20 3b 3b 20 4c 69 6b 65 20 4f -overlays-at.(pos).....;;.Like.O
cbe0 56 45 52 4c 41 59 53 2d 41 54 20 77 69 74 68 20 74 68 65 20 53 4f 52 54 45 44 20 61 72 67 75 6d VERLAYS-AT.with.the.SORTED.argum
cc00 65 6e 74 2c 20 66 6f 72 20 6f 6c 64 65 72 20 45 6d 61 63 73 65 6e 2e 0a 20 20 20 20 28 6c 65 74 ent,.for.older.Emacsen......(let
cc20 20 28 28 6f 76 65 72 6c 61 79 73 20 28 6f 76 65 72 6c 61 79 73 2d 61 74 20 70 6f 73 29 29 29 0a .((overlays.(overlays-at.pos))).
cc40 20 20 20 20 20 20 28 73 65 74 71 20 6f 76 65 72 6c 61 79 73 20 28 73 6f 72 74 2a 20 6f 76 65 72 ......(setq.overlays.(sort*.over
cc60 6c 61 79 73 20 23 27 3c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lays.#'<........................
cc80 20 20 20 20 20 3a 6b 65 79 20 28 6c 61 6d 62 64 61 20 28 6f 29 0a 20 20 20 20 20 20 20 20 20 20 .....:key.(lambda.(o)...........
cca0 20 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 2d 20 28 6f 76 65 .........................(-.(ove
ccc0 72 6c 61 79 2d 65 6e 64 20 6f 29 20 28 6f 76 65 72 6c 61 79 2d 73 74 61 72 74 20 6f 29 29 29 29 rlay-end.o).(overlay-start.o))))
cce0 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 76 65 72 6c 61 79 73 0a 20 20 20 20 20 20 20 20 20 ).......(setq.overlays..........
cd00 20 20 20 28 73 74 61 62 6c 65 2d 73 6f 72 74 20 6f 76 65 72 6c 61 79 73 20 23 27 3c 0a 20 20 20 ...(stable-sort.overlays.#'<....
cd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 20 28 6c 61 6d 62 ......................:key.(lamb
cd40 64 61 20 28 6f 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 da.(o)..........................
cd60 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 69 6f 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 .......(let.((prio.(overlay-get.
cd80 6f 20 27 70 72 69 6f 72 69 74 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o.'priority)))..................
cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 75 6d 62 65 72 70 20 70 72 .................(if.(numberp.pr
cdc0 69 6f 29 20 70 72 69 6f 20 30 29 29 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 io).prio.0))))).......(nreverse.
cde0 6f 76 65 72 6c 61 79 73 29 29 29 29 0a 0a 0a 3b 3b 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 73 2d overlays))))...;;.htmlize-faces-
ce00 61 74 2d 70 6f 69 6e 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 61 63 65 73 20 69 6e 20 75 73 at-point.returns.the.faces.in.us
ce20 65 20 61 74 20 70 6f 69 6e 74 2e 20 20 54 68 65 0a 3b 3b 20 66 61 63 65 73 20 61 72 65 20 73 6f e.at.point...The.;;.faces.are.so
ce40 72 74 65 64 20 62 79 20 69 6e 63 72 65 61 73 69 6e 67 20 70 72 69 6f 72 69 74 79 2c 20 69 2e 65 rted.by.increasing.priority,.i.e
ce60 2e 20 74 68 65 20 6c 61 73 74 20 66 61 63 65 20 74 61 6b 65 73 0a 3b 3b 20 70 72 65 63 65 64 65 ..the.last.face.takes.;;.precede
ce80 6e 63 65 2e 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 72 65 74 75 72 6e 73 20 61 6c 6c 20 74 68 65 20 nce..;;.;;.This.returns.all.the.
cea0 66 61 63 65 73 20 69 6e 20 74 68 65 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 79 20 61 6e 64 faces.in.the.`face'.property.and
cec0 20 61 6c 6c 20 74 68 65 20 66 61 63 65 73 0a 3b 3b 20 69 6e 20 74 68 65 20 6f 76 65 72 6c 61 79 .all.the.faces.;;.in.the.overlay
cee0 73 20 61 74 20 70 6f 69 6e 74 2e 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 61 63 65 s.at.point...(defun.htmlize-face
cf00 73 2d 61 74 2d 70 6f 69 6e 74 20 28 29 0a 20 20 28 6c 65 74 20 28 61 6c 6c 2d 66 61 63 65 73 29 s-at-point.()...(let.(all-faces)
cf20 0a 20 20 20 20 3b 3b 20 46 61 63 65 73 20 66 72 6f 6d 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 .....;;.Faces.from.text.properti
cf40 65 73 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 66 61 63 65 2d 70 72 6f 70 20 28 67 65 74 2d 74 65 es......(let.((face-prop.(get-te
cf60 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 27 66 61 63 65 29 29 29 0a 20 20 20 xt-property.(point).'face)))....
cf80 20 20 20 3b 3b 20 77 65 20 6e 65 65 64 20 74 6f 20 72 65 76 65 72 73 65 20 74 68 65 20 60 66 61 ...;;.we.need.to.reverse.the.`fa
cfa0 63 65 27 20 70 72 6f 70 20 62 65 63 61 75 73 65 20 77 65 20 77 61 6e 74 0a 20 20 20 20 20 20 3b ce'.prop.because.we.want.......;
cfc0 3b 20 6d 6f 72 65 20 73 70 65 63 69 66 69 63 20 66 61 63 65 73 20 74 6f 20 63 6f 6d 65 20 6c 61 ;.more.specific.faces.to.come.la
cfe0 74 65 72 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 6c 6c 2d 66 61 63 65 73 20 28 6e 72 65 76 65 ter.......(setq.all-faces.(nreve
d000 72 73 65 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 20 66 61 rse.(htmlize-decode-face-prop.fa
d020 63 65 2d 70 72 6f 70 29 29 29 29 0a 20 20 20 20 3b 3b 20 46 61 63 65 73 20 66 72 6f 6d 20 6f 76 ce-prop)))).....;;.Faces.from.ov
d040 65 72 6c 61 79 73 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 76 65 72 6c 61 79 73 0a 20 20 20 20 erlays......(let.((overlays.....
d060 20 20 20 20 20 20 20 3b 3b 20 43 6f 6c 6c 65 63 74 20 6f 76 65 72 6c 61 79 73 20 61 74 20 70 6f .......;;.Collect.overlays.at.po
d080 69 6e 74 20 74 68 61 74 20 73 70 65 63 69 66 79 20 60 66 61 63 65 27 2e 0a 20 20 20 20 20 20 20 int.that.specify.`face'.........
d0a0 20 20 20 20 28 64 65 6c 65 74 65 2d 69 66 2d 6e 6f 74 20 28 6c 61 6d 62 64 61 20 28 6f 29 0a 20 ....(delete-if-not.(lambda.(o)..
d0c0 20 20 20 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 76 65 72 ...........................(over
d0e0 6c 61 79 2d 67 65 74 20 6f 20 27 66 61 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lay-get.o.'face))...............
d100 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 68 74 6d 6c 69 7a 65 2d 73 ............(nreverse.(htmlize-s
d120 6f 72 74 65 64 2d 6f 76 65 72 6c 61 79 73 2d 61 74 20 28 70 6f 69 6e 74 29 29 29 29 29 0a 20 20 orted-overlays-at.(point)))))...
d140 20 20 20 20 20 20 20 20 6c 69 73 74 20 66 61 63 65 2d 70 72 6f 70 29 0a 20 20 20 20 20 20 28 64 ........list.face-prop).......(d
d160 6f 6c 69 73 74 20 28 6f 76 65 72 6c 61 79 20 6f 76 65 72 6c 61 79 73 29 0a 20 20 20 20 20 20 20 olist.(overlay.overlays)........
d180 20 28 73 65 74 71 20 66 61 63 65 2d 70 72 6f 70 20 28 6f 76 65 72 6c 61 79 2d 67 65 74 20 6f 76 .(setq.face-prop.(overlay-get.ov
d1a0 65 72 6c 61 79 20 27 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 20 erlay.'face)...............list.
d1c0 28 6e 63 6f 6e 63 20 28 68 74 6d 6c 69 7a 65 2d 64 65 63 6f 64 65 2d 66 61 63 65 2d 70 72 6f 70 (nconc.(htmlize-decode-face-prop
d1e0 20 66 61 63 65 2d 70 72 6f 70 29 20 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 55 6e 64 .face-prop).list))).......;;.Und
d200 65 72 20 22 4d 65 72 67 69 6e 67 20 46 61 63 65 73 22 20 74 68 65 20 6d 61 6e 75 61 6c 20 65 78 er."Merging.Faces".the.manual.ex
d220 70 6c 69 63 69 74 6c 79 20 73 74 61 74 65 73 0a 20 20 20 20 20 20 3b 3b 20 74 68 61 74 20 66 61 plicitly.states.......;;.that.fa
d240 63 65 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 6f 76 65 72 6c 61 79 73 20 74 61 6b 65 20 70 ces.specified.by.overlays.take.p
d260 72 65 63 65 64 65 6e 63 65 20 6f 76 65 72 0a 20 20 20 20 20 20 3b 3b 20 66 61 63 65 73 20 73 70 recedence.over.......;;.faces.sp
d280 65 63 69 66 69 65 64 20 62 79 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 2e 0a 20 20 20 20 ecified.by.text.properties......
d2a0 20 20 28 73 65 74 71 20 61 6c 6c 2d 66 61 63 65 73 20 28 6e 63 6f 6e 63 20 61 6c 6c 2d 66 61 63 ..(setq.all-faces.(nconc.all-fac
d2c0 65 73 20 6c 69 73 74 29 29 29 0a 20 20 20 20 61 6c 6c 2d 66 61 63 65 73 29 29 0a 0c 0a 3b 3b 20 es.list))).....all-faces))...;;.
d2e0 68 74 6d 6c 69 7a 65 20 73 75 70 70 6f 72 74 73 20 67 65 6e 65 72 61 74 69 6e 67 20 48 54 4d 4c htmlize.supports.generating.HTML
d300 20 69 6e 20 73 65 76 65 72 61 6c 20 66 6c 61 76 6f 72 73 2c 20 73 6f 6d 65 20 6f 66 20 77 68 69 .in.several.flavors,.some.of.whi
d320 63 68 0a 3b 3b 20 75 73 65 20 43 53 53 2c 20 61 6e 64 20 6f 74 68 65 72 73 20 74 68 65 20 3c 66 ch.;;.use.CSS,.and.others.the.<f
d340 6f 6e 74 3e 20 65 6c 65 6d 65 6e 74 2e 20 20 57 65 20 74 61 6b 65 20 61 6e 20 4f 4f 20 61 70 70 ont>.element...We.take.an.OO.app
d360 72 6f 61 63 68 20 61 6e 64 0a 3b 3b 20 64 65 66 69 6e 65 20 22 6d 65 74 68 6f 64 73 22 20 74 68 roach.and.;;.define."methods".th
d380 61 74 20 69 6e 64 69 72 65 63 74 20 74 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 at.indirect.to.the.functions.tha
d3a0 74 20 64 65 70 65 6e 64 20 6f 6e 0a 3b 3b 20 60 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 t.depend.on.;;.`htmlize-output-t
d3c0 79 70 65 27 2e 20 20 54 68 65 20 63 75 72 72 65 6e 74 6c 79 20 75 73 65 64 20 6d 65 74 68 6f 64 ype'...The.currently.used.method
d3e0 73 20 61 72 65 20 60 64 6f 63 74 79 70 65 27 2c 0a 3b 3b 20 60 69 6e 73 65 72 74 2d 68 65 61 64 s.are.`doctype',.;;.`insert-head
d400 27 2c 20 60 62 6f 64 79 2d 74 61 67 27 2c 20 60 70 72 65 2d 74 61 67 27 2c 20 61 6e 64 20 60 74 ',.`body-tag',.`pre-tag',.and.`t
d420 65 78 74 2d 6d 61 72 6b 75 70 27 2e 20 20 4e 6f 74 20 61 6c 6c 0a 3b 3b 20 6f 75 74 70 75 74 20 ext-markup'...Not.all.;;.output.
d440 74 79 70 65 73 20 64 65 66 69 6e 65 20 61 6c 6c 20 6d 65 74 68 6f 64 73 2e 0a 3b 3b 0a 3b 3b 20 types.define.all.methods..;;.;;.
d460 4d 65 74 68 6f 64 73 20 61 72 65 20 63 61 6c 6c 65 64 20 65 69 74 68 65 72 20 77 69 74 68 20 28 Methods.are.called.either.with.(
d480 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 4d 45 54 48 4f 44 20 41 52 47 53 2e 2e 2e 29 20 0a htmlize-method.METHOD.ARGS...)..
d4a0 3b 3b 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 2c 20 6f 72 20 62 79 20 61 63 63 65 73 73 69 6e 67 ;;.special.form,.or.by.accessing
d4c0 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 0a 3b 3b 20 28 68 74 6d 6c 69 7a 65 2d 6d .the.function.with.;;.(htmlize-m
d4e0 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 27 4d 45 54 48 4f 44 29 20 61 6e 64 20 63 61 6c 6c ethod-function.'METHOD).and.call
d500 69 6e 67 20 28 66 75 6e 63 61 6c 6c 20 46 55 4e 43 54 49 4f 4e 29 2e 0a 3b 3b 20 54 68 65 20 6c ing.(funcall.FUNCTION)..;;.The.l
d520 61 74 74 65 72 20 66 6f 72 6d 20 69 73 20 75 73 65 66 75 6c 20 69 6e 20 74 69 67 68 74 20 6c 6f atter.form.is.useful.in.tight.lo
d540 6f 70 73 20 62 65 63 61 75 73 65 20 60 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 27 0a 3b 3b 20 ops.because.`htmlize-method'.;;.
d560 63 6f 6e 73 65 73 2e 0a 0a 28 64 65 66 6d 61 63 72 6f 20 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f conses...(defmacro.htmlize-metho
d580 64 20 28 6d 65 74 68 6f 64 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 3b 3b 20 45 78 70 61 6e d.(method.&rest.args)...;;.Expan
d5a0 64 20 74 6f 20 28 68 74 6d 6c 69 7a 65 2d 54 59 50 45 2d 4d 45 54 48 4f 44 20 2e 2e 2e 41 52 47 d.to.(htmlize-TYPE-METHOD....ARG
d5c0 53 2e 2e 2e 29 2e 20 20 54 59 50 45 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 3b S...)...TYPE.is.the.value.of...;
d5e0 3b 20 60 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 79 70 65 27 20 61 74 20 72 75 6e 20 74 ;.`htmlize-output-type'.at.run.t
d600 69 6d 65 2e 0a 20 20 60 28 66 75 6e 63 61 6c 6c 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 ime....`(funcall.(htmlize-method
d620 2d 66 75 6e 63 74 69 6f 6e 20 27 2c 6d 65 74 68 6f 64 29 20 2c 40 61 72 67 73 29 29 0a 0a 28 64 -function.',method).,@args))..(d
d640 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 28 6d 65 efun.htmlize-method-function.(me
d660 74 68 6f 64 29 0a 20 20 3b 3b 20 52 65 74 75 72 6e 20 4d 45 54 48 4f 44 27 73 20 66 75 6e 63 74 thod)...;;.Return.METHOD's.funct
d680 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 6f ion.definition.for.the.current.o
d6a0 75 74 70 75 74 20 74 79 70 65 2e 0a 20 20 3b 3b 20 54 68 65 20 72 65 74 75 72 6e 65 64 20 6f 62 utput.type....;;.The.returned.ob
d6c0 6a 65 63 74 20 63 61 6e 20 62 65 20 73 61 66 65 6c 79 20 66 75 6e 63 61 6c 6c 65 64 2e 0a 20 20 ject.can.be.safely.funcalled....
d6e0 28 6c 65 74 20 28 28 73 79 6d 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 68 74 6d 6c (let.((sym.(intern.(format."html
d700 69 7a 65 2d 25 73 2d 25 73 22 20 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 79 70 65 20 6d ize-%s-%s".htmlize-output-type.m
d720 65 74 68 6f 64 29 29 29 29 0a 20 20 20 20 28 69 6e 64 69 72 65 63 74 2d 66 75 6e 63 74 69 6f 6e ethod)))).....(indirect-function
d740 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 73 79 6d 29 0a 09 09 09 20 20 20 73 79 6d 0a 09 09 09 .(if.(fboundp.sym).......sym....
d760 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 20 28 69 6e 74 65 72 6e 20 28 63 6f 6e 63 61 74 20 .(let.((default.(intern.(concat.
d780 22 68 74 6d 6c 69 7a 65 2d 64 65 66 61 75 6c 74 2d 22 0a 09 09 09 09 09 09 09 28 73 79 6d 62 6f "htmlize-default-"........(symbo
d7a0 6c 2d 6e 61 6d 65 20 6d 65 74 68 6f 64 29 29 29 29 29 0a 09 09 09 20 20 20 28 69 66 20 28 66 62 l-name.method))))).......(if.(fb
d7c0 6f 75 6e 64 70 20 64 65 66 61 75 6c 74 29 0a 09 09 09 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 oundp.default)...........default
d7e0 0a 09 09 09 20 20 20 20 20 27 69 67 6e 6f 72 65 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 .........'ignore))))))..(defvar.
d800 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 2d 74 61 62 6c 65 20 28 6d 61 6b 65 2d htmlize-memoization-table.(make-
d820 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 0a 0a 28 64 65 66 6d hash-table.:test.'equal))..(defm
d840 61 63 72 6f 20 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 7a 65 20 28 6b 65 79 20 67 65 6e 65 72 61 acro.htmlize-memoize.(key.genera
d860 74 6f 72 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 47 45 4e 45 tor)..."Return.the.value.of.GENE
d880 52 41 54 4f 52 2c 20 6d 65 6d 6f 69 7a 65 64 20 61 73 20 4b 45 59 2e 0a 54 68 61 74 20 6d 65 61 RATOR,.memoized.as.KEY..That.mea
d8a0 6e 73 20 74 68 61 74 20 47 45 4e 45 52 41 54 4f 52 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 ns.that.GENERATOR.will.be.evalua
d8c0 74 65 64 20 61 6e 64 20 72 65 74 75 72 6e 65 64 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 0a ted.and.returned.the.first.time.
d8e0 69 74 27 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 20 it's.called.with.the.same.value.
d900 6f 66 20 4b 45 59 2e 20 20 41 6c 6c 20 6f 74 68 65 72 20 74 69 6d 65 73 2c 20 74 68 65 20 63 61 of.KEY...All.other.times,.the.ca
d920 63 68 65 64 0a 5c 28 6d 65 6d 6f 69 7a 65 64 29 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 72 ched.\(memoized).value.will.be.r
d940 65 74 75 72 6e 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 67 65 6e 73 79 6d eturned."...(let.((value.(gensym
d960 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 76 61 6c 75 65 20 28 67 65 74 68 61 73 68 20 ))).....`(let.((,value.(gethash.
d980 2c 6b 65 79 20 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 2d 74 61 62 6c 65 29 29 ,key.htmlize-memoization-table))
d9a0 29 0a 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 2c 76 61 6c 75 65 0a 09 20 28 73 65 74 71 20 )........(unless.,value...(setq.
d9c0 2c 76 61 6c 75 65 20 2c 67 65 6e 65 72 61 74 6f 72 29 0a 09 20 28 73 65 74 66 20 28 67 65 74 68 ,value.,generator)...(setf.(geth
d9e0 61 73 68 20 2c 6b 65 79 20 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 2d 74 61 62 ash.,key.htmlize-memoization-tab
da00 6c 65 29 20 2c 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 2c 76 61 6c 75 65 29 29 29 0a 0c 0a le).,value))........,value)))...
da20 3b 3b 3b 20 44 65 66 61 75 6c 74 20 6d 65 74 68 6f 64 73 2e 0a 0a 28 64 65 66 75 6e 20 68 74 6d ;;;.Default.methods...(defun.htm
da40 6c 69 7a 65 2d 64 65 66 61 75 6c 74 2d 64 6f 63 74 79 70 65 20 28 29 0a 20 20 6e 69 6c 09 09 09 lize-default-doctype.()...nil...
da60 09 09 3b 20 6e 6f 20 64 6f 63 2d 73 74 72 69 6e 67 0a 20 20 3b 3b 20 4e 6f 74 65 20 74 68 61 74 ..;.no.doc-string...;;.Note.that
da80 20 74 68 65 20 60 66 6f 6e 74 27 20 6f 75 74 70 75 74 20 69 73 20 74 65 63 68 6e 69 63 61 6c 6c .the.`font'.output.is.technicall
daa0 79 20 69 6e 76 61 6c 69 64 20 75 6e 64 65 72 20 74 68 69 73 20 44 54 44 0a 20 20 3b 3b 20 62 65 y.invalid.under.this.DTD...;;.be
dac0 63 61 75 73 65 20 74 68 65 20 44 54 44 20 64 6f 65 73 6e 27 74 20 61 6c 6c 6f 77 20 65 6d 62 65 cause.the.DTD.doesn't.allow.embe
dae0 64 64 69 6e 67 20 3c 66 6f 6e 74 3e 20 69 6e 20 3c 70 72 65 3e 2e 0a 20 20 22 3c 21 44 4f 43 54 dding.<font>.in.<pre>...."<!DOCT
db00 59 50 45 20 68 74 6d 6c 20 50 55 42 4c 49 43 20 5c 22 2d 2f 2f 57 33 43 2f 2f 44 54 44 20 48 54 YPE.html.PUBLIC.\"-//W3C//DTD.HT
db20 4d 4c 20 34 2e 30 31 2f 2f 45 4e 5c 22 3e 22 0a 20 20 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c ML.4.01//EN\">"...)..(defun.html
db40 69 7a 65 2d 64 65 66 61 75 6c 74 2d 62 6f 64 79 2d 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a ize-default-body-tag.(face-map).
db60 20 20 6e 69 6c 09 09 09 09 09 3b 20 6e 6f 20 64 6f 63 2d 73 74 72 69 6e 67 0a 20 20 66 61 63 65 ..nil.....;.no.doc-string...face
db80 2d 6d 61 70 20 3b 20 73 68 75 74 20 75 70 20 74 68 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 -map.;.shut.up.the.byte-compiler
dba0 0a 20 20 22 3c 62 6f 64 79 3e 22 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 64 65 66 ..."<body>")..(defun.htmlize-def
dbc0 61 75 6c 74 2d 70 72 65 2d 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 6e 69 6c 09 09 09 ault-pre-tag.(face-map)...nil...
dbe0 09 09 3b 20 6e 6f 20 64 6f 63 2d 73 74 72 69 6e 67 0a 20 20 66 61 63 65 2d 6d 61 70 20 3b 20 73 ..;.no.doc-string...face-map.;.s
dc00 68 75 74 20 75 70 20 74 68 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 0a 20 20 22 3c 70 72 65 hut.up.the.byte-compiler..."<pre
dc20 3e 22 29 0a 0a 0c 0a 3b 3b 3b 20 43 53 53 20 62 61 73 65 64 20 6f 75 74 70 75 74 20 73 75 70 70 >")....;;;.CSS.based.output.supp
dc40 6f 72 74 2e 0a 0a 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 3b 20 6e 6f 74 20 ort...;;.Internal.function;.not.
dc60 61 20 6d 65 74 68 6f 64 2e 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 a.method..(defun.htmlize-css-spe
dc80 63 73 20 28 66 73 74 72 75 63 74 29 0a 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 0a 20 20 20 cs.(fstruct)...(let.(result)....
dca0 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 .(when.(htmlize-fstruct-foregrou
dcc0 6e 64 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 nd.fstruct).......(push.(format.
dce0 22 63 6f 6c 6f 72 3a 20 25 73 3b 22 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f "color:.%s;".(htmlize-fstruct-fo
dd00 72 65 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 29 0a 09 20 20 20 20 72 65 73 75 6c 74 29 29 reground.fstruct))......result))
dd20 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b .....(when.(htmlize-fstruct-back
dd40 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 66 6f 72 ground.fstruct).......(push.(for
dd60 6d 61 74 20 22 62 61 63 6b 67 72 6f 75 6e 64 2d 63 6f 6c 6f 72 3a 20 25 73 3b 22 0a 09 09 20 20 mat."background-color:.%s;".....
dd80 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 73 ..(htmlize-fstruct-background.fs
dda0 74 72 75 63 74 29 29 0a 09 20 20 20 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 28 6c 65 74 20 28 truct))......result)).....(let.(
ddc0 28 73 69 7a 65 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 69 7a 65 20 66 73 74 72 (size.(htmlize-fstruct-size.fstr
dde0 75 63 74 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 73 69 7a 65 20 28 6e 6f uct))).......(when.(and.size.(no
de00 74 20 28 65 71 20 68 74 6d 6c 69 7a 65 2d 69 67 6e 6f 72 65 2d 66 61 63 65 2d 73 69 7a 65 20 74 t.(eq.htmlize-ignore-face-size.t
de20 29 29 29 0a 09 28 63 6f 6e 64 20 28 28 66 6c 6f 61 74 70 20 73 69 7a 65 29 0a 09 20 20 20 20 20 )))..(cond.((floatp.size).......
de40 20 20 28 70 75 73 68 20 28 66 6f 72 6d 61 74 20 22 66 6f 6e 74 2d 73 69 7a 65 3a 20 25 64 25 25 ..(push.(format."font-size:.%d%%
de60 3b 22 20 28 2a 20 31 30 30 20 73 69 7a 65 29 29 20 72 65 73 75 6c 74 29 29 0a 09 20 20 20 20 20 ;".(*.100.size)).result)).......
de80 20 28 28 6e 6f 74 20 28 65 71 20 68 74 6d 6c 69 7a 65 2d 69 67 6e 6f 72 65 2d 66 61 63 65 2d 73 .((not.(eq.htmlize-ignore-face-s
dea0 69 7a 65 20 27 61 62 73 6f 6c 75 74 65 29 29 0a 09 20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 ize.'absolute)).........(push.(f
dec0 6f 72 6d 61 74 20 22 66 6f 6e 74 2d 73 69 7a 65 3a 20 25 73 70 74 3b 22 20 28 2f 20 73 69 7a 65 ormat."font-size:.%spt;".(/.size
dee0 20 31 30 2e 30 29 29 20 72 65 73 75 6c 74 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 68 .10.0)).result))))).....(when.(h
df00 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 70 20 66 73 74 72 75 63 74 29 0a 20 20 tmlize-fstruct-boldp.fstruct)...
df20 20 20 20 20 28 70 75 73 68 20 22 66 6f 6e 74 2d 77 65 69 67 68 74 3a 20 62 6f 6c 64 3b 22 20 72 ....(push."font-weight:.bold;".r
df40 65 73 75 6c 74 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 esult)).....(when.(htmlize-fstru
df60 63 74 2d 69 74 61 6c 69 63 70 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 ct-italicp.fstruct).......(push.
df80 22 66 6f 6e 74 2d 73 74 79 6c 65 3a 20 69 74 61 6c 69 63 3b 22 20 72 65 73 75 6c 74 29 29 0a 20 "font-style:.italic;".result))..
dfa0 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 75 6e 64 65 72 6c ...(when.(htmlize-fstruct-underl
dfc0 69 6e 65 70 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 22 74 65 78 74 2d inep.fstruct).......(push."text-
dfe0 64 65 63 6f 72 61 74 69 6f 6e 3a 20 75 6e 64 65 72 6c 69 6e 65 3b 22 20 72 65 73 75 6c 74 29 29 decoration:.underline;".result))
e000 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 6f 76 65 72 .....(when.(htmlize-fstruct-over
e020 6c 69 6e 65 70 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 22 74 65 78 74 linep.fstruct).......(push."text
e040 2d 64 65 63 6f 72 61 74 69 6f 6e 3a 20 6f 76 65 72 6c 69 6e 65 3b 22 20 72 65 73 75 6c 74 29 29 -decoration:.overline;".result))
e060 0a 20 20 20 20 28 77 68 65 6e 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 .....(when.(htmlize-fstruct-stri
e080 6b 65 70 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 22 74 65 78 74 2d 64 kep.fstruct).......(push."text-d
e0a0 65 63 6f 72 61 74 69 6f 6e 3a 20 6c 69 6e 65 2d 74 68 72 6f 75 67 68 3b 22 20 72 65 73 75 6c 74 ecoration:.line-through;".result
e0c0 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 28 64 65 66 )).....(nreverse.result)))..(def
e0e0 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 69 6e 73 65 72 74 2d 68 65 61 64 20 28 62 75 66 66 un.htmlize-css-insert-head.(buff
e100 65 72 2d 66 61 63 65 73 20 66 61 63 65 2d 6d 61 70 29 0a 20 20 28 69 6e 73 65 72 74 20 22 20 20 er-faces.face-map)...(insert."..
e120 20 20 3c 73 74 79 6c 65 20 74 79 70 65 3d 5c 22 74 65 78 74 2f 63 73 73 5c 22 3e 5c 6e 20 20 20 ..<style.type=\"text/css\">\n...
e140 20 3c 21 2d 2d 5c 6e 22 29 0a 20 20 28 69 6e 73 65 72 74 20 22 20 20 20 20 20 20 62 6f 64 79 20 .<!--\n")...(insert."......body.
e160 7b 5c 6e 20 20 20 20 20 20 20 20 22 0a 09 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 {\n........"....(mapconcat.#'ide
e180 6e 74 69 74 79 0a 09 09 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 ntity........(htmlize-css-specs.
e1a0 28 67 65 74 68 61 73 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 70 29 29 0a 09 09 20 (gethash.'default.face-map))....
e1c0 20 20 20 20 22 5c 6e 20 20 20 20 20 20 20 20 22 29 0a 09 20 20 22 5c 6e 20 20 20 20 20 20 7d 5c ...."\n........")...."\n......}\
e1e0 6e 22 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 61 63 65 20 28 73 6f 72 74 2a 20 28 63 6f 70 79 n")...(dolist.(face.(sort*.(copy
e200 2d 6c 69 73 74 20 62 75 66 66 65 72 2d 66 61 63 65 73 29 20 23 27 73 74 72 69 6e 67 2d 6c 65 73 -list.buffer-faces).#'string-les
e220 73 70 0a 09 09 20 20 20 20 20 20 20 3a 6b 65 79 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 09 09 09 sp..........:key.(lambda.(f)....
e240 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 ......(htmlize-fstruct-css-name.
e260 28 67 65 74 68 61 73 68 20 66 20 66 61 63 65 2d 6d 61 70 29 29 29 29 29 0a 20 20 20 20 28 6c 65 (gethash.f.face-map))))).....(le
e280 74 2a 20 28 28 66 73 74 72 75 63 74 20 28 67 65 74 68 61 73 68 20 66 61 63 65 20 66 61 63 65 2d t*.((fstruct.(gethash.face.face-
e2a0 6d 61 70 29 29 0a 09 20 20 20 28 63 6c 65 61 6e 65 64 2d 75 70 2d 66 61 63 65 2d 6e 61 6d 65 0a map)).....(cleaned-up-face-name.
e2c0 09 20 20 20 20 28 6c 65 74 20 28 28 73 0a 09 09 20 20 20 3b 3b 20 55 73 65 20 60 70 72 69 6e 31 .....(let.((s......;;.Use.`prin1
e2e0 2d 74 6f 2d 73 74 72 69 6e 67 27 20 72 61 74 68 65 72 20 74 68 61 6e 20 60 73 79 6d 62 6f 6c 2d -to-string'.rather.than.`symbol-
e300 6e 61 6d 65 27 0a 09 09 20 20 20 3b 3b 20 74 6f 20 67 65 74 20 74 68 65 20 66 61 63 65 20 6e 61 name'......;;.to.get.the.face.na
e320 6d 65 20 62 65 63 61 75 73 65 20 74 68 65 20 22 66 61 63 65 22 20 63 61 6e 20 61 6c 73 6f 0a 09 me.because.the."face".can.also..
e340 09 20 20 20 3b 3b 20 62 65 20 61 6e 20 61 74 74 72 6c 69 73 74 2c 20 77 68 69 63 68 20 69 73 20 ....;;.be.an.attrlist,.which.is.
e360 6e 6f 74 20 61 20 73 79 6d 62 6f 6c 2e 0a 09 09 20 20 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 not.a.symbol.......(prin1-to-str
e380 69 6e 67 20 66 61 63 65 29 29 29 0a 09 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 6e 61 6d ing.face)))........;;.If.the.nam
e3a0 65 20 63 6f 6e 74 61 69 6e 73 20 60 2d 2d 27 20 6f 72 20 60 2a 2f 27 2c 20 72 65 6d 6f 76 65 20 e.contains.`--'.or.`*/',.remove.
e3c0 74 68 65 6d 2e 0a 09 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 them.........(while.(string-matc
e3e0 68 20 22 2d 2d 22 20 73 29 0a 09 09 28 73 65 74 71 20 73 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 h."--".s)...(setq.s.(replace-mat
e400 63 68 20 22 2d 22 20 74 20 74 20 73 29 29 29 0a 09 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 ch."-".t.t.s)))........(while.(s
e420 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 2a 2f 22 20 73 29 0a 09 09 28 73 65 74 71 20 73 20 tring-match."\\*/".s)...(setq.s.
e440 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 58 58 22 20 74 20 74 20 73 29 29 29 0a 09 20 20 (replace-match."XX".t.t.s)))....
e460 20 20 20 20 73 29 29 0a 09 20 20 20 28 73 70 65 63 73 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d ....s)).....(specs.(htmlize-css-
e480 73 70 65 63 73 20 66 73 74 72 75 63 74 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 specs.fstruct))).......(insert."
e4a0 20 20 20 20 20 20 2e 22 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 .......".(htmlize-fstruct-css-na
e4c0 6d 65 20 66 73 74 72 75 63 74 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 73 70 65 me.fstruct)).......(if.(null.spe
e4e0 63 73 29 0a 09 20 20 28 69 6e 73 65 72 74 20 22 20 7b 22 29 0a 09 28 69 6e 73 65 72 74 20 22 20 cs)....(insert.".{")..(insert.".
e500 7b 5c 6e 20 20 20 20 20 20 20 20 2f 2a 20 22 20 63 6c 65 61 6e 65 64 2d 75 70 2d 66 61 63 65 2d {\n......../*.".cleaned-up-face-
e520 6e 61 6d 65 20 22 20 2a 2f 5c 6e 20 20 20 20 20 20 20 20 22 0a 09 09 28 6d 61 70 63 6f 6e 63 61 name.".*/\n........"...(mapconca
e540 74 20 23 27 69 64 65 6e 74 69 74 79 20 73 70 65 63 73 20 22 5c 6e 20 20 20 20 20 20 20 20 22 29 t.#'identity.specs."\n........")
e560 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 20 20 20 20 20 20 7d 5c 6e 22 29 29 )).......(insert."\n......}\n"))
e580 29 0a 20 20 28 69 6e 73 65 72 74 20 68 74 6d 6c 69 7a 65 2d 68 79 70 65 72 6c 69 6e 6b 2d 73 74 )...(insert.htmlize-hyperlink-st
e5a0 79 6c 65 0a 09 20 20 22 20 20 20 20 2d 2d 3e 5c 6e 20 20 20 20 3c 2f 73 74 79 6c 65 3e 5c 6e 22 yle...."....-->\n....</style>\n"
e5c0 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 74 65 78 74 2d 6d 61 72 6b ))..(defun.htmlize-css-text-mark
e5e0 75 70 20 28 66 73 74 72 75 63 74 2d 6c 69 73 74 20 62 75 66 66 65 72 29 0a 20 20 3b 3b 20 4f 70 up.(fstruct-list.buffer)...;;.Op
e600 65 6e 20 74 68 65 20 6d 61 72 6b 75 70 20 6e 65 65 64 65 64 20 74 6f 20 69 6e 73 65 72 74 20 74 en.the.markup.needed.to.insert.t
e620 65 78 74 20 63 6f 6c 6f 72 65 64 20 77 69 74 68 20 46 41 43 45 53 20 69 6e 74 6f 0a 20 20 3b 3b ext.colored.with.FACES.into...;;
e640 20 42 55 46 46 45 52 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 .BUFFER...Return.the.function.th
e660 61 74 20 63 6c 6f 73 65 73 20 74 68 65 20 6d 61 72 6b 75 70 2e 0a 0a 20 20 3b 3b 20 49 6e 20 43 at.closes.the.markup.....;;.In.C
e680 53 53 20 6d 6f 64 65 2c 20 74 68 69 73 20 69 73 20 65 61 73 79 3a 20 6a 75 73 74 20 6e 65 73 74 SS.mode,.this.is.easy:.just.nest
e6a0 20 74 68 65 20 74 65 78 74 20 69 6e 20 6f 6e 65 20 3c 73 70 61 6e 0a 20 20 3b 3b 20 63 6c 61 73 .the.text.in.one.<span...;;.clas
e6c0 73 3d 2e 2e 2e 3e 20 74 61 67 20 66 6f 72 20 65 61 63 68 20 66 61 63 65 20 69 6e 20 46 53 54 52 s=...>.tag.for.each.face.in.FSTR
e6e0 55 43 54 2d 4c 49 53 54 2e 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 73 74 72 75 63 74 20 66 73 74 UCT-LIST....(dolist.(fstruct.fst
e700 72 75 63 74 2d 6c 69 73 74 29 0a 20 20 20 20 28 70 72 69 6e 63 20 22 3c 73 70 61 6e 20 63 6c 61 ruct-list).....(princ."<span.cla
e720 73 73 3d 5c 22 22 20 62 75 66 66 65 72 29 0a 20 20 20 20 28 70 72 69 6e 63 20 28 68 74 6d 6c 69 ss=\"".buffer).....(princ.(htmli
e740 7a 65 2d 66 73 74 72 75 63 74 2d 63 73 73 2d 6e 61 6d 65 20 66 73 74 72 75 63 74 29 20 62 75 66 ze-fstruct-css-name.fstruct).buf
e760 66 65 72 29 0a 20 20 20 20 28 70 72 69 6e 63 20 22 5c 22 3e 22 20 62 75 66 66 65 72 29 29 0a 20 fer).....(princ."\">".buffer))..
e780 20 28 68 74 6d 6c 69 7a 65 2d 6c 65 78 6c 65 74 20 28 28 66 73 74 72 75 63 74 2d 6c 69 73 74 20 .(htmlize-lexlet.((fstruct-list.
e7a0 66 73 74 72 75 63 74 2d 6c 69 73 74 29 20 28 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 fstruct-list).(buffer.buffer))..
e7c0 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 73 74 ...(lambda.().......(dolist.(fst
e7e0 72 75 63 74 20 66 73 74 72 75 63 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 69 67 6e 6f ruct.fstruct-list).........(igno
e800 72 65 20 66 73 74 72 75 63 74 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 73 68 75 re.fstruct)................;.shu
e820 74 20 75 70 20 74 68 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 0a 20 20 20 20 20 20 20 20 28 t.up.the.byte-compiler.........(
e840 70 72 69 6e 63 20 22 3c 2f 73 70 61 6e 3e 22 20 62 75 66 66 65 72 29 29 29 29 29 0a 0c 0a 3b 3b princ."</span>".buffer)))))...;;
e860 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 6f 75 74 70 75 74 20 73 75 70 70 6f 72 74 2e 0a 0a 28 .`inline-css'.output.support...(
e880 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 69 6e 6c 69 6e 65 2d 63 73 73 2d 62 6f 64 79 2d 74 61 defun.htmlize-inline-css-body-ta
e8a0 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 28 66 6f 72 6d 61 74 20 22 3c 62 6f 64 79 20 73 74 g.(face-map)...(format."<body.st
e8c0 79 6c 65 3d 5c 22 25 73 5c 22 3e 22 0a 09 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 yle=\"%s\">"....(mapconcat.#'ide
e8e0 6e 74 69 74 79 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 28 67 65 74 68 61 73 ntity.(htmlize-css-specs.(gethas
e900 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 70 29 29 0a 09 09 20 20 20 20 20 22 20 22 h.'default.face-map))........"."
e920 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 69 6e 6c 69 6e 65 2d 63 73 73 2d 70 )))..(defun.htmlize-inline-css-p
e940 72 65 2d 74 61 67 20 28 66 61 63 65 2d 6d 61 70 29 0a 20 20 28 69 66 20 68 74 6d 6c 69 7a 65 2d re-tag.(face-map)...(if.htmlize-
e960 70 72 65 2d 73 74 79 6c 65 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 70 72 65 20 73 74 pre-style.......(format."<pre.st
e980 79 6c 65 3d 5c 22 25 73 5c 22 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 yle=\"%s\">"...............(mapc
e9a0 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 oncat.#'identity.(htmlize-css-sp
e9c0 65 63 73 20 28 67 65 74 68 61 73 68 20 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 70 29 29 ecs.(gethash.'default.face-map))
e9e0 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 22 20 22 29 29 0a ..........................".")).
ea00 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 70 72 65 3e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 ....(format."<pre>")))..(defun.h
ea20 74 6d 6c 69 7a 65 2d 69 6e 6c 69 6e 65 2d 63 73 73 2d 74 65 78 74 2d 6d 61 72 6b 75 70 20 28 66 tmlize-inline-css-text-markup.(f
ea40 73 74 72 75 63 74 2d 6c 69 73 74 20 62 75 66 66 65 72 29 0a 20 20 28 6c 65 74 2a 20 28 28 6d 65 struct-list.buffer)...(let*.((me
ea60 72 67 65 64 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 66 61 63 65 73 20 66 73 74 72 75 63 rged.(htmlize-merge-faces.fstruc
ea80 74 2d 6c 69 73 74 29 29 0a 09 20 28 73 74 79 6c 65 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f 69 t-list))...(style.(htmlize-memoi
eaa0 7a 65 0a 09 09 20 6d 65 72 67 65 64 0a 09 09 20 28 6c 65 74 20 28 28 73 70 65 63 73 20 28 68 74 ze....merged....(let.((specs.(ht
eac0 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 6d 65 72 67 65 64 29 29 29 0a 09 09 20 20 20 28 mlize-css-specs.merged)))......(
eae0 61 6e 64 20 73 70 65 63 73 0a 09 09 09 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 and.specs....(mapconcat.#'identi
eb00 74 79 20 28 68 74 6d 6c 69 7a 65 2d 63 73 73 2d 73 70 65 63 73 20 6d 65 72 67 65 64 29 20 22 20 ty.(htmlize-css-specs.merged).".
eb20 22 29 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 73 74 79 6c 65 0a 20 20 20 20 20 20 28 70 ")))))).....(when.style.......(p
eb40 72 69 6e 63 20 22 3c 73 70 61 6e 20 73 74 79 6c 65 3d 5c 22 22 20 62 75 66 66 65 72 29 0a 20 20 rinc."<span.style=\"".buffer)...
eb60 20 20 20 20 28 70 72 69 6e 63 20 73 74 79 6c 65 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 ....(princ.style.buffer).......(
eb80 70 72 69 6e 63 20 22 5c 22 3e 22 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a princ."\">".buffer)).....(htmliz
eba0 65 2d 6c 65 78 6c 65 74 20 28 28 73 74 79 6c 65 20 73 74 79 6c 65 29 20 28 62 75 66 66 65 72 20 e-lexlet.((style.style).(buffer.
ebc0 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 buffer)).......(lambda.().......
ebe0 20 20 28 77 68 65 6e 20 73 74 79 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 22 ..(when.style...........(princ."
ec00 3c 2f 73 70 61 6e 3e 22 20 62 75 66 66 65 72 29 29 29 29 29 29 0a 0c 0a 3b 3b 3b 20 60 66 6f 6e </span>".buffer))))))...;;;.`fon
ec20 74 27 20 74 61 67 20 62 61 73 65 64 20 6f 75 74 70 75 74 20 73 75 70 70 6f 72 74 2e 0a 0a 28 64 t'.tag.based.output.support...(d
ec40 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 6f 6e 74 2d 62 6f 64 79 2d 74 61 67 20 28 66 61 63 65 efun.htmlize-font-body-tag.(face
ec60 2d 6d 61 70 29 0a 20 20 28 6c 65 74 20 28 28 66 73 74 72 75 63 74 20 28 67 65 74 68 61 73 68 20 -map)...(let.((fstruct.(gethash.
ec80 27 64 65 66 61 75 6c 74 20 66 61 63 65 2d 6d 61 70 29 29 29 0a 20 20 20 20 28 66 6f 72 6d 61 74 'default.face-map))).....(format
eca0 20 22 3c 62 6f 64 79 20 74 65 78 74 3d 5c 22 25 73 5c 22 20 62 67 63 6f 6c 6f 72 3d 5c 22 25 73 ."<body.text=\"%s\".bgcolor=\"%s
ecc0 5c 22 3e 22 0a 09 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 \">"......(htmlize-fstruct-foreg
ece0 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 0a 09 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 round.fstruct)......(htmlize-fst
ed00 72 75 63 74 2d 62 61 63 6b 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 29 29 29 0a 0a 28 64 65 ruct-background.fstruct))))..(de
ed20 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 6f 6e 74 2d 70 72 65 2d 74 61 67 20 28 66 61 63 65 2d 6d fun.htmlize-font-pre-tag.(face-m
ed40 61 70 29 0a 20 20 28 69 66 20 68 74 6d 6c 69 7a 65 2d 70 72 65 2d 73 74 79 6c 65 0a 20 20 20 20 ap)...(if.htmlize-pre-style.....
ed60 20 20 28 6c 65 74 20 28 28 66 73 74 72 75 63 74 20 28 67 65 74 68 61 73 68 20 27 64 65 66 61 75 ..(let.((fstruct.(gethash.'defau
ed80 6c 74 20 66 61 63 65 2d 6d 61 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 lt.face-map))).........(format."
eda0 3c 70 72 65 20 74 65 78 74 3d 5c 22 25 73 5c 22 20 62 67 63 6f 6c 6f 72 3d 5c 22 25 73 5c 22 3e <pre.text=\"%s\".bgcolor=\"%s\">
edc0 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 ".................(htmlize-fstru
ede0 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 66 73 74 72 75 63 74 29 0a 20 20 20 20 20 20 20 20 20 ct-foreground.fstruct)..........
ee00 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 61 63 6b 67 72 6f 75 .......(htmlize-fstruct-backgrou
ee20 6e 64 20 66 73 74 72 75 63 74 29 29 29 0a 20 20 20 20 28 66 6f 72 6d 61 74 20 22 3c 70 72 65 3e nd.fstruct))).....(format."<pre>
ee40 22 29 29 29 0a 20 20 20 20 20 20 20 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 6f 6e 74 "))).........(defun.htmlize-font
ee60 2d 74 65 78 74 2d 6d 61 72 6b 75 70 20 28 66 73 74 72 75 63 74 2d 6c 69 73 74 20 62 75 66 66 65 -text-markup.(fstruct-list.buffe
ee80 72 29 0a 20 20 3b 3b 20 49 6e 20 60 66 6f 6e 74 27 20 6d 6f 64 65 2c 20 77 65 20 75 73 65 20 74 r)...;;.In.`font'.mode,.we.use.t
eea0 68 65 20 74 72 61 64 69 74 69 6f 6e 61 6c 20 48 54 4d 4c 20 6d 65 61 6e 73 20 6f 66 20 61 6c 74 he.traditional.HTML.means.of.alt
eec0 65 72 69 6e 67 0a 20 20 3b 3b 20 70 72 65 73 65 6e 74 61 74 69 6f 6e 3a 20 3c 66 6f 6e 74 3e 20 ering...;;.presentation:.<font>.
eee0 74 61 67 20 66 6f 72 20 63 6f 6c 6f 72 73 2c 20 3c 62 3e 20 66 6f 72 20 62 6f 6c 64 2c 20 3c 75 tag.for.colors,.<b>.for.bold,.<u
ef00 3e 20 66 6f 72 0a 20 20 3b 3b 20 75 6e 64 65 72 6c 69 6e 65 2c 20 61 6e 64 20 3c 73 74 72 69 6b >.for...;;.underline,.and.<strik
ef20 65 3e 20 66 6f 72 20 73 74 72 69 6b 65 2d 74 68 72 6f 75 67 68 2e 0a 20 20 28 6c 65 74 2a 20 28 e>.for.strike-through....(let*.(
ef40 28 6d 65 72 67 65 64 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 72 67 65 2d 66 61 63 65 73 20 66 73 74 (merged.(htmlize-merge-faces.fst
ef60 72 75 63 74 2d 6c 69 73 74 29 29 0a 09 20 28 6d 61 72 6b 75 70 20 28 68 74 6d 6c 69 7a 65 2d 6d ruct-list))...(markup.(htmlize-m
ef80 65 6d 6f 69 7a 65 0a 09 09 20 20 6d 65 72 67 65 64 0a 09 09 20 20 28 63 6f 6e 73 20 28 63 6f 6e emoize.....merged.....(cons.(con
efa0 63 61 74 0a 09 09 09 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f cat.....(and.(htmlize-fstruct-fo
efc0 72 65 67 72 6f 75 6e 64 20 6d 65 72 67 65 64 29 0a 09 09 09 20 20 20 20 20 20 28 66 6f 72 6d 61 reground.merged)..........(forma
efe0 74 20 22 3c 66 6f 6e 74 20 63 6f 6c 6f 72 3d 5c 22 25 73 5c 22 3e 22 20 28 68 74 6d 6c 69 7a 65 t."<font.color=\"%s\">".(htmlize
f000 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 6d 65 72 67 65 64 29 29 29 0a 09 09 -fstruct-foreground.merged)))...
f020 09 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c 64 70 20 6d 65 ..(and.(htmlize-fstruct-boldp.me
f040 72 67 65 64 29 20 20 20 20 20 20 22 3c 62 3e 22 29 0a 09 09 09 20 28 61 6e 64 20 28 68 74 6d 6c rged)......"<b>").....(and.(html
f060 69 7a 65 2d 66 73 74 72 75 63 74 2d 69 74 61 6c 69 63 70 20 6d 65 72 67 65 64 29 20 20 20 20 22 ize-fstruct-italicp.merged)...."
f080 3c 69 3e 22 29 0a 09 09 09 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d <i>").....(and.(htmlize-fstruct-
f0a0 75 6e 64 65 72 6c 69 6e 65 70 20 6d 65 72 67 65 64 29 20 22 3c 75 3e 22 29 0a 09 09 09 20 28 61 underlinep.merged)."<u>").....(a
f0c0 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 6b 65 70 20 6d 65 72 67 nd.(htmlize-fstruct-strikep.merg
f0e0 65 64 29 20 20 20 20 22 3c 73 74 72 69 6b 65 3e 22 29 29 0a 09 09 09 28 63 6f 6e 63 61 74 0a 09 ed)...."<strike>"))....(concat..
f100 09 09 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 73 74 72 69 6b 65 70 ...(and.(htmlize-fstruct-strikep
f120 20 6d 65 72 67 65 64 29 20 20 20 20 22 3c 2f 73 74 72 69 6b 65 3e 22 29 0a 09 09 09 20 28 61 6e .merged)...."</strike>").....(an
f140 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 75 6e 64 65 72 6c 69 6e 65 70 20 6d 65 d.(htmlize-fstruct-underlinep.me
f160 72 67 65 64 29 20 22 3c 2f 75 3e 22 29 0a 09 09 09 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d rged)."</u>").....(and.(htmlize-
f180 66 73 74 72 75 63 74 2d 69 74 61 6c 69 63 70 20 6d 65 72 67 65 64 29 20 20 20 20 22 3c 2f 69 3e fstruct-italicp.merged)...."</i>
f1a0 22 29 0a 09 09 09 20 28 61 6e 64 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 62 6f 6c ").....(and.(htmlize-fstruct-bol
f1c0 64 70 20 6d 65 72 67 65 64 29 20 20 20 20 20 20 22 3c 2f 62 3e 22 29 0a 09 09 09 20 28 61 6e 64 dp.merged)......"</b>").....(and
f1e0 20 28 68 74 6d 6c 69 7a 65 2d 66 73 74 72 75 63 74 2d 66 6f 72 65 67 72 6f 75 6e 64 20 6d 65 72 .(htmlize-fstruct-foreground.mer
f200 67 65 64 29 20 22 3c 2f 66 6f 6e 74 3e 22 29 29 29 29 29 29 0a 20 20 20 20 28 70 72 69 6e 63 20 ged)."</font>")))))).....(princ.
f220 28 63 61 72 20 6d 61 72 6b 75 70 29 20 62 75 66 66 65 72 29 0a 20 20 20 20 28 68 74 6d 6c 69 7a (car.markup).buffer).....(htmliz
f240 65 2d 6c 65 78 6c 65 74 20 28 28 6d 61 72 6b 75 70 20 6d 61 72 6b 75 70 29 20 28 62 75 66 66 65 e-lexlet.((markup.markup).(buffe
f260 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 r.buffer)).......(lambda.().....
f280 20 20 20 20 28 70 72 69 6e 63 20 28 63 64 72 20 6d 61 72 6b 75 70 29 20 62 75 66 66 65 72 29 29 ....(princ.(cdr.markup).buffer))
f2a0 29 29 29 0a 0c 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 20 28 29 )))...(defun.htmlize-buffer-1.()
f2c0 0a 20 20 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 3b 20 64 6f 6e 27 74 20 63 ...;;.Internal.function;.don't.c
f2e0 61 6c 6c 20 69 74 20 66 72 6f 6d 20 6f 75 74 73 69 64 65 20 74 68 69 73 20 66 69 6c 65 2e 20 20 all.it.from.outside.this.file...
f300 48 74 6d 6c 69 7a 65 0a 20 20 3b 3b 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 77 72 69 Htmlize...;;.current.buffer,.wri
f320 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 74 6f 20 61 20 6e 65 77 ting.the.resulting.HTML.to.a.new
f340 20 62 75 66 66 65 72 2c 20 61 6e 64 0a 20 20 3b 3b 20 72 65 74 75 72 6e 20 69 74 2e 20 20 55 6e .buffer,.and...;;.return.it...Un
f360 6c 69 6b 65 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2c 20 74 68 69 73 20 64 6f 65 73 6e 27 like.htmlize-buffer,.this.doesn'
f380 74 20 63 68 61 6e 67 65 20 63 75 72 72 65 6e 74 0a 20 20 3b 3b 20 62 75 66 66 65 72 20 6f 72 20 t.change.current...;;.buffer.or.
f3a0 75 73 65 20 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 2e 0a 20 20 28 73 61 76 65 2d 65 78 use.switch-to-buffer....(save-ex
f3c0 63 75 72 73 69 6f 6e 0a 20 20 20 20 3b 3b 20 50 72 6f 74 65 63 74 20 61 67 61 69 6e 73 74 20 74 cursion.....;;.Protect.against.t
f3e0 68 65 20 68 6f 6f 6b 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 he.hook.changing.the.current.buf
f400 66 65 72 2e 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 fer......(save-excursion.......(
f420 72 75 6e 2d 68 6f 6f 6b 73 20 27 68 74 6d 6c 69 7a 65 2d 62 65 66 6f 72 65 2d 68 6f 6f 6b 29 29 run-hooks.'htmlize-before-hook))
f440 0a 20 20 20 20 3b 3b 20 43 6f 6e 76 69 6e 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 20 73 75 70 70 6f .....;;.Convince.font-lock.suppo
f460 72 74 20 6d 6f 64 65 73 20 74 6f 20 66 6f 6e 74 69 66 79 20 74 68 65 20 65 6e 74 69 72 65 20 62 rt.modes.to.fontify.the.entire.b
f480 75 66 66 65 72 0a 20 20 20 20 3b 3b 20 69 6e 20 61 64 76 61 6e 63 65 2e 0a 20 20 20 20 28 68 74 uffer.....;;.in.advance......(ht
f4a0 6d 6c 69 7a 65 2d 65 6e 73 75 72 65 2d 66 6f 6e 74 69 66 69 65 64 29 0a 20 20 20 20 28 63 6c 72 mlize-ensure-fontified).....(clr
f4c0 68 61 73 68 20 68 74 6d 6c 69 7a 65 2d 65 78 74 65 6e 64 65 64 2d 63 68 61 72 61 63 74 65 72 2d hash.htmlize-extended-character-
f4e0 63 61 63 68 65 29 0a 20 20 20 20 28 63 6c 72 68 61 73 68 20 68 74 6d 6c 69 7a 65 2d 6d 65 6d 6f cache).....(clrhash.htmlize-memo
f500 69 7a 61 74 69 6f 6e 2d 74 61 62 6c 65 29 0a 20 20 20 20 3b 3b 20 49 74 27 73 20 69 6d 70 6f 72 ization-table).....;;.It's.impor
f520 74 61 6e 74 20 74 68 61 74 20 74 68 65 20 6e 65 77 20 62 75 66 66 65 72 20 69 6e 68 65 72 69 74 tant.that.the.new.buffer.inherit
f540 73 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 3b 3b 20 66 72 6f 6d 20 s.default-directory.....;;.from.
f560 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 68 the.current.buffer......(let.((h
f580 74 6d 6c 62 75 66 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 28 69 66 20 tmlbuf.(generate-new-buffer.(if.
f5a0 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (buffer-file-name)..............
f5c0 20 20 20 20 20 20 20 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 ...............................(
f5e0 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 htmlize-make-file-name..........
f600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f620 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 ....(file-name-nondirectory.....
f640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f660 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20 ..........(buffer-file-name)))..
f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f6a0 20 20 20 20 20 20 20 20 20 22 2a 68 74 6d 6c 2a 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 ........."*html*")))...........(
f6c0 63 6f 6d 70 6c 65 74 65 64 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 completed.nil)).......(unwind-pr
f6e0 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 62 75 66 66 65 72 2d 66 otect...........(let*.((buffer-f
f700 61 63 65 73 20 28 68 74 6d 6c 69 7a 65 2d 66 61 63 65 73 2d 69 6e 2d 62 75 66 66 65 72 29 29 0a aces.(htmlize-faces-in-buffer)).
f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 2d 6d 61 70 20 28 68 74 6d 6c .................(face-map.(html
f740 69 7a 65 2d 6d 61 6b 65 2d 66 61 63 65 2d 6d 61 70 20 28 61 64 6a 6f 69 6e 20 27 64 65 66 61 75 ize-make-face-map.(adjoin.'defau
f760 6c 74 20 62 75 66 66 65 72 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lt.buffer-faces)))..............
f780 20 20 20 20 28 70 6c 61 63 65 73 20 28 67 65 6e 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 ....(places.(gensym))...........
f7a0 20 20 20 20 20 20 20 28 74 69 74 6c 65 20 28 69 66 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e .......(title.(if.(buffer-file-n
f7c0 61 6d 65 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 ame)............................
f7e0 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 28 62 75 66 66 65 72 .(file-name-nondirectory.(buffer
f800 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -file-name))....................
f820 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 .......(buffer-name)))).........
f840 20 20 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 2d 67 65 6e 65 72 61 74 65 2d 68 79 70 65 72 ....(when.htmlize-generate-hyper
f860 6c 69 6e 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 63 72 65 links...............(htmlize-cre
f880 61 74 65 2d 61 75 74 6f 2d 6c 69 6e 6b 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 ate-auto-links)).............(wh
f8a0 65 6e 20 68 74 6d 6c 69 7a 65 2d 72 65 70 6c 61 63 65 2d 66 6f 72 6d 2d 66 65 65 64 73 0a 20 20 en.htmlize-replace-form-feeds...
f8c0 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 73 68 61 64 6f 77 2d 66 6f 72 6d ............(htmlize-shadow-form
f8e0 2d 66 65 65 64 73 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 69 74 69 61 6c -feeds))..............;;.Initial
f900 69 7a 65 20 48 54 4d 4c 42 55 46 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 48 54 4d 4c 20 ize.HTMLBUF.and.insert.the.HTML.
f920 70 72 6f 6c 6f 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e prolog..............(with-curren
f940 74 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 t-buffer.htmlbuf...............(
f960 62 75 66 66 65 72 2d 64 69 73 61 62 6c 65 2d 75 6e 64 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 buffer-disable-undo)............
f980 20 20 20 28 69 6e 73 65 72 74 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 64 6f 63 74 79 ...(insert.(htmlize-method.docty
f9a0 70 65 29 20 3f 5c 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 pe).?\n.......................(f
f9c0 6f 72 6d 61 74 20 22 3c 21 2d 2d 20 43 72 65 61 74 65 64 20 62 79 20 68 74 6d 6c 69 7a 65 2d 25 ormat."<!--.Created.by.htmlize-%
f9e0 73 20 69 6e 20 25 73 20 6d 6f 64 65 2e 20 2d 2d 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 s.in.%s.mode..-->\n"............
fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 69 7a 65 2d 76 65 72 73 69 ...................htmlize-versi
fa20 6f 6e 20 68 74 6d 6c 69 7a 65 2d 6f 75 74 70 75 74 2d 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 on.htmlize-output-type).........
fa40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3c 68 74 6d 6c 3e 5c 6e 20 20 22 29 0a 20 20 20 20 .............."<html>\n..").....
fa60 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 68 65 61 64 2d 73 74 61 72 ..........(put.places.'head-star
fa80 74 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(point-marker))...............
faa0 28 69 6e 73 65 72 74 20 22 3c 68 65 61 64 3e 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (insert."<head>\n"..............
fac0 20 20 20 20 20 20 20 20 20 22 20 20 20 20 3c 74 69 74 6c 65 3e 22 20 28 68 74 6d 6c 69 7a 65 2d ........."....<title>".(htmlize-
fae0 70 72 6f 74 65 63 74 2d 73 74 72 69 6e 67 20 74 69 74 6c 65 29 20 22 3c 2f 74 69 74 6c 65 3e 5c protect-string.title)."</title>\
fb00 6e 22 0a 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 68 74 6d n".......................(if.htm
fb20 6c 69 7a 65 2d 68 74 6d 6c 2d 63 68 61 72 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lize-html-charset...............
fb40 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 63 6f 6e 63 61 74 20 22 20 20 20 ............(format.(concat."...
fb60 20 3c 6d 65 74 61 20 68 74 74 70 2d 65 71 75 69 76 3d 5c 22 43 6f 6e 74 65 6e 74 2d 54 79 70 65 .<meta.http-equiv=\"Content-Type
fb80 5c 22 20 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 20 20 \"."............................
fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 63 6f 6e 74 65 6e 74 3d 5c 22 74 65 78 74 2f 68 ..............."content=\"text/h
fbc0 74 6d 6c 3b 20 63 68 61 72 73 65 74 3d 25 73 5c 22 3e 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 tml;.charset=%s\">\n")..........
fbe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 69 7a 65 .........................htmlize
fc00 2d 68 74 6d 6c 2d 63 68 61 72 73 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -html-charset)..................
fc20 20 20 20 20 20 20 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......."")......................
fc40 20 68 74 6d 6c 69 7a 65 2d 68 65 61 64 2d 74 61 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .htmlize-head-tags).............
fc60 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 69 6e 73 65 72 74 2d 68 65 61 64 20 62 75 ..(htmlize-method.insert-head.bu
fc80 66 66 65 72 2d 66 61 63 65 73 20 66 61 63 65 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 ffer-faces.face-map)............
fca0 20 20 20 28 69 6e 73 65 72 74 20 22 20 20 3c 2f 68 65 61 64 3e 22 29 0a 20 20 20 20 20 20 20 20 ...(insert."..</head>").........
fcc0 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 68 65 61 64 2d 65 6e 64 20 28 70 6f 69 ......(put.places.'head-end.(poi
fce0 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 nt-marker))...............(inser
fd00 74 20 22 5c 6e 20 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 t."\n..")...............(put.pla
fd20 63 65 73 20 27 62 6f 64 79 2d 73 74 61 72 74 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a ces.'body-start.(point-marker)).
fd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 68 74 6d 6c 69 7a 65 2d 6d ..............(insert.(htmlize-m
fd60 65 74 68 6f 64 20 62 6f 64 79 2d 74 61 67 20 66 61 63 65 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 ethod.body-tag.face-map)........
fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 20 20 20 20 22 29 0a 20 20 20 20 20 20 20 ..............."\n....")........
fda0 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 65 73 20 27 63 6f 6e 74 65 6e 74 2d 73 74 61 72 .......(put.places.'content-star
fdc0 74 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.(point-marker))...............
fde0 28 69 6e 73 65 72 74 20 28 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 20 70 72 65 2d 74 61 67 20 (insert.(htmlize-method.pre-tag.
fe00 66 61 63 65 2d 6d 61 70 29 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 face-map)."\n")).............(le
fe20 74 20 28 28 74 65 78 74 2d 6d 61 72 6b 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.((text-markup.................
fe40 20 20 20 3b 3b 20 47 65 74 20 74 68 65 20 69 6e 73 65 72 74 65 72 20 6d 65 74 68 6f 64 2c 20 73 ...;;.Get.the.inserter.method,.s
fe60 6f 20 77 65 20 63 61 6e 20 66 75 6e 63 61 6c 6c 20 69 74 20 69 6e 73 69 64 65 0a 20 20 20 20 20 o.we.can.funcall.it.inside......
fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 6c 6f 6f 70 2e 20 20 4e 6f 74 20 ..............;;.the.loop...Not.
fea0 63 61 6c 6c 69 6e 67 20 60 68 74 6d 6c 69 7a 65 2d 6d 65 74 68 6f 64 27 20 69 6e 20 74 68 65 20 calling.`htmlize-method'.in.the.
fec0 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 6f 64 79 20 loop....................;;.body.
fee0 79 69 65 6c 64 73 20 61 20 6d 65 61 73 75 72 61 62 6c 65 20 73 70 65 65 64 20 69 6e 63 72 65 61 yields.a.measurable.speed.increa
ff00 73 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d se.....................(htmlize-
ff20 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 27 74 65 78 74 2d 6d 61 72 6b 75 70 29 29 0a 20 method-function.'text-markup))..
ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 65 63 6c 61 72 65 20 76 61 72 69 .................;;.Declare.vari
ff60 61 62 6c 65 73 20 75 73 65 64 20 69 6e 20 6c 6f 6f 70 20 62 6f 64 79 20 6f 75 74 73 69 64 65 20 ables.used.in.loop.body.outside.
ff80 74 68 65 20 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 the.loop...................;;.be
ffa0 63 61 75 73 65 20 69 74 27 73 20 66 61 73 74 65 72 20 74 6f 20 65 73 74 61 62 6c 69 73 68 20 60 cause.it's.faster.to.establish.`
ffc0 6c 65 74 27 20 62 69 6e 64 69 6e 67 73 20 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 let'.bindings.only..............
ffe0 20 20 20 20 20 3b 3b 20 6f 6e 63 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....;;.once....................
10000 6e 65 78 74 2d 63 68 61 6e 67 65 20 74 65 78 74 20 66 61 63 65 2d 6c 69 73 74 20 74 72 61 69 6c next-change.text.face-list.trail
10020 69 6e 67 2d 65 6c 6c 69 70 73 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 ing-ellipsis...................f
10040 73 74 72 75 63 74 2d 6c 69 73 74 20 6c 61 73 74 2d 66 73 74 72 75 63 74 2d 6c 69 73 74 0a 20 20 struct-list.last-fstruct-list...
10060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 6f 73 65 2d 6d 61 72 6b 75 70 20 28 6c ................(close-markup.(l
10080 61 6d 62 64 61 20 28 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 ambda.())))...............;;.Thi
100a0 73 20 6c 6f 6f 70 20 74 72 61 76 65 72 73 65 73 20 61 6e 64 20 72 65 61 64 73 20 74 68 65 20 73 s.loop.traverses.and.reads.the.s
100c0 6f 75 72 63 65 20 62 75 66 66 65 72 2c 20 61 70 70 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 ource.buffer,.appending.........
100e0 20 20 20 20 20 20 3b 3b 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 74 6f 20 48 ......;;.the.resulting.HTML.to.H
10100 54 4d 4c 42 55 46 2e 20 20 54 68 69 73 20 6d 65 74 68 6f 64 20 69 73 20 66 61 73 74 0a 20 20 20 TMLBUF...This.method.is.fast....
10120 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 63 61 75 73 65 3a 20 31 29 20 69 74 20 64 6f 65 ...........;;.because:.1).it.doe
10140 73 6e 27 74 20 72 65 71 75 69 72 65 20 65 78 61 6d 69 6e 69 6e 67 20 74 68 65 20 74 65 78 74 0a sn't.require.examining.the.text.
10160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72 74 69 65 73 20 63 68 61 72 ..............;;.properties.char
10180 20 62 79 20 63 68 61 72 20 28 68 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 66 61 63 65 2d 63 68 61 6e .by.char.(htmlize-next-face-chan
101a0 67 65 20 69 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 20 6d ge.is.used...............;;.to.m
101c0 6f 76 65 20 62 65 74 77 65 65 6e 20 72 75 6e 73 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 66 ove.between.runs.with.the.same.f
101e0 61 63 65 29 2c 20 61 6e 64 20 32 29 20 69 74 20 64 6f 65 73 6e 27 74 0a 20 20 20 20 20 20 20 20 ace),.and.2).it.doesn't.........
10200 20 20 20 20 20 20 3b 3b 20 72 65 71 75 69 72 65 20 66 72 65 71 75 65 6e 74 20 62 75 66 66 65 72 ......;;.require.frequent.buffer
10220 20 73 77 69 74 63 68 65 73 2c 20 77 68 69 63 68 20 61 72 65 20 73 6c 6f 77 20 62 65 63 61 75 73 .switches,.which.are.slow.becaus
10240 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 79 20 72 65 62 69 6e 64 20 61 e...............;;.they.rebind.a
10260 6c 6c 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 ll.buffer-local.vars............
10280 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 29 29 0a 20 20 20 20 ....(goto-char.(point-min)).....
102a0 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 ..........(while.(not.(eobp))...
102c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 ..............(setq.next-change.
102e0 28 68 74 6d 6c 69 7a 65 2d 6e 65 78 74 2d 66 61 63 65 2d 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 (htmlize-next-face-change.(point
10300 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 47 65 74 20 66 61 63 65 73 ))).................;;.Get.faces
10320 20 69 6e 20 75 73 65 20 62 65 74 77 65 65 6e 20 28 70 6f 69 6e 74 29 20 61 6e 64 20 4e 45 58 54 .in.use.between.(point).and.NEXT
10340 2d 43 48 41 4e 47 45 2c 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 -CHANGE,.and.................;;.
10360 63 6f 6e 76 65 72 74 20 74 68 65 6d 20 74 6f 20 66 73 74 72 75 63 74 73 2e 0a 20 20 20 20 20 20 convert.them.to.fstructs........
10380 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 61 63 65 2d 6c 69 73 74 20 28 68 74 6d 6c 69 ..........(setq.face-list.(htmli
103a0 7a 65 2d 66 61 63 65 73 2d 61 74 2d 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ze-faces-at-point)..............
103c0 20 20 20 20 20 20 20 20 20 66 73 74 72 75 63 74 2d 6c 69 73 74 20 28 64 65 6c 71 20 6e 69 6c 20 .........fstruct-list.(delq.nil.
103e0 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (mapcar.(lambda.(f).............
10400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10420 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 68 61 73 68 20 66 20 66 61 63 65 2d 6d 61 70 29 29 ...........(gethash.f.face-map))
10440 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 ................................
10460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 61 63 65 2d 6c 69 73 74 29 ......................face-list)
10480 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 75 6c 74 69 70 6c 65 2d 76 61 6c )).................(multiple-val
104a0 75 65 2d 73 65 74 71 20 28 74 65 78 74 20 74 72 61 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 29 ue-setq.(text.trailing-ellipsis)
104c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 65 78 74 72 ...................(htmlize-extr
104e0 61 63 74 2d 74 65 78 74 20 28 70 6f 69 6e 74 29 20 6e 65 78 74 2d 63 68 61 6e 67 65 20 74 72 61 act-text.(point).next-change.tra
10500 69 6c 69 6e 67 2d 65 6c 6c 69 70 73 69 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 iling-ellipsis))................
10520 20 3b 3b 20 44 6f 6e 27 74 20 62 6f 74 68 65 72 20 77 72 69 74 69 6e 67 20 61 6e 79 74 68 69 6e .;;.Don't.bother.writing.anythin
10540 67 20 69 66 20 74 68 65 72 65 27 73 20 6e 6f 20 74 65 78 74 20 28 74 68 69 73 0a 20 20 20 20 20 g.if.there's.no.text.(this......
10560 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 68 61 70 70 65 6e 73 20 69 6e 20 69 6e 76 69 73 69 62 ...........;;.happens.in.invisib
10580 6c 65 20 72 65 67 69 6f 6e 73 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 le.regions)..................(wh
105a0 65 6e 20 28 3e 20 28 6c 65 6e 67 74 68 20 74 65 78 74 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 en.(>.(length.text).0)..........
105c0 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 70 65 6e 20 74 68 65 20 6e 65 77 20 6d 61 72 6b 75 70 20 .........;;.Open.the.new.markup.
105e0 69 66 20 6e 65 63 65 73 73 61 72 79 20 61 6e 64 20 69 6e 73 65 72 74 20 74 68 65 20 74 65 78 74 if.necessary.and.insert.the.text
10600 2e 0a 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 6e 6f 74 20 28 ....................(when.(not.(
10620 65 71 75 61 6c 70 20 66 73 74 72 75 63 74 2d 6c 69 73 74 20 6c 61 73 74 2d 66 73 74 72 75 63 74 equalp.fstruct-list.last-fstruct
10640 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 28 66 75 6e -list)).....................(fun
10660 63 61 6c 6c 20 63 6c 6f 73 65 2d 6d 61 72 6b 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 call.close-markup)..............
10680 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 2d 66 73 74 72 75 63 74 2d 6c 69 73 74 20 66 .......(setq.last-fstruct-list.f
106a0 73 74 72 75 63 74 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 struct-list.....................
106c0 20 20 20 20 20 20 63 6c 6f 73 65 2d 6d 61 72 6b 75 70 20 28 66 75 6e 63 61 6c 6c 20 74 65 78 74 ......close-markup.(funcall.text
106e0 2d 6d 61 72 6b 75 70 20 66 73 74 72 75 63 74 2d 6c 69 73 74 20 68 74 6d 6c 62 75 66 29 29 29 0a -markup.fstruct-list.htmlbuf))).
10700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 74 65 78 74 20 68 74 ..................(princ.text.ht
10720 6d 6c 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 mlbuf)).................(goto-ch
10740 61 72 20 6e 65 78 74 2d 63 68 61 6e 67 65 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.next-change))................
10760 3b 3b 20 57 65 27 76 65 20 67 6f 6e 65 20 74 68 72 6f 75 67 68 20 74 68 65 20 62 75 66 66 65 72 ;;.We've.gone.through.the.buffer
10780 3b 20 63 6c 6f 73 65 20 74 68 65 20 6d 61 72 6b 75 70 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 ;.close.the.markup.from.........
107a0 20 20 20 20 20 20 3b 3b 20 74 68 65 20 6c 61 73 74 20 72 75 6e 2c 20 69 66 20 61 6e 79 2e 0a 20 ......;;.the.last.run,.if.any...
107c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 6c 6f 73 65 2d 6d 61 72 6b .............(funcall.close-mark
107e0 75 70 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 73 65 72 74 20 74 68 65 20 up))..............;;.Insert.the.
10800 65 70 69 6c 6f 67 20 61 6e 64 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 20 74 68 65 20 62 75 66 66 epilog.and.post-process.the.buff
10820 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 er..............(with-current-bu
10840 66 66 65 72 20 68 74 6d 6c 62 75 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 ffer.htmlbuf...............(inse
10860 72 74 20 22 3c 2f 70 72 65 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 rt."</pre>")...............(put.
10880 70 6c 61 63 65 73 20 27 63 6f 6e 74 65 6e 74 2d 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 places.'content-end.(point-marke
108a0 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 20 20 3c r))...............(insert."\n..<
108c0 2f 62 6f 64 79 3e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 6c 61 63 /body>")...............(put.plac
108e0 65 73 20 27 62 6f 64 79 2d 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 72 6b 65 72 29 29 0a 20 20 20 es.'body-end.(point-marker))....
10900 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 3c 2f 68 74 6d 6c 3e 5c 6e 22 ...........(insert."\n</html>\n"
10920 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 64 65 66 61 6e 67 2d )...............(htmlize-defang-
10940 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 local-variables)...............(
10960 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 goto-char.(point-min))..........
10980 20 20 20 20 20 28 77 68 65 6e 20 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c 2d 6d 61 6a 6f 72 2d 6d 6f .....(when.htmlize-html-major-mo
109a0 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 68 61 74 20 73 75 63 6b 73 de.................;;.What.sucks
109c0 20 61 62 6f 75 74 20 74 68 69 73 20 69 73 20 74 68 61 74 20 74 68 65 20 6d 69 6e 6f 72 20 6d 6f .about.this.is.that.the.minor.mo
109e0 64 65 73 2c 20 6d 6f 73 74 20 6e 6f 74 61 62 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 des,.most.notably...............
10a00 20 20 3b 3b 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 2c 20 77 6f 6e 27 74 20 62 65 20 69 6e ..;;.font-lock-mode,.won't.be.in
10a20 69 74 69 61 6c 69 7a 65 64 2e 20 20 4f 68 20 77 65 6c 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 itialized...Oh.well.............
10a40 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 68 74 6d 6c 69 7a 65 2d 68 74 6d 6c 2d 6d 61 6a 6f 72 .....(funcall.htmlize-html-major
10a60 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 20 28 6d 61 6b 65 -mode))...............(set.(make
10a80 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d -local-variable.'htmlize-buffer-
10aa0 70 6c 61 63 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 places)....................(symb
10ac0 6f 6c 2d 70 6c 69 73 74 20 70 6c 61 63 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ol-plist.places))...............
10ae0 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 68 74 6d 6c 69 7a 65 2d 61 66 74 65 72 2d 68 6f 6f 6b 29 0a (run-hooks.'htmlize-after-hook).
10b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 65 6e 61 62 6c 65 2d 75 6e 64 ..............(buffer-enable-und
10b20 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6d 70 6c 65 74 65 64 20 o)).............(setq.completed.
10b40 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 74 6d 6c 62 75 66 29 0a 0a 20 20 20 20 20 20 20 t).............htmlbuf).........
10b60 20 28 77 68 65 6e 20 28 6e 6f 74 20 63 6f 6d 70 6c 65 74 65 64 29 0a 20 20 20 20 20 20 20 20 20 .(when.(not.completed)..........
10b80 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 .(kill-buffer.htmlbuf)).........
10ba0 28 68 74 6d 6c 69 7a 65 2d 64 65 6c 65 74 65 2d 74 6d 70 2d 6f 76 65 72 6c 61 79 73 29 29 29 29 (htmlize-delete-tmp-overlays))))
10bc0 29 0a 0a 3b 3b 20 55 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 28 64 65 66 6d 61 )..;;.Utility.functions...(defma
10be0 63 72 6f 20 68 74 6d 6c 69 7a 65 2d 77 69 74 68 2d 66 6f 6e 74 69 66 79 2d 6d 65 73 73 61 67 65 cro.htmlize-with-fontify-message
10c00 20 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 3b 3b 20 57 68 65 6e 20 66 6f 72 63 69 6e 67 20 .(&rest.body)...;;.When.forcing.
10c20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 6c 61 72 67 65 20 62 75 66 66 65 72 73 20 69 fontification.of.large.buffers.i
10c40 6e 0a 20 20 3b 3b 20 68 74 6d 6c 69 7a 65 2d 65 6e 73 75 72 65 2d 66 6f 6e 74 69 66 69 65 64 2c n...;;.htmlize-ensure-fontified,
10c60 20 69 6e 66 6f 72 6d 20 74 68 65 20 75 73 65 72 20 74 68 61 74 20 68 65 20 69 73 20 77 61 69 74 .inform.the.user.that.he.is.wait
10c80 69 6e 67 20 66 6f 72 0a 20 20 3b 3b 20 66 6f 6e 74 2d 6c 6f 63 6b 2c 20 6e 6f 74 20 66 6f 72 20 ing.for...;;.font-lock,.not.for.
10ca0 68 74 6d 6c 69 7a 65 20 74 6f 20 66 69 6e 69 73 68 2e 0a 20 20 60 28 70 72 6f 67 6e 0a 20 20 20 htmlize.to.finish....`(progn....
10cc0 20 20 28 69 66 20 28 3e 20 28 62 75 66 66 65 72 2d 73 69 7a 65 29 20 36 35 35 33 36 29 0a 09 20 ..(if.(>.(buffer-size).65536)...
10ce0 28 6d 65 73 73 61 67 65 20 22 46 6f 72 63 69 6e 67 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 (message."Forcing.fontification.
10d00 6f 66 20 25 73 2e 2e 2e 22 0a 09 09 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 63 75 72 72 of.%s...".....(buffer-name.(curr
10d20 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 0a 20 20 20 20 20 ent-buffer))))......,@body......
10d40 28 69 66 20 28 3e 20 28 62 75 66 66 65 72 2d 73 69 7a 65 29 20 36 35 35 33 36 29 0a 09 20 28 6d (if.(>.(buffer-size).65536)...(m
10d60 65 73 73 61 67 65 20 22 46 6f 72 63 69 6e 67 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 6f 66 essage."Forcing.fontification.of
10d80 20 25 73 2e 2e 2e 64 6f 6e 65 22 0a 09 09 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 63 75 .%s...done".....(buffer-name.(cu
10da0 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 rrent-buffer))))))..(defun.htmli
10dc0 7a 65 2d 65 6e 73 75 72 65 2d 66 6f 6e 74 69 66 69 65 64 20 28 29 0a 20 20 3b 3b 20 49 66 20 66 ze-ensure-fontified.()...;;.If.f
10de0 6f 6e 74 2d 6c 6f 63 6b 20 69 73 20 62 65 69 6e 67 20 75 73 65 64 2c 20 65 6e 73 75 72 65 20 74 ont-lock.is.being.used,.ensure.t
10e00 68 61 74 20 74 68 65 20 22 73 75 70 70 6f 72 74 22 20 6d 6f 64 65 73 0a 20 20 3b 3b 20 61 63 74 hat.the."support".modes...;;.act
10e20 75 61 6c 6c 79 20 66 6f 6e 74 69 66 79 20 74 68 65 20 62 75 66 66 65 72 2e 20 20 49 66 20 66 6f ually.fontify.the.buffer...If.fo
10e40 6e 74 2d 6c 6f 63 6b 20 69 73 20 6e 6f 74 20 69 6e 20 75 73 65 2c 20 77 65 0a 20 20 3b 3b 20 64 nt-lock.is.not.in.use,.we...;;.d
10e60 6f 6e 27 74 20 63 61 72 65 20 62 65 63 61 75 73 65 2c 20 65 78 63 65 70 74 20 69 6e 20 68 74 6d on't.care.because,.except.in.htm
10e80 6c 69 7a 65 2d 66 69 6c 65 2c 20 77 65 20 64 6f 6e 27 74 20 66 6f 72 63 65 0a 20 20 3b 3b 20 66 lize-file,.we.don't.force...;;.f
10ea0 6f 6e 74 2d 6c 6f 63 6b 20 6f 6e 20 74 68 65 20 75 73 65 72 2e 0a 20 20 28 77 68 65 6e 20 66 6f ont-lock.on.the.user....(when.fo
10ec0 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 0a 20 20 20 20 3b 3b 20 49 6e 20 70 61 72 74 20 74 61 6b 65 nt-lock-mode.....;;.In.part.take
10ee0 6e 20 66 72 6f 6d 20 70 73 2d 70 72 69 6e 74 2d 65 6e 73 75 72 65 2d 66 6f 6e 74 69 66 69 65 64 n.from.ps-print-ensure-fontified
10f00 20 69 6e 20 47 4e 55 20 45 6d 61 63 73 20 32 31 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 .in.GNU.Emacs.21......(when.(and
10f20 20 28 62 6f 75 6e 64 70 20 27 6a 69 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 .(boundp.'jit-lock-mode)........
10f40 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 27 6a 69 74 2d 6c 6f 63 6b 2d ........(symbol-value.'jit-lock-
10f60 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 28 68 74 6d 6c 69 7a 65 2d 77 69 74 68 2d 66 6f 6e 74 69 mode)).......(htmlize-with-fonti
10f80 66 79 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 28 6a 69 74 2d 6c 6f 63 6b 2d 66 6f 6e 74 fy-message........(jit-lock-font
10fa0 69 66 79 2d 6e 6f 77 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 ify-now.(point-min).(point-max))
10fc0 29 29 0a 0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d ))......(if.(fboundp.'font-lock-
10fe0 65 6e 73 75 72 65 29 0a 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 65 6e 73 75 72 ensure).........(font-lock-ensur
11000 65 29 0a 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 70 72 69 6f 72 20 74 6f 20 32 35 2e 31 0a e).......;;.Emacs.prior.to.25.1.
11020 20 20 20 20 20 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 0a 20 20 20 20 20 20 20 20 ......(with-no-warnings.........
11040 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 66 6f 6e 74 (font-lock-mode.1).........(font
11060 2d 6c 6f 63 6b 2d 66 6f 6e 74 69 66 79 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 0c 0a 3b 3b 3b -lock-fontify-buffer)))))....;;;
11080 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 ###autoload.(defun.htmlize-buffe
110a0 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 r.(&optional.buffer)..."Convert.
110c0 42 55 46 46 45 52 20 74 6f 20 48 54 4d 4c 2c 20 70 72 65 73 65 72 76 69 6e 67 20 63 6f 6c 6f 72 BUFFER.to.HTML,.preserving.color
110e0 73 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 2e 0a 0a 54 68 65 20 67 65 6e 65 72 61 74 65 s.and.decorations...The.generate
11100 64 20 48 54 4d 4c 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 61 20 6e 65 77 20 62 75 66 d.HTML.is.available.in.a.new.buf
11120 66 65 72 2c 20 77 68 69 63 68 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 57 68 65 6e 20 69 6e 76 fer,.which.is.returned..When.inv
11140 6f 6b 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 68 65 20 6e 65 77 20 62 75 66 66 oked.interactively,.the.new.buff
11160 65 72 20 69 73 20 73 65 6c 65 63 74 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 77 69 er.is.selected.in.the.current.wi
11180 6e 64 6f 77 2e 20 20 54 68 65 20 74 69 74 6c 65 20 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 ndow...The.title.of.the.generate
111a0 64 20 64 6f 63 75 6d 65 6e 74 20 77 69 6c 6c 20 62 65 20 73 65 74 20 74 6f 20 74 68 65 20 62 75 d.document.will.be.set.to.the.bu
111c0 66 66 65 72 27 73 0a 66 69 6c 65 20 6e 61 6d 65 20 6f 72 2c 20 69 66 20 74 68 61 74 27 73 20 6e ffer's.file.name.or,.if.that's.n
111e0 6f 74 20 61 76 61 69 6c 61 62 6c 65 2c 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 27 73 20 6e 61 ot.available,.to.the.buffer's.na
11200 6d 65 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 68 74 6d 6c 69 7a 65 20 64 6f 65 73 6e 27 74 20 66 me...Note.that.htmlize.doesn't.f
11220 6f 6e 74 69 66 79 20 79 6f 75 72 20 62 75 66 66 65 72 73 2c 20 69 74 20 6f 6e 6c 79 20 75 73 65 ontify.your.buffers,.it.only.use
11240 73 20 74 68 65 0a 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 61 6c 72 65 61 s.the.decorations.that.are.alrea
11260 64 79 20 70 72 65 73 65 6e 74 2e 20 20 49 66 20 79 6f 75 20 64 6f 6e 27 74 20 73 65 74 20 75 70 dy.present...If.you.don't.set.up
11280 20 66 6f 6e 74 2d 6c 6f 63 6b 20 6f 72 0a 73 6f 6d 65 74 68 69 6e 67 20 65 6c 73 65 20 74 6f 20 .font-lock.or.something.else.to.
112a0 66 6f 6e 74 69 66 79 20 79 6f 75 72 20 62 75 66 66 65 72 73 2c 20 74 68 65 20 72 65 73 75 6c 74 fontify.your.buffers,.the.result
112c0 69 6e 67 20 48 54 4d 4c 20 77 69 6c 6c 20 62 65 0a 70 6c 61 69 6e 2e 20 20 4c 69 6b 65 77 69 73 ing.HTML.will.be.plain...Likewis
112e0 65 2c 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 20 6c 69 6b 65 20 74 68 65 20 63 68 6f 69 63 65 20 e,.if.you.don't.like.the.choice.
11300 6f 66 20 63 6f 6c 6f 72 73 2c 20 66 69 78 20 74 68 65 20 6d 6f 64 65 0a 74 68 61 74 20 63 72 65 of.colors,.fix.the.mode.that.cre
11320 61 74 65 64 20 74 68 65 6d 2c 20 6f 72 20 73 69 6d 70 6c 79 20 61 6c 74 65 72 20 74 68 65 20 66 ated.them,.or.simply.alter.the.f
11340 61 63 65 73 20 69 74 20 75 73 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 aces.it.uses."...(interactive)..
11360 20 28 6c 65 74 20 28 28 68 74 6d 6c 62 75 66 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 .(let.((htmlbuf.(with-current-bu
11380 66 66 65 72 20 28 6f 72 20 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 ffer.(or.buffer.(current-buffer)
113a0 29 0a 09 09 20 20 20 28 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 29 29 29 29 0a 20 20 20 )......(htmlize-buffer-1))))....
113c0 20 28 77 68 65 6e 20 28 69 6e 74 65 72 61 63 74 69 76 65 2d 70 29 0a 20 20 20 20 20 20 28 73 77 .(when.(interactive-p).......(sw
113e0 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 68 74 6d 6c 62 75 66 29 29 0a 20 20 20 20 68 74 6d itch-to-buffer.htmlbuf)).....htm
11400 6c 62 75 66 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 68 74 lbuf))..;;;###autoload.(defun.ht
11420 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 43 6f 6e 76 65 72 mlize-region.(beg.end)..."Conver
11440 74 20 74 68 65 20 72 65 67 69 6f 6e 20 74 6f 20 48 54 4d 4c 2c 20 70 72 65 73 65 72 76 69 6e 67 t.the.region.to.HTML,.preserving
11460 20 63 6f 6c 6f 72 73 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 2e 0a 53 65 65 20 60 68 74 .colors.and.decorations..See.`ht
11480 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 22 0a 20 20 28 69 mlize-buffer'.for.details."...(i
114a0 6e 74 65 72 61 63 74 69 76 65 20 22 72 22 29 0a 20 20 3b 3b 20 44 6f 6e 27 74 20 6c 65 74 20 7a nteractive."r")...;;.Don't.let.z
114c0 6d 61 63 73 20 72 65 67 69 6f 6e 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 65 6e 64 20 75 70 20 macs.region.highlighting.end.up.
114e0 69 6e 20 48 54 4d 4c 2e 0a 20 20 28 77 68 65 6e 20 28 66 62 6f 75 6e 64 70 20 27 7a 6d 61 63 73 in.HTML....(when.(fboundp.'zmacs
11500 2d 64 65 61 63 74 69 76 61 74 65 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 28 7a 6d 61 63 73 2d 64 -deactivate-region).....(zmacs-d
11520 65 61 63 74 69 76 61 74 65 2d 72 65 67 69 6f 6e 29 29 0a 20 20 28 6c 65 74 20 28 28 68 74 6d 6c eactivate-region))...(let.((html
11540 62 75 66 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 09 09 20 20 20 28 6e 61 72 72 buf.(save-restriction......(narr
11560 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 29 0a 09 09 20 20 20 28 68 74 6d 6c ow-to-region.beg.end)......(html
11580 69 7a 65 2d 62 75 66 66 65 72 2d 31 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 69 6e 74 65 ize-buffer-1)))).....(when.(inte
115a0 72 61 63 74 69 76 65 2d 70 29 0a 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 ractive-p).......(switch-to-buff
115c0 65 72 20 68 74 6d 6c 62 75 66 29 29 0a 20 20 20 20 68 74 6d 6c 62 75 66 29 29 0a 0a 28 64 65 66 er.htmlbuf)).....htmlbuf))..(def
115e0 75 6e 20 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 2d 66 6f 72 2d 70 61 73 74 65 20 28 62 65 67 un.htmlize-region-for-paste.(beg
11600 20 65 6e 64 29 0a 20 20 22 48 74 6d 6c 69 7a 65 20 74 68 65 20 72 65 67 69 6f 6e 20 61 6e 64 20 .end)..."Htmlize.the.region.and.
11620 72 65 74 75 72 6e 20 6a 75 73 74 20 74 68 65 20 48 54 4d 4c 20 61 73 20 61 20 73 74 72 69 6e 67 return.just.the.HTML.as.a.string
11640 2e 0a 54 68 69 73 20 66 6f 72 63 65 73 20 74 68 65 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 20 73 ..This.forces.the.`inline-css'.s
11660 74 79 6c 65 20 61 6e 64 20 6f 6e 6c 79 20 72 65 74 75 72 6e 73 20 74 68 65 20 48 54 4d 4c 20 62 tyle.and.only.returns.the.HTML.b
11680 6f 64 79 2c 0a 62 75 74 20 77 69 74 68 6f 75 74 20 74 68 65 20 42 4f 44 59 20 74 61 67 2e 20 20 ody,.but.without.the.BODY.tag...
116a0 54 68 69 73 20 73 68 6f 75 6c 64 20 6d 61 6b 65 20 69 74 20 75 73 65 66 75 6c 20 66 6f 72 20 69 This.should.make.it.useful.for.i
116c0 6e 73 65 72 74 69 6e 67 0a 74 68 65 20 74 65 78 74 20 74 6f 20 61 6e 6f 74 68 65 72 20 48 54 4d nserting.the.text.to.another.HTM
116e0 4c 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 68 74 6d 6c 69 7a 65 2d 6f 75 74 L.buffer."...(let*.((htmlize-out
11700 70 75 74 2d 74 79 70 65 20 27 69 6e 6c 69 6e 65 2d 63 73 73 29 0a 09 20 28 68 74 6d 6c 62 75 66 put-type.'inline-css)...(htmlbuf
11720 20 28 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 29 29 29 0a 20 20 20 20 .(htmlize-region.beg.end))).....
11740 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 09 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 (unwind-protect..(with-current-b
11760 75 66 66 65 72 20 68 74 6d 6c 62 75 66 0a 09 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 uffer.htmlbuf....(buffer-substri
11780 6e 67 20 28 70 6c 69 73 74 2d 67 65 74 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 70 6c 61 ng.(plist-get.htmlize-buffer-pla
117a0 63 65 73 20 27 63 6f 6e 74 65 6e 74 2d 73 74 61 72 74 29 0a 09 09 09 20 20 20 20 28 70 6c 69 73 ces.'content-start)........(plis
117c0 74 2d 67 65 74 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 70 6c 61 63 65 73 20 27 63 6f 6e t-get.htmlize-buffer-places.'con
117e0 74 65 6e 74 2d 65 6e 64 29 29 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 68 tent-end))).......(kill-buffer.h
11800 74 6d 6c 62 75 66 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f tmlbuf))))..(defun.htmlize-regio
11820 6e 2d 73 61 76 65 2d 73 63 72 65 65 6e 73 68 6f 74 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 53 n-save-screenshot.(beg.end)..."S
11840 61 76 65 20 74 68 65 20 68 74 6d 6c 69 7a 65 64 20 28 73 65 65 20 60 68 74 6d 6c 69 7a 65 2d 72 ave.the.htmlized.(see.`htmlize-r
11860 65 67 69 6f 6e 2d 66 6f 72 2d 70 61 73 74 65 27 29 20 72 65 67 69 6f 6e 20 69 6e 0a 74 68 65 20 egion-for-paste').region.in.the.
11880 6b 69 6c 6c 20 72 69 6e 67 2e 20 55 73 65 73 20 60 69 6e 6c 69 6e 65 2d 63 73 73 27 2c 20 77 69 kill.ring..Uses.`inline-css',.wi
118a0 74 68 20 73 74 79 6c 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 6e 0a 60 3c 70 72 65 3e 27 20 th.style.information.in.`<pre>'.
118c0 74 61 67 73 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 72 65 6e 64 65 72 69 6e 67 20 6f 66 20 74 tags,.so.that.the.rendering.of.t
118e0 68 65 20 6d 61 72 6b 65 64 20 75 70 20 74 65 78 74 0a 61 70 70 72 6f 78 69 6d 61 74 65 73 20 74 he.marked.up.text.approximates.t
11900 68 65 20 62 75 66 66 65 72 20 61 73 20 63 6c 6f 73 65 6c 79 20 61 73 20 70 6f 73 73 69 62 6c 65 he.buffer.as.closely.as.possible
11920 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 72 22 29 0a 20 20 28 6c 65 74 20 28 28 ."...(interactive."r")...(let.((
11940 68 74 6d 6c 69 7a 65 2d 70 72 65 2d 73 74 79 6c 65 20 74 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d htmlize-pre-style.t)).....(kill-
11960 6e 65 77 20 28 68 74 6d 6c 69 7a 65 2d 72 65 67 69 6f 6e 2d 66 6f 72 2d 70 61 73 74 65 20 62 65 new.(htmlize-region-for-paste.be
11980 67 20 65 6e 64 29 29 29 0a 20 20 28 64 65 61 63 74 69 76 61 74 65 2d 6d 61 72 6b 29 29 0a 0a 28 g.end)))...(deactivate-mark))..(
119a0 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 69 defun.htmlize-make-file-name.(fi
119c0 6c 65 29 0a 20 20 22 4d 61 6b 65 20 61 6e 20 48 54 4d 4c 20 66 69 6c 65 20 6e 61 6d 65 20 66 72 le)..."Make.an.HTML.file.name.fr
119e0 6f 6d 20 46 49 4c 45 2e 0a 0a 49 6e 20 69 74 73 20 64 65 66 61 75 6c 74 20 69 6d 70 6c 65 6d 65 om.FILE...In.its.default.impleme
11a00 6e 74 61 74 69 6f 6e 2c 20 74 68 69 73 20 73 69 6d 70 6c 79 20 61 70 70 65 6e 64 73 20 60 2e 68 ntation,.this.simply.appends.`.h
11a20 74 6d 6c 27 20 74 6f 20 46 49 4c 45 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 tml'.to.FILE..This.function.is.c
11a40 61 6c 6c 65 64 20 62 79 20 68 74 6d 6c 69 7a 65 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 62 alled.by.htmlize.to.create.the.b
11a60 75 66 66 65 72 20 66 69 6c 65 20 6e 61 6d 65 2c 20 61 6e 64 0a 62 79 20 60 68 74 6d 6c 69 7a 65 uffer.file.name,.and.by.`htmlize
11a80 2d 66 69 6c 65 27 20 74 6f 20 63 72 65 61 74 65 20 74 68 65 20 74 61 72 67 65 74 20 66 69 6c 65 -file'.to.create.the.target.file
11aa0 20 6e 61 6d 65 2e 0a 0a 4d 6f 72 65 20 65 6c 61 62 6f 72 61 74 65 20 74 72 61 6e 73 66 6f 72 6d .name...More.elaborate.transform
11ac0 61 74 69 6f 6e 73 20 61 72 65 20 63 6f 6e 63 65 69 76 61 62 6c 65 2c 20 73 75 63 68 20 61 73 20 ations.are.conceivable,.such.as.
11ae0 63 68 61 6e 67 69 6e 67 20 46 49 4c 45 27 73 0a 65 78 74 65 6e 73 69 6f 6e 20 74 6f 20 60 2e 68 changing.FILE's.extension.to.`.h
11b00 74 6d 6c 27 20 28 5c 22 66 69 6c 65 2e 63 5c 22 20 2d 3e 20 5c 22 66 69 6c 65 2e 68 74 6d 6c 5c tml'.(\"file.c\".->.\"file.html\
11b20 22 29 2e 20 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 68 65 6d 2c 0a 6f 76 65 72 6c 6f 61 64 20 ")...If.you.want.them,.overload.
11b40 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 64 6f 20 69 74 20 61 6e 64 20 68 74 6d 6c 69 this.function.to.do.it.and.htmli
11b60 7a 65 20 77 69 6c 6c 20 63 6f 6d 70 6c 79 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20 66 69 6c 65 20 ze.will.comply."...(concat.file.
11b80 22 2e 68 74 6d 6c 22 29 29 0a 0a 3b 3b 20 4f 6c 64 65 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 ".html"))..;;.Older.implementati
11ba0 6f 6e 20 6f 66 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 74 68 61 on.of.htmlize-make-file-name.tha
11bc0 74 20 63 68 61 6e 67 65 73 20 46 49 4c 45 27 73 0a 3b 3b 20 65 78 74 65 6e 73 69 6f 6e 20 74 6f t.changes.FILE's.;;.extension.to
11be0 20 22 2e 68 74 6d 6c 22 2e 0a 3b 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 .".html"..;(defun.htmlize-make-f
11c00 69 6c 65 2d 6e 61 6d 65 20 28 66 69 6c 65 29 0a 3b 20 20 28 6c 65 74 20 28 28 65 78 74 65 6e 73 ile-name.(file).;..(let.((extens
11c20 69 6f 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 29 29 0a ion.(file-name-extension.file)).
11c40 3b 09 28 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e ;.(sans-extension.(file-name-san
11c60 73 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 29 29 29 0a 3b 20 20 20 20 28 69 66 20 28 6f 72 s-extension.file))).;....(if.(or
11c80 20 28 65 71 75 61 6c 20 65 78 74 65 6e 73 69 6f 6e 20 22 68 74 6d 6c 22 29 0a 3b 09 20 20 20 20 .(equal.extension."html").;.....
11ca0 28 65 71 75 61 6c 20 65 78 74 65 6e 73 69 6f 6e 20 22 68 74 6d 22 29 0a 3b 09 20 20 20 20 28 65 (equal.extension."htm").;.....(e
11cc0 71 75 61 6c 20 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 22 22 29 29 0a 3b 09 28 63 6f 6e 63 qual.sans-extension."")).;.(conc
11ce0 61 74 20 66 69 6c 65 20 22 2e 68 74 6d 6c 22 29 0a 3b 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 at.file.".html").;......(concat.
11d00 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 22 2e 68 74 6d 6c 22 29 29 29 29 0a 0a 3b 3b 3b 23 sans-extension.".html"))))..;;;#
11d20 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 20 28 ##autoload.(defun.htmlize-file.(
11d40 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 29 0a 20 20 22 4c 6f 61 64 20 46 file.&optional.target)..."Load.F
11d60 49 4c 45 2c 20 66 6f 6e 74 69 66 79 20 69 74 2c 20 63 6f 6e 76 65 72 74 20 69 74 20 74 6f 20 48 ILE,.fontify.it,.convert.it.to.H
11d80 54 4d 4c 2c 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 43 6f 6e 74 65 TML,.and.save.the.result...Conte
11da0 6e 74 73 20 6f 66 20 46 49 4c 45 20 61 72 65 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 61 20 nts.of.FILE.are.inserted.into.a.
11dc0 74 65 6d 70 6f 72 61 72 79 20 62 75 66 66 65 72 2c 20 77 68 6f 73 65 20 6d 61 6a 6f 72 20 6d 6f temporary.buffer,.whose.major.mo
11de0 64 65 0a 69 73 20 73 65 74 20 77 69 74 68 20 60 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 27 20 61 73 20 de.is.set.with.`normal-mode'.as.
11e00 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 2e 20 20 appropriate.for.the.file.type...
11e20 54 68 65 20 62 75 66 66 65 72 0a 69 73 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 66 6f 6e 74 69 The.buffer.is.subsequently.fonti
11e40 66 69 65 64 20 77 69 74 68 20 60 66 6f 6e 74 2d 6c 6f 63 6b 27 20 61 6e 64 20 63 6f 6e 76 65 72 fied.with.`font-lock'.and.conver
11e60 74 65 64 20 74 6f 20 48 54 4d 4c 2e 20 20 4e 6f 74 65 0a 74 68 61 74 2c 20 75 6e 6c 69 6b 65 20 ted.to.HTML...Note.that,.unlike.
11e80 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 `htmlize-buffer',.this.function.
11ea0 65 78 70 6c 69 63 69 74 6c 79 20 74 75 72 6e 73 20 6f 6e 0a 66 6f 6e 74 2d 6c 6f 63 6b 2e 20 20 explicitly.turns.on.font-lock...
11ec0 49 66 20 61 20 66 6f 72 6d 20 6f 66 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 6f 74 68 65 72 20 If.a.form.of.highlighting.other.
11ee0 74 68 61 6e 20 66 6f 6e 74 2d 6c 6f 63 6b 20 69 73 20 64 65 73 69 72 65 64 2c 0a 70 6c 65 61 73 than.font-lock.is.desired,.pleas
11f00 65 20 75 73 65 20 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 27 20 64 69 72 65 63 74 6c 79 20 e.use.`htmlize-buffer'.directly.
11f20 6f 6e 20 62 75 66 66 65 72 73 20 73 6f 20 68 69 67 68 6c 69 67 68 74 65 64 2e 0a 0a 42 75 66 66 on.buffers.so.highlighted...Buff
11f40 65 72 73 20 63 75 72 72 65 6e 74 6c 79 20 76 69 73 69 74 69 6e 67 20 46 49 4c 45 20 61 72 65 20 ers.currently.visiting.FILE.are.
11f60 75 6e 61 66 66 65 63 74 65 64 20 62 79 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 unaffected.by.this.function...Th
11f80 65 0a 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 63 68 61 6e 67 65 20 63 75 72 72 65 e.function.does.not.change.curre
11fa0 6e 74 20 62 75 66 66 65 72 20 6f 72 20 6d 6f 76 65 20 74 68 65 20 70 6f 69 6e 74 2e 0a 0a 49 66 nt.buffer.or.move.the.point...If
11fc0 20 54 41 52 47 45 54 20 69 73 20 73 70 65 63 69 66 69 65 64 20 61 6e 64 20 6e 61 6d 65 73 20 61 .TARGET.is.specified.and.names.a
11fe0 20 64 69 72 65 63 74 6f 72 79 2c 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 66 69 6c 65 20 77 .directory,.the.resulting.file.w
12000 69 6c 6c 20 62 65 0a 73 61 76 65 64 20 74 68 65 72 65 20 69 6e 73 74 65 61 64 20 6f 66 20 74 6f ill.be.saved.there.instead.of.to
12020 20 46 49 4c 45 27 73 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 54 41 52 47 45 54 20 69 73 .FILE's.directory...If.TARGET.is
12040 20 73 70 65 63 69 66 69 65 64 20 61 6e 64 0a 64 6f 65 73 20 6e 6f 74 20 6e 61 6d 65 20 61 20 64 .specified.and.does.not.name.a.d
12060 69 72 65 63 74 6f 72 79 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 6f 75 74 irectory,.it.will.be.used.as.out
12080 70 75 74 20 66 69 6c 65 20 6e 61 6d 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 put.file.name."...(interactive.(
120a0 6c 69 73 74 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 09 09 20 20 20 20 20 20 22 48 54 list.(read-file-name........."HT
120c0 4d 4c 2d 69 7a 65 20 66 69 6c 65 3a 20 22 0a 09 09 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e ML-ize.file:.".........nil.nil.n
120e0 69 6c 20 28 61 6e 64 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 09 09 09 09 20 il.(and.(buffer-file-name)......
12100 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 0a 09 09 ......(file-name-nondirectory...
12120 09 09 09 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 29 0a 20 20 28 6c 65 ...(buffer-file-name))))))...(le
12140 74 20 28 28 6f 75 74 70 75 74 2d 66 69 6c 65 20 28 69 66 20 28 61 6e 64 20 74 61 72 67 65 74 20 t.((output-file.(if.(and.target.
12160 28 6e 6f 74 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 74 61 72 67 65 74 29 29 29 (not.(file-directory-p.target)))
12180 0a 09 09 09 20 74 61 72 67 65 74 0a 09 09 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c .....target..........(expand-fil
121a0 65 2d 6e 61 6d 65 0a 09 09 09 28 68 74 6d 6c 69 7a 65 2d 6d 61 6b 65 2d 66 69 6c 65 2d 6e 61 6d e-name....(htmlize-make-file-nam
121c0 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 e.(file-name-nondirectory.file))
121e0 0a 09 09 09 28 6f 72 20 74 61 72 67 65 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 ....(or.target.(file-name-direct
12200 6f 72 79 20 66 69 6c 65 29 29 29 29 29 0a 09 3b 3b 20 54 72 79 20 74 6f 20 70 72 65 76 65 6e 74 ory.file)))))..;;.Try.to.prevent
12220 20 60 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 27 20 66 72 6f 6d 20 74 72 69 67 67 .`find-file-noselect'.from.trigg
12240 65 72 69 6e 67 0a 09 3b 3b 20 66 6f 6e 74 2d 6c 6f 63 6b 20 62 65 63 61 75 73 65 20 77 65 27 6c ering..;;.font-lock.because.we'l
12260 6c 20 66 6f 6e 74 69 66 79 20 65 78 70 6c 69 63 69 74 6c 79 20 62 65 6c 6f 77 2e 0a 09 28 66 6f l.fontify.explicitly.below...(fo
12280 6e 74 2d 6c 6f 63 6b 2d 6d 6f 64 65 20 6e 69 6c 29 0a 09 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 75 nt-lock-mode.nil)..(font-lock-au
122a0 74 6f 2d 66 6f 6e 74 69 66 79 20 6e 69 6c 29 0a 09 28 67 6c 6f 62 61 6c 2d 66 6f 6e 74 2d 6c 6f to-fontify.nil)..(global-font-lo
122c0 63 6b 2d 6d 6f 64 65 20 6e 69 6c 29 0a 09 3b 3b 20 49 67 6e 6f 72 65 20 74 68 65 20 73 69 7a 65 ck-mode.nil)..;;.Ignore.the.size
122e0 20 6c 69 6d 69 74 20 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 73 20 6f 66 20 68 74 6d 6c 69 .limit.for.the.purposes.of.htmli
12300 7a 61 74 69 6f 6e 2e 0a 09 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 6d 61 78 69 6d 75 6d 2d 73 69 7a 65 zation...(font-lock-maximum-size
12320 20 6e 69 6c 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 .nil)).....(with-temp-buffer....
12340 20 20 20 3b 3b 20 49 6e 73 65 72 74 20 46 49 4c 45 20 69 6e 74 6f 20 74 68 65 20 74 65 6d 70 6f ...;;.Insert.FILE.into.the.tempo
12360 72 61 72 79 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d rary.buffer........(insert-file-
12380 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 29 0a 20 20 20 20 20 20 3b 3b 20 53 65 74 20 74 68 65 20 contents.file).......;;.Set.the.
123a0 66 69 6c 65 20 6e 61 6d 65 20 73 6f 20 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 20 61 6e 64 20 68 74 6d file.name.so.normal-mode.and.htm
123c0 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 20 70 69 63 6b 20 69 74 0a 20 20 20 20 20 20 3b 3b 20 75 lize-buffer-1.pick.it.......;;.u
123e0 70 2e 20 20 52 65 73 74 6f 72 65 20 69 74 20 61 66 74 65 72 77 61 72 64 73 20 73 6f 20 77 69 74 p...Restore.it.afterwards.so.wit
12400 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 27 73 20 6b 69 6c 6c 2d 62 75 66 66 65 72 0a 20 20 20 20 h-temp-buffer's.kill-buffer.....
12420 20 20 3b 3b 20 64 6f 65 73 6e 27 74 20 63 6f 6d 70 6c 61 69 6e 20 61 62 6f 75 74 20 6b 69 6c 6c ..;;.doesn't.complain.about.kill
12440 69 6e 67 20 61 20 6d 6f 64 69 66 69 65 64 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 28 6c 65 ing.a.modified.buffer........(le
12460 74 20 28 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 0a 09 3b 3b 20 t.((buffer-file-name.file))..;;.
12480 53 65 74 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 74 68 65 20 73 61 6b 65 20 Set.the.major.mode.for.the.sake.
124a0 6f 66 20 66 6f 6e 74 2d 6c 6f 63 6b 2e 0a 09 28 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 29 0a 09 3b 3b of.font-lock...(normal-mode)..;;
124c0 20 68 74 6d 6c 69 7a 65 20 74 68 65 20 62 75 66 66 65 72 20 61 6e 64 20 73 61 76 65 20 74 68 65 .htmlize.the.buffer.and.save.the
124e0 20 48 54 4d 4c 2e 0a 09 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 68 74 .HTML...(with-current-buffer.(ht
12500 6d 6c 69 7a 65 2d 62 75 66 66 65 72 2d 31 29 0a 09 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 mlize-buffer-1)....(unwind-prote
12520 63 74 0a 09 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 09 09 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 68 ct........(progn...(run-hooks.'h
12540 74 6d 6c 69 7a 65 2d 66 69 6c 65 2d 68 6f 6f 6b 29 0a 09 09 28 77 72 69 74 65 2d 72 65 67 69 6f tmlize-file-hook)...(write-regio
12560 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 6f 75 74 70 75 74 n.(point-min).(point-max).output
12580 2d 66 69 6c 65 29 29 0a 09 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 -file))......(kill-buffer.(curre
125a0 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 29 29 0a 20 20 3b 3b 20 49 20 68 61 76 65 6e 27 74 20 nt-buffer)))))))...;;.I.haven't.
125c0 64 65 63 69 64 65 64 20 6f 6e 20 61 20 75 73 65 66 75 6c 20 72 65 74 75 72 6e 20 76 61 6c 75 65 decided.on.a.useful.return.value
125e0 20 79 65 74 2c 20 73 6f 20 6a 75 73 74 20 72 65 74 75 72 6e 0a 20 20 3b 3b 20 6e 69 6c 2e 0a 20 .yet,.so.just.return...;;.nil...
12600 20 6e 69 6c 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 68 74 6d .nil)..;;;###autoload.(defun.htm
12620 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 20 28 66 69 6c 65 73 20 26 6f 70 74 69 6f 6e 61 6c lize-many-files.(files.&optional
12640 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 46 49 .target-directory)..."Convert.FI
12660 4c 45 53 20 74 6f 20 48 54 4d 4c 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 63 6f 72 72 65 73 70 LES.to.HTML.and.save.the.corresp
12680 6f 6e 64 69 6e 67 20 48 54 4d 4c 20 76 65 72 73 69 6f 6e 73 2e 0a 0a 46 49 4c 45 53 20 73 68 6f onding.HTML.versions...FILES.sho
126a0 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 20 6e 61 6d 65 73 20 74 6f 20 63 uld.be.a.list.of.file.names.to.c
126c0 6f 6e 76 65 72 74 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 0a 60 68 74 onvert...This.function.calls.`ht
126e0 6d 6c 69 7a 65 2d 66 69 6c 65 27 20 6f 6e 20 65 61 63 68 20 66 69 6c 65 3b 20 73 65 65 20 74 68 mlize-file'.on.each.file;.see.th
12700 61 74 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 20 20 57 68 65 6e 0a 69 at.function.for.details...When.i
12720 6e 76 6f 6b 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 79 6f 75 20 61 72 65 20 70 72 nvoked.interactively,.you.are.pr
12740 6f 6d 70 74 65 64 20 66 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 74 6f 20 63 6f ompted.for.a.list.of.files.to.co
12760 6e 76 65 72 74 2c 0a 74 65 72 6d 69 6e 61 74 65 64 20 77 69 74 68 20 52 45 54 2e 0a 0a 49 66 20 nvert,.terminated.with.RET...If.
12780 54 41 52 47 45 54 2d 44 49 52 45 43 54 4f 52 59 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 74 TARGET-DIRECTORY.is.specified,.t
127a0 68 65 20 48 54 4d 4c 20 66 69 6c 65 73 20 77 69 6c 6c 20 62 65 20 73 61 76 65 64 20 74 6f 20 74 he.HTML.files.will.be.saved.to.t
127c0 68 61 74 0a 64 69 72 65 63 74 6f 72 79 2e 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 65 61 63 68 20 48 hat.directory...Normally,.each.H
127e0 54 4d 4c 20 66 69 6c 65 20 69 73 20 73 61 76 65 64 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f TML.file.is.saved.to.the.directo
12800 72 79 20 6f 66 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 73 6f 75 72 63 65 20 66 ry.of.the.corresponding.source.f
12820 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 0a 20 20 ile."...(interactive....(list...
12840 20 20 28 6c 65 74 20 28 6c 69 73 74 20 66 69 6c 65 29 0a 20 20 20 20 20 20 3b 3b 20 55 73 65 20 ..(let.(list.file).......;;.Use.
12860 65 6d 70 74 79 20 73 74 72 69 6e 67 20 61 73 20 44 45 46 41 55 4c 54 20 62 65 63 61 75 73 65 20 empty.string.as.DEFAULT.because.
12880 73 65 74 74 69 6e 67 20 44 45 46 41 55 4c 54 20 74 6f 20 6e 69 6c 0a 20 20 20 20 20 20 3b 3b 20 setting.DEFAULT.to.nil.......;;.
128a0 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 defaults.to.the.directory.name,.
128c0 77 68 69 63 68 20 69 73 20 6e 6f 74 20 77 68 61 74 20 77 65 20 77 61 6e 74 2e 0a 20 20 20 20 20 which.is.not.what.we.want.......
128e0 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 28 73 65 74 71 20 66 69 6c 65 20 28 .(while.(not.(equal.(setq.file.(
12900 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 09 09 09 09 20 20 20 20 20 22 48 54 4d 4c 2d 69 7a read-file-name.........."HTML-iz
12920 65 20 66 69 6c 65 20 28 52 45 54 20 74 6f 20 66 69 6e 69 73 68 29 3a 20 22 0a 09 09 09 09 20 20 e.file.(RET.to.finish):.".......
12940 20 20 20 28 61 6e 64 20 6c 69 73 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 ...(and.list.(file-name-director
12960 79 0a 09 09 09 09 09 09 28 63 61 72 20 6c 69 73 74 29 29 29 0a 09 09 09 09 20 20 20 20 20 22 22 y.......(car.list)))..........""
12980 20 74 29 29 0a 09 09 09 20 22 22 29 29 0a 09 28 70 75 73 68 20 66 69 6c 65 20 6c 69 73 74 29 29 .t)).....""))..(push.file.list))
129a0 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6c 69 73 74 29 29 29 29 0a 20 20 3b 3b 20 56 .......(nreverse.list))))...;;.V
129c0 65 72 69 66 79 20 74 68 61 74 20 54 41 52 47 45 54 2d 44 49 52 45 43 54 4f 52 59 20 69 73 20 69 erify.that.TARGET-DIRECTORY.is.i
129e0 6e 64 65 65 64 20 61 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 69 74 27 73 20 61 0a 20 20 ndeed.a.directory...If.it's.a...
12a00 3b 3b 20 66 69 6c 65 2c 20 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 20 77 69 6c 6c 20 75 73 65 20 69 ;;.file,.htmlize-file.will.use.i
12a20 74 20 61 73 20 74 61 72 67 65 74 2c 20 61 6e 64 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 6d 61 t.as.target,.and.that.doesn't.ma
12a40 6b 65 0a 20 20 3b 3b 20 73 65 6e 73 65 2e 0a 20 20 28 61 6e 64 20 74 61 72 67 65 74 2d 64 69 72 ke...;;.sense....(and.target-dir
12a60 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 28 6e 6f 74 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f ectory........(not.(file-directo
12a80 72 79 2d 70 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 28 ry-p.target-directory))........(
12aa0 65 72 72 6f 72 20 22 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 20 6d 75 73 74 20 6e 61 6d error."target-directory.must.nam
12ac0 65 20 61 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 22 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 e.a.directory:.%s".target-direct
12ae0 6f 72 79 29 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 66 69 6c 65 20 66 69 6c 65 73 29 0a 20 20 20 ory))...(dolist.(file.files)....
12b00 20 28 68 74 6d 6c 69 7a 65 2d 66 69 6c 65 20 66 69 6c 65 20 74 61 72 67 65 74 2d 64 69 72 65 63 .(htmlize-file.file.target-direc
12b20 74 6f 72 79 29 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 68 tory)))..;;;###autoload.(defun.h
12b40 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 2d 64 69 72 65 64 20 28 61 72 67 20 26 6f 70 tmlize-many-files-dired.(arg.&op
12b60 74 69 6f 6e 61 6c 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 48 54 4d 4c tional.target-directory)..."HTML
12b80 69 7a 65 20 64 69 72 65 64 2d 6d 61 72 6b 65 64 20 66 69 6c 65 73 2e 22 0a 20 20 28 69 6e 74 65 ize.dired-marked.files."...(inte
12ba0 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c ractive."P")...(htmlize-many-fil
12bc0 65 73 20 28 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 20 6e 69 6c 20 61 es.(dired-get-marked-files.nil.a
12be0 72 67 29 20 74 61 72 67 65 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 0a 28 70 72 6f 76 69 64 65 rg).target-directory))..(provide
12c00 20 27 68 74 6d 6c 69 7a 65 29 0a 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a .'htmlize)..;;.Local.Variables:.
12c20 3b 3b 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 72 6e 69 6e 67 73 3a 20 28 6e 6f 74 20 63 ;;.byte-compile-warnings:.(not.c
12c40 6c 2d 66 75 6e 63 74 69 6f 6e 73 20 75 6e 72 65 73 6f 6c 76 65 64 20 6f 62 73 6f 6c 65 74 65 29 l-functions.unresolved.obsolete)
12c60 0a 3b 3b 20 45 6e 64 3a 0a 0a 3b 3b 3b 20 68 74 6d 6c 69 7a 65 2e 65 6c 20 65 6e 64 73 20 68 65 .;;.End:..;;;.htmlize.el.ends.he
12c80 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 re..............................
12ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e00 68 74 6d 6c 69 7a 65 2d 31 2e 35 36 2f 4e 45 57 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 htmlize-1.56/NEWS...............
12e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e60 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
12e80 30 30 30 33 30 31 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 32 36 30 00 20 30 00 00 00 0003017.00000000000.012260..0...
12ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12f00 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...................
12f20 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...................
12f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13000 68 74 6d 6c 69 7a 65 20 4e 45 57 53 20 2d 2d 20 68 69 73 74 6f 72 79 20 6f 66 20 75 73 65 72 2d htmlize.NEWS.--.history.of.user-
13020 76 69 73 69 62 6c 65 20 63 68 61 6e 67 65 73 2e 0a 0c 0a 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 visible.changes....*.Changes.in.
13040 68 74 6d 6c 69 7a 65 20 31 2e 35 31 0a 0a 2a 2a 20 60 68 74 6d 6c 69 7a 65 2d 66 61 63 65 2d 6f htmlize.1.51..**.`htmlize-face-o
13060 76 65 72 72 69 64 65 73 27 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 6f 76 65 72 72 69 64 verrides'.can.be.used.to.overrid
13080 65 20 45 6d 61 63 73 27 73 20 66 61 63 65 0a 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 0c 0a 2a e.Emacs's.face.definitions.....*
130a0 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 6d 6c 69 7a 65 20 31 2e 34 37 0a 0a 2a 2a 20 47 4e 55 .Changes.in.htmlize.1.47..**.GNU
130c0 20 45 6d 61 63 73 20 32 31 20 69 73 20 6e 6f 20 6c 6f 6e 67 65 72 20 73 75 70 70 6f 72 74 65 64 .Emacs.21.is.no.longer.supported
130e0 2e 0a 0a 0c 0a 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 6d 6c 69 7a 65 20 31 2e 34 35 0a 0a .....*.Changes.in.htmlize.1.45..
13100 2a 2a 20 43 6f 72 72 65 63 74 6c 79 20 68 61 6e 64 6c 65 20 3a 69 6e 68 65 72 69 74 20 73 70 65 **.Correctly.handle.:inherit.spe
13120 63 69 66 79 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 66 61 63 65 73 2e 20 20 28 54 68 69 73 20 cifying.a.list.of.faces...(This.
13140 62 75 67 0a 77 6f 75 6c 64 20 63 61 75 73 65 20 61 6e 20 65 72 72 6f 72 20 69 6e 20 41 55 58 20 bug.would.cause.an.error.in.AUX.
13160 54 65 58 20 62 75 66 66 65 72 73 2e 29 0a 0a 0c 0a 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 TeX.buffers.)....*.Changes.in.ht
13180 6d 6c 69 7a 65 20 31 2e 34 34 0a 0a 2a 2a 20 46 61 63 65 73 20 73 70 65 63 69 66 69 65 64 20 69 mlize.1.44..**.Faces.specified.i
131a0 6e 20 74 68 65 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 79 20 61 72 65 20 6e 6f 77 20 70 72 n.the.`face'.property.are.now.pr
131c0 69 6f 72 69 74 69 7a 65 64 20 74 68 65 20 73 61 6d 65 0a 77 61 79 20 74 68 61 74 20 45 6d 61 63 ioritized.the.same.way.that.Emac
131e0 73 20 72 65 64 69 73 70 6c 61 79 20 64 6f 65 73 20 69 74 3a 20 66 61 63 65 73 20 74 68 61 74 20 s.redisplay.does.it:.faces.that.
13200 61 70 70 65 61 72 20 65 61 72 6c 69 65 72 20 68 61 76 65 0a 70 72 65 63 65 64 65 6e 63 65 20 6f appear.earlier.have.precedence.o
13220 76 65 72 20 74 68 6f 73 65 20 74 68 61 74 20 61 70 70 65 61 72 20 6c 61 74 65 72 2e 0a 0a 0c 0a ver.those.that.appear.later.....
13240 2a 20 43 68 61 6e 67 65 73 20 69 6e 20 68 74 6d 6c 69 7a 65 20 31 2e 34 31 0a 0a 2a 2a 20 60 62 *.Changes.in.htmlize.1.41..**.`b
13260 65 66 6f 72 65 2d 73 74 72 69 6e 67 27 20 61 6e 64 20 60 61 66 74 65 72 2d 73 74 72 69 6e 67 27 efore-string'.and.`after-string'
13280 20 6f 76 65 72 6c 61 79 20 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 20 6e 6f 77 0a 72 65 63 6f .overlay.properties.are.now.reco
132a0 67 6e 69 7a 65 64 20 62 79 20 68 74 6d 6c 69 7a 65 20 61 6e 64 20 69 6e 73 65 72 74 65 64 20 69 gnized.by.htmlize.and.inserted.i
132c0 6e 74 6f 20 74 68 65 20 48 54 4d 4c 2e 0a 0a 2a 2a 20 49 6d 61 67 65 73 20 73 70 65 63 69 66 69 nto.the.HTML...**.Images.specifi
132e0 65 64 20 62 79 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 20 61 72 65 20 72 65 63 ed.by.`display'.property.are.rec
13300 6f 67 6e 69 7a 65 64 20 61 6e 64 20 69 6e 73 65 72 74 65 64 0a 69 6e 74 6f 20 74 68 65 20 48 54 ognized.and.inserted.into.the.HT
13320 4d 4c 20 61 73 20 3c 69 6d 67 20 73 72 63 3d 2e 2e 2e 3e 2e 0a 0a 2a 2a 2a 20 49 66 20 74 68 65 ML.as.<img.src=...>...***.If.the
13340 20 69 6d 61 67 65 20 64 61 74 61 20 63 6f 6d 65 73 20 66 72 6f 6d 20 61 20 66 69 6c 65 2c 20 74 .image.data.comes.from.a.file,.t
13360 68 65 20 69 6d 61 67 65 20 77 69 6c 6c 20 62 65 20 72 65 6e 64 65 72 65 64 20 61 73 0a 61 20 72 he.image.will.be.rendered.as.a.r
13380 65 6c 61 74 69 76 65 20 55 52 49 20 74 68 61 74 20 77 6f 75 6c 64 20 72 65 73 6f 6c 76 65 20 74 elative.URI.that.would.resolve.t
133a0 6f 20 74 68 61 74 20 66 69 6c 65 2e 20 20 49 6d 61 67 65 73 20 77 68 6f 73 65 20 64 61 74 61 0a o.that.file...Images.whose.data.
133c0 63 6f 6d 65 73 20 66 72 6f 6d 20 61 20 73 74 72 69 6e 67 20 77 69 6c 6c 20 62 65 20 72 65 6e 64 comes.from.a.string.will.be.rend
133e0 65 72 65 64 20 69 6e 6c 69 6e 65 20 61 73 20 64 61 74 61 3a 20 55 52 49 73 2e 20 20 54 68 65 20 ered.inline.as.data:.URIs...The.
13400 66 6c 61 67 0a 60 68 74 6d 6c 69 7a 65 2d 66 6f 72 63 65 2d 69 6e 6c 69 6e 65 2d 69 6d 61 67 65 flag.`htmlize-force-inline-image
13420 73 27 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 66 6f 72 63 65 20 69 6e 73 65 72 74 69 6e s'.can.be.used.to.force.insertin
13440 67 20 2a 61 6c 6c 2a 0a 69 6d 61 67 65 73 20 69 6e 6c 69 6e 65 20 61 73 20 64 61 74 61 3a 20 55 g.*all*.images.inline.as.data:.U
13460 52 49 73 2e 0a 0a 2a 2a 20 54 68 65 20 69 6d 61 67 65 27 73 20 41 4c 54 20 74 65 78 74 20 77 69 RIs...**.The.image's.ALT.text.wi
13480 6c 6c 20 62 65 20 74 68 65 20 74 65 78 74 20 74 68 61 74 20 74 68 65 20 60 64 69 73 70 6c 61 79 ll.be.the.text.that.the.`display
134a0 27 20 70 72 6f 70 65 72 74 79 20 69 73 0a 72 65 70 6c 61 63 69 6e 67 2c 20 69 66 20 6e 6f 6e 2d '.property.is.replacing,.if.non-
134c0 65 6d 70 74 79 2e 0a 0a 2a 2a 20 41 72 62 69 74 72 61 72 79 20 6c 69 6e 6b 73 20 63 61 6e 20 6e empty...**.Arbitrary.links.can.n
134e0 6f 77 20 62 65 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 48 54 4d ow.be.added.to.the.generated.HTM
13500 4c 2e 20 20 49 66 20 68 74 6d 6c 69 7a 65 0a 65 6e 63 6f 75 6e 74 65 72 73 20 62 75 66 66 65 72 L...If.htmlize.encounters.buffer
13520 20 74 65 78 74 20 77 69 74 68 20 60 68 74 6d 6c 69 7a 65 2d 6c 69 6e 6b 27 20 70 72 6f 70 65 72 .text.with.`htmlize-link'.proper
13540 74 79 2c 20 69 74 20 77 69 6c 6c 20 77 72 61 70 20 74 68 65 0a 74 65 78 74 20 69 6e 20 3c 61 20 ty,.it.will.wrap.the.text.in.<a.
13560 68 72 65 66 3d 22 75 72 69 22 3e 2e 2e 2e 3c 2f 61 3e 2e 20 20 49 66 20 74 68 65 20 70 72 6f 70 href="uri">...</a>...If.the.prop
13580 65 72 74 79 20 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 69 74 0a 69 73 20 69 6e erty.value.is.a.string,.it.is.in
135a0 74 65 72 70 72 65 74 65 64 20 61 73 20 74 68 65 20 55 52 49 2e 20 20 49 66 20 69 74 20 69 73 20 terpreted.as.the.URI...If.it.is.
135c0 61 20 6c 69 73 74 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 70 72 6f 70 65 72 74 79 0a a.list,.it.should.be.a.property.
135e0 6c 69 73 74 20 77 68 6f 73 65 20 63 75 72 72 65 6e 74 6c 79 20 6f 6e 6c 79 20 64 65 66 69 6e 65 list.whose.currently.only.define
13600 64 20 6b 65 79 20 69 73 20 3a 75 72 69 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 d.key.is.:uri...................
13620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
136a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
136c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
136e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
137e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13800 68 74 6d 6c 69 7a 65 2d 31 2e 35 36 2f 68 74 6d 6c 69 7a 65 2d 70 6b 67 2e 65 6c 00 00 00 00 00 htmlize-1.56/htmlize-pkg.el.....
13820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13860 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
13880 30 30 30 30 36 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 33 33 35 00 20 30 00 00 00 0000631.00000000000.014335..0...
138a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
138c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
138e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13900 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...................
13920 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...................
13940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
139e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a00 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
13a20 20 66 72 6f 6d 20 68 74 6d 6c 69 7a 65 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f .from.htmlize.el..-*-.no-byte-co
13a40 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 68 74 mpile:.t.-*-.(define-package."ht
13a60 6d 6c 69 7a 65 22 20 22 31 2e 35 36 22 20 22 43 6f 6e 76 65 72 74 20 62 75 66 66 65 72 20 74 65 mlize"."1.56"."Convert.buffer.te
13a80 78 74 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 2e 22 20 27 6e 69 xt.and.decorations.to.HTML.".'ni
13aa0 6c 20 3a 63 6f 6d 6d 69 74 20 22 37 62 36 33 61 61 30 35 38 63 33 64 64 30 64 39 66 38 63 30 37 l.:commit."7b63aa058c3dd0d9f8c07
13ac0 37 30 36 63 64 38 62 62 34 65 35 36 61 61 61 31 66 62 33 22 20 3a 75 72 6c 20 22 68 74 74 70 73 706cd8bb4e56aaa1fb3".:url."https
13ae0 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 68 74 6d 6c 69 7a ://elpa.nongnu.org/nongnu/htmliz
13b00 65 2e 68 74 6d 6c 22 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 48 72 76 6f 6a 65 20 4e 69 6b 73 e.html".:authors.'(("Hrvoje.Niks
13b20 69 63 22 20 2e 20 22 68 6e 69 6b 73 69 63 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 ic"..."hniksic@gmail.com")).:mai
13b40 6e 74 61 69 6e 65 72 20 27 28 22 48 72 76 6f 6a 65 20 4e 69 6b 73 69 63 22 20 2e 20 22 68 6e 69 ntainer.'("Hrvoje.Niksic"..."hni
13b60 6b 73 69 63 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 68 79 ksic@gmail.com").:keywords.'("hy
13b80 70 65 72 6d 65 64 69 61 22 20 22 65 78 74 65 6e 73 69 6f 6e 73 22 29 29 0a 00 00 00 00 00 00 00 permedia"."extensions"))........
13ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c00 68 74 6d 6c 69 7a 65 2d 31 2e 35 36 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 00 00 00 htmlize-1.56/README.md..........
13c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c60 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
13c80 30 30 30 33 33 35 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 34 32 00 20 30 00 00 00 0003352.00000000000.013042..0...
13ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d00 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...................
13d20 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...................
13d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e00 23 20 68 74 6d 6c 69 7a 65 20 2d 2d 2d 20 43 6f 6e 76 65 72 74 20 62 75 66 66 65 72 20 74 65 78 #.htmlize.---.Convert.buffer.tex
13e20 74 20 61 6e 64 20 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 0a 0a 5b 21 5b 4d 45 t.and.decorations.to.HTML..[![ME
13e40 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f LPA](https://melpa.org/packages/
13e60 68 74 6d 6c 69 7a 65 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 htmlize-badge.svg)](https://melp
13e80 61 2e 6f 72 67 2f 23 2f 68 74 6d 6c 69 7a 65 29 0a 0a 54 68 69 73 20 70 61 63 6b 61 67 65 20 63 a.org/#/htmlize)..This.package.c
13ea0 6f 6e 76 65 72 74 73 20 74 68 65 20 62 75 66 66 65 72 20 74 65 78 74 20 61 6e 64 20 74 68 65 20 onverts.the.buffer.text.and.the.
13ec0 61 73 73 6f 63 69 61 74 65 64 0a 64 65 63 6f 72 61 74 69 6f 6e 73 20 74 6f 20 48 54 4d 4c 2e 20 associated.decorations.to.HTML..
13ee0 20 4d 61 69 6c 20 74 6f 20 3c 68 6e 69 6b 73 69 63 40 67 6d 61 69 6c 2e 63 6f 6d 3e 20 74 6f 20 .Mail.to.<hniksic@gmail.com>.to.
13f00 64 69 73 63 75 73 73 0a 66 65 61 74 75 72 65 73 20 61 6e 64 20 61 64 64 69 74 69 6f 6e 73 2e 20 discuss.features.and.additions..
13f20 20 41 6c 6c 20 73 75 67 67 65 73 74 69 6f 6e 73 20 61 72 65 20 6d 6f 72 65 20 74 68 61 6e 20 77 .All.suggestions.are.more.than.w
13f40 65 6c 63 6f 6d 65 2e 0a 0a 54 6f 20 75 73 65 20 69 74 2c 20 6a 75 73 74 20 73 77 69 74 63 68 20 elcome...To.use.it,.just.switch.
13f60 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 79 6f 75 20 77 61 6e 74 20 48 54 4d 4c 2d 69 7a 65 64 to.the.buffer.you.want.HTML-ized
13f80 20 61 6e 64 20 74 79 70 65 0a 3c 6b 62 64 3e 4d 2d 78 20 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 .and.type.<kbd>M-x.htmlize-buffe
13fa0 72 3c 2f 6b 62 64 3e 2e 20 20 59 6f 75 20 77 69 6c 6c 20 62 65 20 73 77 69 74 63 68 65 64 20 74 r</kbd>...You.will.be.switched.t
13fc0 6f 20 61 20 6e 65 77 20 62 75 66 66 65 72 0a 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 o.a.new.buffer.that.contains.the
13fe0 20 72 65 73 75 6c 74 69 6e 67 20 48 54 4d 4c 20 63 6f 64 65 2e 20 20 59 6f 75 20 63 61 6e 20 65 .resulting.HTML.code...You.can.e
14000 64 69 74 20 61 6e 64 20 69 6e 73 70 65 63 74 20 74 68 69 73 0a 62 75 66 66 65 72 2c 20 6f 72 20 dit.and.inspect.this.buffer,.or.
14020 79 6f 75 20 63 61 6e 20 6a 75 73 74 20 73 61 76 65 20 69 74 20 77 69 74 68 20 3c 6b 62 64 3e 43 you.can.just.save.it.with.<kbd>C
14040 2d 78 20 43 2d 77 3c 2f 6b 62 64 3e 2e 20 20 3c 6b 62 64 3e 4d 2d 78 0a 68 74 6d 6c 69 7a 65 2d -x.C-w</kbd>...<kbd>M-x.htmlize-
14060 66 69 6c 65 3c 2f 6b 62 64 3e 20 77 69 6c 6c 20 66 69 6e 64 20 61 20 66 69 6c 65 2c 20 66 6f 6e file</kbd>.will.find.a.file,.fon
14080 74 69 66 79 20 69 74 2c 20 61 6e 64 20 73 61 76 65 20 74 68 65 20 48 54 4d 4c 0a 76 65 72 73 69 tify.it,.and.save.the.HTML.versi
140a0 6f 6e 20 69 6e 20 60 46 49 4c 45 2e 68 74 6d 6c 60 2c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 61 on.in.`FILE.html`,.without.any.a
140c0 64 64 69 74 69 6f 6e 61 6c 20 69 6e 74 65 72 76 65 6e 74 69 6f 6e 2e 20 20 3c 6b 62 64 3e 4d 2d dditional.intervention...<kbd>M-
140e0 78 0a 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 3c 2f 6b 62 64 3e 20 61 6c 6c 6f 77 x.htmlize-many-files</kbd>.allow
14100 73 20 79 6f 75 20 74 6f 20 68 74 6d 6c 69 7a 65 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 66 s.you.to.htmlize.any.number.of.f
14120 69 6c 65 73 20 69 6e 0a 74 68 65 20 73 61 6d 65 20 6d 61 6e 6e 65 72 2e 20 20 3c 6b 62 64 3e 4d iles.in.the.same.manner...<kbd>M
14140 2d 78 20 68 74 6d 6c 69 7a 65 2d 6d 61 6e 79 2d 66 69 6c 65 73 2d 64 69 72 65 64 3c 2f 6b 62 64 -x.htmlize-many-files-dired</kbd
14160 3e 20 64 6f 65 73 20 74 68 65 0a 73 61 6d 65 20 66 6f 72 20 66 69 6c 65 73 20 6d 61 72 6b 65 64 >.does.the.same.for.files.marked
14180 20 69 6e 20 61 20 64 69 72 65 64 20 62 75 66 66 65 72 2e 0a 0a 68 74 6d 6c 69 7a 65 20 73 75 70 .in.a.dired.buffer...htmlize.sup
141a0 70 6f 72 74 73 20 74 68 72 65 65 20 74 79 70 65 73 20 6f 66 20 48 54 4d 4c 20 6f 75 74 70 75 74 ports.three.types.of.HTML.output
141c0 2c 20 73 65 6c 65 63 74 65 64 20 62 79 20 73 65 74 74 69 6e 67 0a 60 68 74 6d 6c 69 7a 65 2d 6f ,.selected.by.setting.`htmlize-o
141e0 75 74 70 75 74 2d 74 79 70 65 60 3a 20 60 63 73 73 60 2c 20 60 69 6e 6c 69 6e 65 2d 63 73 73 60 utput-type`:.`css`,.`inline-css`
14200 20 28 6f 70 74 69 6d 69 7a 65 64 20 66 6f 72 20 63 6f 64 65 0a 73 6e 69 70 70 65 74 73 29 2c 20 .(optimized.for.code.snippets),.
14220 61 6e 64 20 60 66 6f 6e 74 60 20 28 73 69 6d 70 6c 65 72 20 6f 75 74 70 75 74 2c 20 64 6f 65 73 and.`font`.(simpler.output,.does
14240 6e 27 74 20 72 65 6c 79 20 6f 6e 20 43 53 53 29 2e 20 20 53 65 65 0a 5b 60 68 74 6d 6c 69 7a 65 n't.rely.on.CSS)...See.[`htmlize
14260 2e 65 6c 2e 68 74 6d 6c 60 5d 5b 31 5d 20 66 6f 72 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 .el.html`][1].for.an.example.of.
14280 67 65 6e 65 72 61 74 65 64 20 48 54 4d 4c 2e 0a 0a 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 75 73 generated.HTML...You.can.also.us
142a0 65 20 68 74 6d 6c 69 7a 65 20 66 72 6f 6d 20 79 6f 75 72 20 45 6d 61 63 73 20 4c 69 73 70 20 63 e.htmlize.from.your.Emacs.Lisp.c
142c0 6f 64 65 2e 20 20 57 68 65 6e 20 63 61 6c 6c 65 64 0a 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 69 76 ode...When.called.non-interactiv
142e0 65 6c 79 2c 20 60 68 74 6d 6c 69 7a 65 2d 62 75 66 66 65 72 60 20 61 6e 64 20 60 68 74 6d 6c 69 ely,.`htmlize-buffer`.and.`htmli
14300 7a 65 2d 72 65 67 69 6f 6e 60 20 77 69 6c 6c 0a 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c ze-region`.will.return.the.resul
14320 74 69 6e 67 20 48 54 4d 4c 20 62 75 66 66 65 72 2c 20 62 75 74 20 77 69 6c 6c 20 6e 6f 74 20 63 ting.HTML.buffer,.but.will.not.c
14340 68 61 6e 67 65 20 63 75 72 72 65 6e 74 0a 62 75 66 66 65 72 20 6f 72 20 6d 6f 76 65 20 74 68 65 hange.current.buffer.or.move.the
14360 20 70 6f 69 6e 74 2e 20 20 68 74 6d 6c 69 7a 65 20 77 69 6c 6c 20 64 6f 20 69 74 73 20 62 65 73 .point...htmlize.will.do.its.bes
14380 74 20 74 6f 20 77 6f 72 6b 20 6f 6e 0a 6e 6f 6e 2d 77 69 6e 64 6f 77 69 6e 67 20 45 6d 61 63 73 t.to.work.on.non-windowing.Emacs
143a0 20 73 65 73 73 69 6f 6e 73 20 62 75 74 20 74 68 65 20 72 65 73 75 6c 74 20 77 69 6c 6c 20 62 65 .sessions.but.the.result.will.be
143c0 20 6c 69 6d 69 74 65 64 20 74 6f 0a 63 6f 6c 6f 72 73 20 73 75 70 70 6f 72 74 65 64 20 62 79 20 .limited.to.colors.supported.by.
143e0 74 68 65 20 74 65 72 6d 69 6e 61 6c 2e 0a 0a 68 74 6d 6c 69 7a 65 20 61 69 6d 73 20 66 6f 72 20 the.terminal...htmlize.aims.for.
14400 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 compatibility.with.older.Emacs.v
14420 65 72 73 69 6f 6e 73 2e 20 20 50 6c 65 61 73 65 0a 6c 65 74 20 6d 65 20 6b 6e 6f 77 20 69 66 20 ersions...Please.let.me.know.if.
14440 69 74 20 64 6f 65 73 6e 27 74 20 77 6f 72 6b 20 6f 6e 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6f it.doesn't.work.on.the.version.o
14460 66 20 47 4e 55 20 45 6d 61 63 73 20 74 68 61 74 20 79 6f 75 0a 61 72 65 20 75 73 69 6e 67 2e 0a f.GNU.Emacs.that.you.are.using..
14480 0a 0a 5b 31 5d 3a 20 68 74 74 70 3a 2f 2f 68 74 6d 6c 70 72 65 76 69 65 77 2e 67 69 74 68 75 62 ..[1]:.http://htmlpreview.github
144a0 2e 69 6f 2f 3f 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 68 6e 69 6b 73 69 63 2f .io/?https://github.com/hniksic/
144c0 65 6d 61 63 73 2d 68 74 6d 6c 69 7a 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 68 74 6d 6c 69 7a emacs-htmlize/blob/master/htmliz
144e0 65 2e 65 6c 2e 68 74 6d 6c 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 e.el.html.......................
14500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
146a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
146c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
146e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
147a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
147c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
147e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................