summaryrefslogtreecommitdiff
path: root/localrepo/htmlize-1.56.tar
blob: b867a7c4f293826df8f258983fa59ce37d2a6dc8 (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 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 00 00 00 htmlize-1.56/README.md..........
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 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...
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 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
0420 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
0440 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/
0460 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
0480 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
04a0 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.
04c0 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..
04e0 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.
0500 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..
0520 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
0540 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.
0560 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
0580 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
05a0 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
05c0 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
05e0 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
0600 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.
0620 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
0640 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-
0660 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
0680 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
06a0 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
06c0 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-
06e0 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
0700 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
0720 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
0740 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
0760 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
0780 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
07a0 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
07c0 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
07e0 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`
0800 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),.
0820 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
0840 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
0860 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.
0880 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
08a0 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
08c0 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
08e0 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
0900 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
0920 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
0940 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
0960 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
0980 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
09a0 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
09c0 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.
09e0 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.
0a00 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
0a20 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.
0a40 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
0a60 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..
0a80 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
0aa0 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/
0ac0 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
0ae0 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.......................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 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.........
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 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
0c80 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...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 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...................
0d20 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...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 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
0e20 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..
0e40 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
0e60 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
0e80 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
0ea0 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.
0ec0 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
0ee0 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.;
0f00 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
0f20 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
0f40 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
0f60 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
0f80 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
0fa0 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
0fc0 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.
0fe0 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...;
1000 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
1020 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
1040 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
1060 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
1080 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
10a0 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
10c0 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
10e0 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
1100 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.
1120 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
1140 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
1160 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
1180 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,.
11a0 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
11c0 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
11e0 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
1200 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
1220 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
1240 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.
1260 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.
1280 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.
12a0 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
12c0 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.
12e0 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.
1300 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
1320 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
1340 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.
1360 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.
1380 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.
13a0 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
13c0 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
13e0 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.
1400 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
1420 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
1440 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
1460 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.
1480 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
14a0 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
14c0 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
14e0 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
1500 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
1520 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
1540 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
1560 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
1580 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.
15a0 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
15c0 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
15e0 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
1600 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
1620 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.;;.
1640 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
1660 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
1680 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
16a0 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.
16c0 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
16e0 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
1700 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
1720 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
1740 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'.
1760 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="
1780 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
17a0 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
17c0 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
17e0 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.
1800 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
1820 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.
1840 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
1860 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
1880 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
18a0 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
18c0 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
18e0 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
1900 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
1920 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
1940 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
1960 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
1980 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
19a0 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.;
19c0 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
19e0 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
1a00 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
1a20 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
1a40 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
1a60 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.
1a80 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
1aa0 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
1ac0 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
1ae0 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...
1b00 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
1b20 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
1b40 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>.;
1b60 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
1b80 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>.;;..;;
1ba0 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
1bc0 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
1be0 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
1c00 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,.
1c20 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
1c40 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
1c60 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
1c80 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...;;.
1ca0 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
1cc0 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..:)".;;..
1ce0 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
1d00 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:..
1d20 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
1d40 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
1d60 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
1d80 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-
1da0 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
1dc0 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
1de0 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
1e00 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
1e20 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.
1e40 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.
1e60 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
1e80 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
1ea0 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
1ec0 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
1ee0 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',.
1f00 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
1f20 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
1f40 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
1f60 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
1f80 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
1fa0 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
1fc0 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
1fe0 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
2000 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
2020 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.
2040 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:.<
2060 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
2080 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
20a0 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
20c0 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
20e0 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.<
2100 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
2120 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
2140 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
2160 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.
2180 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'.
21a0 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.
21c0 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
21e0 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
2200 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.
2220 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).(
2240 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).
2260 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
2280 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
22a0 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
22c0 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...
22e0 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
2300 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..."
2320 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
2340 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
2360 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
2380 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
23a0 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
23c0 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
23e0 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
2400 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.
2420 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.
2440 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
2460 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
2480 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..."
24a0 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
24c0 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
24e0 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
2500 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
2520 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
2540 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.
2560 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.
2580 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-
25a0 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.
25c0 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
25e0 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
2600 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
2620 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
2640 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
2660 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
2680 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
26a0 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
26c0 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
26e0 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
2700 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
2720 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
2740 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
2760 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.
2780 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
27a0 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.
27c0 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
27e0 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
2800 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
2820 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
2840 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
2860 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
2880 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.
28a0 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
28c0 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
28e0 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
2900 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
2920 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
2940 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
2960 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
2980 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
29a0 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
29c0 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
29e0 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:.
2a00 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
2a20 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
2a40 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
2a60 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
2a80 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
2aa0 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
2ac0 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-
2ae0 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.
2b00 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
2b20 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
2b40 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
2b60 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
2b80 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
2ba0 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
2bc0 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
2be0 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>.
2c00 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,
2c20 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
2c40 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
2c60 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
2c80 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
2ca0 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
2cc0 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.
2ce0 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
2d00 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>.
2d20 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
2d40 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
2d60 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
2d80 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.
2da0 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
2dc0 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
2de0 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
2e00 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
2e20 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
2e40 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.
2e60 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
2e80 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
2ea0 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
2ec0 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.
2ee0 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
2f00 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
2f20 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
2f40 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\",.\
2f60 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..
2f80 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
2fa0 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
2fc0 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.
2fe0 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
3000 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
3020 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.
3040 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
3060 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
3080 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
30a0 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
30c0 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
30e0 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
3100 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
3120 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
3140 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
3160 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
3180 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
31a0 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
31c0 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
31e0 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)....
3200 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
3220 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-
3240 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
3260 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
3280 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
32a0 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
32c0 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
32e0 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
3300 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.
3320 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
3340 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
3360 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
3380 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
33a0 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
33c0 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.
33e0 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.
3400 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
3420 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.
3440 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
3460 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
3480 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
34a0 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
34c0 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
34e0 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
3500 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-
3520 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
3540 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
3560 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.
3580 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
35a0 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,.\"&
35c0 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
35e0 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
3600 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
3620 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
3640 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
3660 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.\"
3680 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
36a0 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
36c0 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;.
36e0 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.
3700 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
3720 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
3740 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
3760 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.
3780 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.
37a0 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.
37c0 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
37e0 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
3800 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
3820 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
3840 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.
3860 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.
3880 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).
38a0 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)..
38c0 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".
38e0 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)..(
3900 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
3920 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.
3940 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
3960 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.
3980 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;
39a0 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
39c0 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
39e0 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
3a00 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
3a20 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
3a40 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.
3a60 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
3a80 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..."
3aa0 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
3ac0 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..
3ae0 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
3b00 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
3b20 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
3b40 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
3b60 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
3b80 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
3ba0 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
3bc0 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'.
3be0 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.
3c00 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,
3c20 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
3c40 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
3c60 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
3c80 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
3ca0 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
3cc0 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
3ce0 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
3d00 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
3d20 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.
3d40 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...
3d60 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
3d80 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
3da0 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
3dc0 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
3de0 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
3e00 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
3e20 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
3e40 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
3e60 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
3e80 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
3ea0 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:
3ec0 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
3ee0 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
3f00 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-
3f20 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\"......
3f40 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
3f60 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
3f80 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.\
3fa0 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.
3fc0 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
3fe0 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
4000 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
4020 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
4040 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
4060 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
4080 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
40a0 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.
40c0 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.
40e0 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
4100 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
4120 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.
4140 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
4160 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
4180 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"))..
41a0 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
41c0 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-
41e0 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
4200 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
4220 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
4240 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
4260 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
4280 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)..
42a0 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.
42c0 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
42e0 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
4300 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.
4320 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
4340 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
4360 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..
4380 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
43a0 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
43c0 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
43e0 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
4400 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
4420 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
4440 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
4460 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
4480 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
44a0 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
44c0 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
44e0 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
4500 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
4520 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
4540 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
4560 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
4580 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
45a0 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.......(
45c0 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
45e0 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
4600 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)))
4620 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
4640 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
4660 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)).(
4680 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
46a0 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
46c0 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
46e0 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
4700 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.
4720 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
4740 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
4760 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
4780 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
47a0 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.
47c0 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
47e0 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
4800 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
4820 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))......
4840 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
4860 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
4880 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
48a0 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))..........
48c0 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)......
48e0 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
4900 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)
4920 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
4940 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.
4960 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
4980 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
49a0 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
49c0 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
49e0 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
4a00 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)))..
4a20 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
4a40 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.(
4a60 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
4a80 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).....
4aa0 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).......`(
4ac0 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
4ae0 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
4b00 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
4b20 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
4b40 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
4b60 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
4b80 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...;;.
4ba0 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
4bc0 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
4be0 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...
4c00 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.?
4c20 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
4c40 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
4c60 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;
4c80 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
4ca0 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.
4cc0 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-
4ce0 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."&#
4d00 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
4d20 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
4d40 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
4d60 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.?\
4d80 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)."\
4da0 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"...
4dc0 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.>.......(
4de0 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
4e00 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
4e20 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
4e40 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
4e60 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
4e80 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.
4ea0 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
4ec0 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.
4ee0 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;"
4f00 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.
4f20 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
4f40 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
4f60 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
4f80 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
4fa0 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
4fc0 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
4fe0 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
5000 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
5020 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
5040 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
5060 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
5080 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
50a0 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.;;
50c0 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
50e0 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.;;.
5100 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
5120 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
5140 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.
5160 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
5180 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
51a0 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
51c0 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
51e0 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.
5200 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
5220 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
5240 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
5260 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
5280 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
52a0 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
52c0 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.....
52e0 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
5300 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..
5320 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
5340 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
5360 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
5380 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.
53a0 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....
53c0 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
53e0 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
5400 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
5420 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....
5440 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....
5460 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
5480 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
54a0 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
54c0 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.
54e0 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.
5500 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
5520 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."&#%
5540 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
5560 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
5580 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
55a0 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
55c0 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.
55e0 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
5600 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
5620 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
5640 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.....
5660 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
5680 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
56a0 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....
56c0 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
56e0 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
5700 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
5720 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
5740 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
5760 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
5780 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
57a0 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
57c0 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
57e0 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
5800 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))....
5820 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
5840 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
5860 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.?\").....................
5880 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
58a0 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)))............
58c0 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
58e0 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
5900 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)))....
5920 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.
5940 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
5960 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.
5980 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
59a0 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
59c0 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
59e0 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
5a00 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
5a20 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
5a40 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-
5a60 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
5a80 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
5aa0 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
5ac0 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)
5ae0 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
5b00 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)..
5b20 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
5b40 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...
5b60 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.((
5b80 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
5ba0 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)....
5bc0 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
5be0 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))...
5c00 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
5c20 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.......
5c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 27 68 ..........................pos.'h
5c60 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))........
5c80 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
5ca0 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))).........(
5cc0 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.......
5ce0 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
5d00 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
5d20 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
5d40 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).
5d60 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...............
5d80 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)
5da0 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
5dc0 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))).....(
5de0 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
5e00 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
5e20 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.
5e40 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
5e60 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.
5e80 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....
5ea0 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
5ec0 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.(
5ee0 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))......
5f00 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
5f20 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
5f40 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
5f60 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...............................
5f80 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)))....
5fa0 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.
5fc0 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)
5fe0 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
6000 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.........
6020 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.
6040 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
6060 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
6080 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
60a0 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
60c0 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
60e0 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.
6100 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
6120 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
6140 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
6160 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)....
6180 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*.
61a0 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
61c0 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))..............
61e0 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
6200 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...............
6220 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
6240 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
6260 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
6280 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...
62a0 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..............
62c0 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
62e0 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
6300 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)).........
6320 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
6340 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-
6360 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
6380 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
63a0 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
63c0 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
63e0 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.
6400 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
6420 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
6440 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
6460 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
6480 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
64a0 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
64c0 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.
64e0 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.
6500 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
6520 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
6540 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
6560 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
6580 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
65a0 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))).....
65c0 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
65e0 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
6600 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))))).
6620 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
6640 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
6660 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)).........
6680 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
66a0 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
66c0 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
66e0 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...
6700 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
6720 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).....
6740 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
6760 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
6780 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
67a0 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
67c0 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,
67e0 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
6800 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...........
6820 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
6840 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)..................
6860 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
6880 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
68a0 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.(/
68c0 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)........(<
68e0 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-
6900 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
6920 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))......
6940 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
6960 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).
6980 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-
69a0 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))........
69c0 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........
69e0 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=\"
6a00 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
6a20 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))......................"")))
6a40 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.
6a60 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
6a80 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...
6aa0 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
6ac0 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))))
6ae0 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
6b00 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)......
6b20 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
6b40 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))))............
6b60 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./>"
6b80 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
6ba0 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
6bc0 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
6be0 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
6c00 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.
6c20 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
6c40 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./>"....................(
6c60 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).""
6c80 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
6ca0 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.:
6cc0 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
6ce0 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
6d00 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.
6d20 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
6d40 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).
6d60 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.(
6d80 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
6da0 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
6dc0 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.(
6de0 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
6e00 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
6e20 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
6e40 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
6e60 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
6e80 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
6ea0 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
6ec0 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
6ee0 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
6f00 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
6f20 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
6f40 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.
6f60 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
6f80 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
6fa0 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
6fc0 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
6fe0 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
7000 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
7020 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
7040 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
7060 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
7080 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
70a0 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,
70c0 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
70e0 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.(
7100 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)..........
7120 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
7140 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)..................
7160 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
7180 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
71a0 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
71c0 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)......
71e0 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
7200 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
7220 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
7240 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
7260 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.
7280 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.
72a0 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
72c0 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
72e0 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)
7300 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
7320 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)).....
7340 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
7360 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
7380 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.(
73a0 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)....
73c0 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).......
73e0 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
7400 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
7420 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)
7440 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)..
7460 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))))....
7480 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
74a0 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
74c0 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
74e0 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
7500 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.(
7520 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
7540 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)))...............(
7560 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
7580 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
75a0 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).............
75c0 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)))........
75e0 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)
7600 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
7620 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)))......
7640 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
7660 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
7680 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
76a0 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...;;.
76c0 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
76e0 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
7700 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.
7720 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
7740 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
7760 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)).....
7780 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.((
77a0 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
77c0 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
77e0 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))
7800 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...........
7820 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).(
7840 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)..............
7860 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
7880 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
78a0 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-
78c0 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
78e0 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,
7900 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
7920 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
7940 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
7960 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))
7980 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
79a0 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
79c0 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
79e0 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
7a00 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
7a20 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
7a40 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
7a60 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
7a80 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
7aa0 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
7ac0 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
7ae0 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
7b00 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
7b20 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).
7b40 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
7b60 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
7b80 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
7ba0 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.....;
7bc0 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
7be0 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...
7c00 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
7c20 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
7c40 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).
7c60 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
7c80 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).......
7ca0 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
7cc0 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)).......(
7ce0 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
7d00 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
7d20 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)...................
7d40 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
7d60 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)...........
7d80 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
7da0 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
7dc0 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........
7de0 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
7e00 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.
7e20 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))
7e40 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
7e60 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-
7e80 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
7ea0 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
7ec0 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...;;.
7ee0 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
7f00 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...;;.
7f20 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
7f40 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...
7f60 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
7f80 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)....
7fa0 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
7fc0 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
7fe0 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
8000 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
8020 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...;;
8040 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
8060 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
8080 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
80a0 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
80c0 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.?\.)))...
80e0 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
8100 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
8120 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
8140 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
8160 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)..
8180 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
81a0 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
81c0 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)..
81e0 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
8200 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
8220 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
8240 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
8260 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
8280 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
82a0 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
82c0 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
82e0 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
8300 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.
8320 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..
8340 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.).....
8360 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
8380 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.
83a0 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
83c0 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-
83e0 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)))....
8400 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.
8420 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'.......;
8440 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
8460 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
8480 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
84a0 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
84c0 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
84e0 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)))................
8500 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..................(
8520 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
8540 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))....
8560 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
8580 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
85a0 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+
85c0 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
85e0 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
8600 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))).......
8620 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))
8640 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.
8660 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
8680 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
86a0 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.(
86c0 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.(
86e0 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))..;;
8700 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
8720 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
8740 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
8760 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..
8780 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.
87a0 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
87c0 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
87e0 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
8800 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..
8820 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
8840 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
8860 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
8880 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
88a0 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
88c0 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))).
88e0 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
8900 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....
8920 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).....
8940 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.......
8960 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
8980 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)).....................
89a0 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
89c0 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.
89e0 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
8a00 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))
8a20 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
8a40 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
8a60 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
8a80 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)..
8aa0 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.'@
8ac0 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
8ae0 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
8b00 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."...;
8b20 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....(
8b40 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).
8b60 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.
8b80 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).
8ba0 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
8bc0 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
8be0 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))).....(
8c00 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
8c20 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....
8c40 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
8c60 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)).
8c80 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
8ca0 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
8cc0 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)))
8ce0 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.
8d00 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
8d20 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.
8d40 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
8d60 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
8d80 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
8da0 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
8dc0 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
8de0 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
8e00 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
8e20 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)).
8e40 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...
8e60 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:\\)?\\(
8e80 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]
8ea0 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)....
8ec0 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
8ee0 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
8f00 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)).
8f20 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
8f40 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
8f60 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
8f80 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
8fa0 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
8fc0 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:
8fe0 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]+://[^;]+\\)\\)>"
9000 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
9020 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
9040 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
9060 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)
9080 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
90a0 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
90c0 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
90e0 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
9100 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
9120 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/>.;
9140 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
9160 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
9180 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
91a0 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
91c0 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./>"
91e0 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
9200 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)....
9220 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)))....
9240 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
9260 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.
9280 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))............
92a0 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)).........
92c0 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)).
92e0 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.
9300 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
9320 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
9340 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
9360 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............................(
9380 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.
93a0 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))....................
93c0 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
93e0 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)))))......
9400 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
9420 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
9440 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
9460 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
9480 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."
94a0 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
94c0 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
94e0 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...;;.
9500 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
9520 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...;;.
9540 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
9560 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
9580 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.(
95a0 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:
95c0 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
95e0 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))).....
9600 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
9620 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...`(
9640 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
9660 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
9680 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
96a0 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
96c0 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/"....."
96e0 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
9700 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
9720 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
9740 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
9760 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
9780 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
97a0 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/"
97c0 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
97e0 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
9800 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/"
9820 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/"....
9840 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/"....
9860 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
9880 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
98a0 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
98c0 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
98e0 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.
9900 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
9920 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
9940 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.
9960 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
9980 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.
99a0 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
99c0 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
99e0 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
9a00 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
9a20 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
9a40 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.
9a60 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.((
9a80 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
9aa0 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
9ac0 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
9ae0 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
9b00 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
9b20 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
9b40 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
9b60 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
9b80 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-*\\([!#]\\|$\\)")...
9ba0 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
9bc0 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
9be0 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]+\\)
9c00 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]+\\(.*\\)
9c20 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.(
9c40 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)..........
9c60 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".........
9c80 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
9ca0 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
9cc0 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
9ce0 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)
9d00 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
9d20 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
9d40 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)
9d60 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))))
9d80 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
9da0 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
9dc0 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.
9de0 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.
9e00 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
9e20 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
9e40 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
9e60 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
9e80 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
9ea0 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)...;;.
9ec0 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
9ee0 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.
9f00 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.
9f20 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
9f40 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
9f60 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
9f80 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
9fa0 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
9fc0 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
9fe0 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
a000 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
a020 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.
a040 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
a060 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)....
a080 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))))).....
a0a0 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
a0c0 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
a0e0 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
a100 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
a120 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.'
a140 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))..
a160 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.
a180 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.
a1a0 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
a1c0 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
a1e0 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))
a200 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
a220 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.
a240 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
a260 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
a280 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....(
a2a0 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
a2c0 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
a2e0 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
a300 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
a320 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
a340 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.
a360 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
a380 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
a3a0 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
a3c0 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
a3e0 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.
a400 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
a420 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)).
a440 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
a460 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
a480 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
a4a0 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
a4c0 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
a4e0 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
a500 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.
a520 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....
a540 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))....((
a560 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
a580 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.
a5a0 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
a5c0 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...
a5e0 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
a600 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
a620 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
a640 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
a660 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
a680 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).................
a6a0 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))....
a6c0 20 20 20 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
a6e0 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
a700 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
a720 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)
a740 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
a760 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
a780 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
a7a0 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
a7c0 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
a7e0 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.
a800 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-
a820 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
a840 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
a860 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
a880 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
a8a0 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
a8c0 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
a8e0 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
a900 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
a920 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
a940 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
a960 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
a980 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
a9a0 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.
a9c0 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
a9e0 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
aa00 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..
aa20 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...
aa40 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
aa60 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....
aa80 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
aaa0 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
aac0 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
aae0 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....;.
ab00 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..
ab20 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.
ab40 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
ab60 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
ab80 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
aba0 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
abc0 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.
abe0 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
ac00 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
ac20 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.
ac40 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
ac60 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
ac80 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.....
aca0 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
acc0 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......
ace0 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
ad00 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
ad20 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))
ad40 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
ad60 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.(
ad80 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
ada0 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......
adc0 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
ade0 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......
ae00 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
ae20 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.
ae40 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
ae60 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
ae80 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
aea0 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))...
aec0 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
aee0 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).
af00 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
af20 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
af40 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
af60 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
af80 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
afa0 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
afc0 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
afe0 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.......(
b000 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
b020 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
b040 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).............
b060 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
b080 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.(
b0a0 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.
b0c0 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))..........
b0e0 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
b100 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)).............
b120 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)))))....
b140 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
b160 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............
b180 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.............
b1a0 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
b1c0 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
b1e0 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)))).......(
b200 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
b220 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
b240 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
b260 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
b280 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..
b2a0 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
b2c0 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
b2e0 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
b300 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..
b320 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
b340 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
b360 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
b380 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.
b3a0 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.
b3c0 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
b3e0 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.
b400 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
b420 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
b440 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).
b460 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
b480 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
b4a0 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))).....(
b4c0 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-
b4e0 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-
b500 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.
b520 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)))..
b540 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
b560 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
b580 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....
b5a0 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)
b5c0 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
b5e0 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
b600 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."").
b620 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")).....;;
b640 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
b660 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)))..
b680 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
b6a0 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
b6c0 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
b6e0 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
b700 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-
b720 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
b740 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
b760 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..........
b780 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))
b7a0 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
b7c0 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
b7e0 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))..
b800 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
b820 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
b840 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
b860 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-
b880 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
b8a0 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
b8c0 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)))....
b8e0 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).......
b900 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.........(
b920 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
b940 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
b960 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
b980 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
b9a0 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
b9c0 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.
b9e0 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).........
ba00 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.
ba20 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)))....
ba40 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)
ba60 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
ba80 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
baa0 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).............
bac0 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
bae0 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).............................
bb00 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
bb20 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)....................
bb40 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-
bb60 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)).............
bb80 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
bba0 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))).........
bbc0 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
bbe0 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
bc00 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
bc20 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
bc40 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))
bc60 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
bc80 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)...;
bca0 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
bcc0 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...;;...(
bce0 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
bd00 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
bd20 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
bd40 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
bd60 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
bd80 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
bda0 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.
bdc0 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
bde0 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
be00 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)
be20 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.
be40 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
be60 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
be80 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
bea0 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
bec0 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
bee0 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).
bf00 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
bf20 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
bf40 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
bf60 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.
bf80 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.
bfa0 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
bfc0 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
bfe0 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
c000 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.
c020 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)..(
c040 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
c060 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
c080 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).
c0a0 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
c0c0 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
c0e0 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
c100 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
c120 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-
c140 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
c160 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
c180 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
c1a0 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-
c1c0 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
c1e0 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))))
c200 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
c220 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
c240 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.
c260 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
c280 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
c2a0 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
c2c0 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
c2e0 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
c300 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
c320 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
c340 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
c360 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
c380 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
c3a0 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
c3c0 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
c3e0 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))).....(
c400 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
c420 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.(
c440 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
c460 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.
c480 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
c4a0 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
c4c0 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)...
c4e0 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
c500 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
c520 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
c540 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
c560 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
c580 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.....
c5a0 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))...
c5c0 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)))......
c5e0 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
c600 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
c620 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
c640 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
c660 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).
c680 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)
c6a0 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
c6c0 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.
c6e0 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
c700 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
c720 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
c740 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
c760 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
c780 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
c7a0 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
c7c0 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
c7e0 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
c800 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)...;
c820 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
c840 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)...;
c860 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
c880 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"))..
c8a0 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.'(
c8c0 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
c8e0 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.
c900 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
c920 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
c940 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
c960 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..
c980 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
c9a0 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)......
c9c0 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)...........
c9e0 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
ca00 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.(
ca20 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))..............
ca40 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
ca60 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.
ca80 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))............
caa0 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
cac0 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
cae0 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).
cb00 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)..............
cb20 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
cb40 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))........
cb60 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
cb80 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
cba0 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
cbc0 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
cbe0 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
cc00 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
cc20 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
cc40 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))..............
cc60 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)
cc80 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.........
cca0 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
ccc0 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.".
cce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
cd00 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
cd20 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").................
cd40 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)))))
cd60 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
cd80 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
cda0 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-
cdc0 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
cde0 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
ce00 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
ce20 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.
ce40 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
ce60 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.
ce80 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
cea0 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
cec0 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
cee0 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'
cf00 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
cf20 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
cf40 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
cf60 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
cf80 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*.
cfa0 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-
cfc0 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-
cfe0 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
d000 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
d020 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.......
d040 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
d060 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
d080 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))))...
d0a0 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
d0c0 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
d0e0 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)).
d100 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)))
d120 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
d140 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.
d160 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
d180 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
d1a0 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)......
d1c0 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
d1e0 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.()..."
d200 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
d220 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
d240 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
d260 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.
d280 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'."..
d2a0 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.
d2c0 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
d2e0 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).
d300 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))
d320 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
d340 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)..........
d360 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
d380 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
d3a0 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.
d3c0 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
d3e0 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)............................
d400 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
d420 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
d440 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
d460 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
d480 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
d4a0 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))).
d4c0 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
d4e0 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)
d500 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
d520 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)).
d540 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)
d560 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
d580 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.
d5a0 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
d5c0 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
d5e0 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
d600 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
d620 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))).
d640 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
d660 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.#'<........................
d680 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)...........
d6a0 20 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
d6c0 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))))
d6e0 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..........
d700 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.#'<....
d720 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
d740 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)..........................
d760 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.
d780 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)))..................
d7a0 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
d7c0 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.
d7e0 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-
d800 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
d820 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
d840 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
d860 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
d880 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.
d8a0 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
d8c0 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
d8e0 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
d900 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)
d920 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
d940 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
d960 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)))....
d980 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
d9a0 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.......;
d9c0 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
d9e0 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
da00 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
da20 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
da40 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.....
da60 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
da80 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'.........
daa0 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)..
dac0 20 20 20 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
dae0 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))...............
db00 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
db20 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)))))...
db40 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
db60 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)........
db80 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
dba0 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.
dbc0 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
dbe0 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
dc00 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
dc20 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
dc40 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
dc60 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
dc80 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......
dca0 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
dcc0 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))...;;.
dce0 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
dd00 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
dd20 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
dd40 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
dd60 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
dd80 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
dda0 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
ddc0 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
dde0 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
de00 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
de20 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.
de40 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..;;.;;.
de60 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.(
de80 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...)..
dea0 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
dec0 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
dee0 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
df00 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
df20 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
df40 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'.;;.
df60 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
df80 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
dfa0 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
dfc0 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...;
dfe0 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
e000 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
e020 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
e040 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
e060 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
e080 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
e0a0 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
e0c0 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....
e0e0 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
e100 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
e120 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
e140 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....
e160 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.
e180 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
e1a0 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
e1c0 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
e1e0 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.
e200 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-
e220 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
e240 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
e260 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
e280 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
e2a0 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
e2c0 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.
e2e0 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.
e300 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
e320 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
e340 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
e360 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.
e380 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))
e3a0 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.
e3c0 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
e3e0 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
e400 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)))...
e420 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
e440 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...
e460 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
e480 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
e4a0 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
e4c0 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
e4e0 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
e500 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
e520 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
e540 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).
e560 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
e580 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
e5a0 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
e5c0 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...
e5e0 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
e600 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
e620 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
e640 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.
e660 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
e680 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)....
e6a0 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
e6c0 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.
e6e0 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
e700 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))
e720 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
e740 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
e760 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;".....
e780 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
e7a0 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.(
e7c0 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
e7e0 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
e800 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
e820 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).......
e840 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%%
e860 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)).......
e880 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
e8a0 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
e8c0 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
e8e0 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
e900 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)...
e920 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
e940 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
e960 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.
e980 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))..
e9a0 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
e9c0 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-
e9e0 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))
ea00 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
ea20 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
ea40 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))
ea60 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
ea80 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
eaa0 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
eac0 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
eae0 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
eb00 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."..
eb20 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...
eb40 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.
eb60 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
eb80 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.
eba0 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))....
ebc0 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......}\
ebe0 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
ec00 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
ec20 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)....
ec40 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.
ec60 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
ec80 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-
eca0 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.
ecc0 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
ece0 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-
ed00 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
ed20 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..
ed40 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.
ed60 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
ed80 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
eda0 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.
edc0 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
ede0 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
ee00 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
ee20 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.
ee40 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)))....
ee60 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-
ee80 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."
eea0 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
eec0 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
eee0 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.".
ef00 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-
ef20 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
ef40 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........")
ef60 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"))
ef80 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
efa0 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"
efc0 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
efe0 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
f000 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
f020 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...;;
f040 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
f060 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
f080 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
f0a0 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
f0c0 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
f0e0 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
f100 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
f120 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
f140 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
f160 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))..
f180 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.
f1a0 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))..
f1c0 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
f1e0 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
f200 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
f220 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.........(
f240 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)))))...;;
f260 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...(
f280 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
f2a0 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
f2c0 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
f2e0 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
f300 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))........"."
f320 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
f340 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-
f360 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
f380 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
f3a0 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
f3c0 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))
f3e0 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 ..........................".")).
f400 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
f420 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
f440 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
f460 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
f480 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
f4a0 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
f4c0 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)))......(
f4e0 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
f500 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).".
f520 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
f540 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)...
f560 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).......(
f580 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
f5a0 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.
f5c0 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.().......
f5e0 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."
f600 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
f620 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
f640 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
f660 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.
f680 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
f6a0 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
f6c0 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
f6e0 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
f700 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
f720 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
f740 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.....
f760 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
f780 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."
f7a0 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\">
f7c0 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
f7e0 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)..........
f800 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
f820 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>
f840 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
f860 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
f880 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
f8a0 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
f8c0 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>.
f8e0 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
f900 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
f920 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*.(
f940 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
f960 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
f980 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
f9a0 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
f9c0 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
f9e0 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
fa00 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)))...
fa20 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
fa40 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
fa60 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)...."
fa80 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-
faa0 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
fac0 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
fae0 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..
fb00 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
fb20 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
fb40 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
fb60 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-
fb80 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>
fba0 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
fbc0 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
fbe0 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
fc00 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.
fc20 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
fc40 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
fc60 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.().....
fc80 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))
fca0 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.()
fcc0 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
fce0 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...
fd00 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
fd20 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
fd40 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
fd60 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'
fd80 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.
fda0 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
fdc0 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
fde0 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
fe00 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.......(
fe20 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))
fe40 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
fe60 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
fe80 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
fea0 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
fec0 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-
fee0 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
ff00 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
ff20 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
ff40 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.
ff60 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
ff80 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.
ffa0 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)..............
ffc0 20 20 20 20 20 20 20 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 ...............................(
ffe0 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..........
10000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10020 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.....
10040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10060 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)))..
10080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
100a0 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*")))...........(
100c0 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
100e0 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
10100 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)).
10120 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
10140 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
10160 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)))..............
10180 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))...........
101a0 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
101c0 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)............................
101e0 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
10200 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))....................
10220 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)))).........
10240 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
10260 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
10280 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
102a0 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...
102c0 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
102e0 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
10300 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.
10320 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
10340 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...............(
10360 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)............
10380 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
103a0 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
103c0 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-%
103e0 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"............
10400 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
10420 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).........
10440 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..").....
10460 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
10480 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))...............
104a0 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"..............
104c0 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-
104e0 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>\
10500 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
10520 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...............
10540 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."...
10560 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
10580 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 \"."............................
105a0 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
105c0 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")..........
105e0 20 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
10600 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)..................
10620 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 ......."")......................
10640 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).............
10660 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
10680 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)............
106a0 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>").........
106c0 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
106e0 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
10700 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
10720 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)).
10740 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
10760 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)........
10780 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....")........
107a0 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
107c0 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))...............
107e0 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.
10800 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
10820 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.................
10840 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
10860 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......
10880 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.
108a0 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.
108c0 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.
108e0 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
10900 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-
10920 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))..
10940 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
10960 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.
10980 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
109a0 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.`
109c0 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..............
109e0 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....................
10a00 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
10a20 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
10a40 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...
10a60 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
10a80 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
10aa0 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
10ac0 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.........
10ae0 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
10b00 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....
10b20 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
10b40 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.
10b60 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
10b80 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
10ba0 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
10bc0 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
10be0 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.........
10c00 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
10c20 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
10c40 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
10c60 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............
10c80 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)).....
10ca0 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))...
10cc0 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.
10ce0 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
10d00 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
10d20 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
10d40 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.................;;.
10d60 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........
10d80 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
10da0 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)..............
10dc0 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.
10de0 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).............
10e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
10e20 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))
10e40 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 ................................
10e60 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)
10e80 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
10ea0 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)
10ec0 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
10ee0 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
10f00 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))................
10f20 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
10f40 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......
10f60 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
10f80 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
10fa0 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)..........
10fc0 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.
10fe0 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
11000 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.(
11020 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
11040 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
11060 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)..............
11080 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
110a0 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.....................
110c0 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
110e0 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))).
11100 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
11120 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
11140 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))................
11160 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
11180 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.........
111a0 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...
111c0 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
111e0 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.
11200 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
11220 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
11240 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
11260 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.
11280 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
112a0 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..<
112c0 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
112e0 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))....
11300 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"
11320 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-
11340 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)...............(
11360 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))..........
11380 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
113a0 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
113c0 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
113e0 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...............
11400 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
11420 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.............
11440 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
11460 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
11480 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-
114a0 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
114c0 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))...............
114e0 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).
11500 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
11520 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.
11540 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).........
11560 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)..........
11580 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)).........
115a0 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))))
115c0 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
115e0 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
11600 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.
11620 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
11640 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,
11660 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
11680 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.
116a0 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....
116c0 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)...
116e0 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.
11700 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
11720 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......
11740 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
11760 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
11780 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
117a0 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
117c0 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
117e0 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
11800 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
11820 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
11840 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
11860 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
11880 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
118a0 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
118c0 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
118e0 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
11900 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
11920 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)........
11940 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-
11960 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
11980 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
119a0 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))
119c0 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-
119e0 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
11a00 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.
11a20 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.........
11a40 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
11a60 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)))))....;;;
11a80 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
11aa0 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.
11ac0 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
11ae0 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
11b00 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
11b20 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
11b40 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
11b60 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
11b80 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
11ba0 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
11bc0 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
11be0 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
11c00 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
11c20 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
11c40 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
11c60 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
11c80 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.
11ca0 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
11cc0 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
11ce0 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.
11d00 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
11d20 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
11d40 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)..
11d60 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
11d80 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)
11da0 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))))....
11dc0 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
11de0 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
11e00 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
11e20 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
11e40 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
11e60 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
11e80 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
11ea0 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
11ec0 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.
11ee0 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
11f00 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
11f20 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
11f40 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
11f60 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
11f80 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
11fa0 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
11fc0 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
11fe0 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
12000 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.
12020 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
12040 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
12060 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
12080 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...
120a0 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
120c0 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
120e0 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
12100 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
12120 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))).....
12140 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
12160 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
12180 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
121a0 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
121c0 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
121e0 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
12200 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
12220 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
12240 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
12260 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.
12280 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
122a0 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>'.
122c0 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
122e0 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
12300 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
12320 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.((
12340 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-
12360 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
12380 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))..(
123a0 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
123c0 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
123e0 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
12400 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
12420 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
12440 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
12460 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
12480 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
124a0 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
124c0 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.
124e0 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
12500 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\
12520 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.
12540 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
12560 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.
12580 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
125a0 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
125c0 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
125e0 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
12600 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
12620 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)).
12640 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
12660 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
12680 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").;.....
126a0 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
126c0 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
126e0 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.
12700 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"))))..;;;#
12720 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.(
12740 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
12760 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
12780 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
127a0 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.
127c0 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
127e0 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.
12800 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...
12820 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
12840 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
12860 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.
12880 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.
128a0 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...
128c0 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.
128e0 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
12900 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.
12920 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
12940 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.
12960 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
12980 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
129a0 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
129c0 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
129e0 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
12a00 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
12a20 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
12a40 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
12a60 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
12a80 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.(
12aa0 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
12ac0 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
12ae0 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)......
12b00 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...
12b20 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
12b40 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.
12b60 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)))
12b80 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
12ba0 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
12bc0 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))
12be0 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
12c00 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
12c20 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
12c40 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
12c60 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
12c80 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
12ca0 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
12cc0 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
12ce0 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
12d00 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
12d20 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....
12d40 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
12d60 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-
12d80 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.
12da0 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
12dc0 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
12de0 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
12e00 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.....
12e20 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
12e40 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
12e60 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))..;;.
12e80 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.
12ea0 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)..;;
12ec0 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
12ee0 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
12f00 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
12f20 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
12f40 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
12f60 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
12f80 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
12fa0 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.
12fc0 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
12fe0 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...
13000 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
13020 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
13040 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
13060 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
13080 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
130a0 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
130c0 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
130e0 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
13100 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
13120 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
13140 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
13160 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.
13180 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
131a0 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
131c0 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
131e0 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
13200 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
13220 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...
13240 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.
13260 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.
13280 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.......;;.
132a0 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,.
132c0 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.......
132e0 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.(
13300 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
13320 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):.".......
13340 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
13360 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)))..........""
13380 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))
133a0 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
133c0 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
133e0 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...
13400 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
13420 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
13440 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
13460 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
13480 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))........(
134a0 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
134c0 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
134e0 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)....
13500 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
13520 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
13540 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
13560 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
13580 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
135a0 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
135c0 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
135e0 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
13600 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:.
13620 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
13640 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)
13660 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
13680 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..............................
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 4e 45 57 53 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 htmlize-1.56/NEWS...............
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 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...
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 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-
13a20 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.
13a40 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
13a60 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
13a80 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.....*
13aa0 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
13ac0 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
13ae0 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..
13b00 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
13b20 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.
13b40 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.
13b60 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
13b80 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
13ba0 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
13bc0 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
13be0 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.
13c00 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
13c20 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.....
13c40 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
13c60 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'
13c80 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
13ca0 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
13cc0 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
13ce0 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
13d00 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
13d20 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
13d40 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
13d60 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
13d80 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
13da0 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.
13dc0 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
13de0 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.
13e00 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
13e20 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
13e40 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
13e60 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
13e80 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
13ea0 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-
13ec0 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
13ee0 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
13f00 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
13f20 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
13f40 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.
13f60 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
13f80 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
13fa0 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.
13fc0 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.
13fe0 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
14000 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...................
14020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14200 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.....
14220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14260 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
14280 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...
142a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
142c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
142e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14300 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...................
14320 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...................
14340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14400 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
14420 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
14440 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
14460 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
14480 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
144a0 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
144c0 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
144e0 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
14500 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
14520 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
14540 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
14560 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
14580 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"))........
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 ................................