summaryrefslogtreecommitdiff
path: root/.localrepo/djvu-1.1.2.tar
blob: 4d2b7df184e6ad034c3a9c93d7a161ac28245d0e (plain)
ofshex dumpascii
0000 64 6a 76 75 2d 31 2e 31 2e 32 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 djvu-1.1.2/.....................
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 31 32 32 00 20 35 00 00 00 0000000.00000000000.011122..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 64 6a 76 75 2d 31 2e 31 2e 32 2f 64 6a 76 75 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 djvu-1.1.2/djvu.el..............
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 36 30 30 33 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 32 35 00 20 30 00 00 00 0600337.00000000000.012425..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 64 6a 76 75 2e 65 6c 20 2d 2d 2d 20 45 64 69 74 20 61 6e 64 20 76 69 65 77 20 44 6a ;;;.djvu.el.---.Edit.and.view.Dj
0420 76 75 20 66 69 6c 65 73 20 76 69 61 20 64 6a 76 75 73 65 64 20 2d 2a 2d 20 6c 65 78 69 63 61 6c vu.files.via.djvused.-*-.lexical
0440 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 -binding:.t.-*-..;;.Copyright.(C
0460 29 20 32 30 31 31 2d 32 30 32 32 20 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 ).2011-2022..Free.Software.Found
0480 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 52 6f 6c 61 6e 64 20 57 ation,.Inc...;;.Author:.Roland.W
04a0 69 6e 6b 6c 65 72 20 3c 77 69 6e 6b 6c 65 72 40 67 6e 75 2e 6f 72 67 3e 0a 3b 3b 20 4b 65 79 77 inkler.<winkler@gnu.org>.;;.Keyw
04c0 6f 72 64 73 3a 20 66 69 6c 65 73 2c 20 77 70 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 31 2e 31 2e ords:.files,.wp.;;.Version:.1.1.
04e0 32 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 2..;;.This.program.is.free.softw
0500 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 are;.you.can.redistribute.it.and
0520 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 /or.modify.;;.it.under.the.terms
0540 20 6f 66 20 74 68 65 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 .of.the.GNU.General.Public.Licen
0560 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 se.as.published.by.;;.the.Free.S
0580 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 oftware.Foundation,.either.versi
05a0 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 on.3.of.the.License,.or.;;.(at.y
05c0 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a our.option).any.later.version...
05e0 3b 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 ;;.This.program.is.distributed.i
0600 6e 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 n.the.hope.that.it.will.be.usefu
0620 6c 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 l,.;;.but.WITHOUT.ANY.WARRANTY;.
0640 77 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 without.even.the.implied.warrant
0660 79 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 y.of.;;.MERCHANTABILITY.or.FITNE
0680 53 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 SS.FOR.A.PARTICULAR.PURPOSE...Se
06a0 65 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 e.the.;;.GNU.General.Public.Lice
06c0 6e 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 nse.for.more.details...;;.You.sh
06e0 6f 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 ould.have.received.a.copy.of.the
0700 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 73 65 0a 3b 3b 20 61 .GNU.General.Public.License.;;.a
0720 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c long.with.this.program...If.not,
0740 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 .see.<http://www.gnu.org/license
0760 73 2f 3e 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 s/>...;;;.Commentary:..;;.This.p
0780 61 63 6b 61 67 65 20 69 73 20 61 20 66 72 6f 6e 74 20 65 6e 64 20 66 6f 72 20 74 68 65 20 63 6f ackage.is.a.front.end.for.the.co
07a0 6d 6d 61 6e 64 2d 6c 69 6e 65 20 70 72 6f 67 72 61 6d 20 64 6a 76 75 73 65 64 0a 3b 3b 20 66 72 mmand-line.program.djvused.;;.fr
07c0 6f 6d 20 44 6a 56 75 4c 69 62 72 65 2c 20 73 65 65 20 68 74 74 70 3a 2f 2f 64 6a 76 75 2e 73 6f om.DjVuLibre,.see.http://djvu.so
07e0 75 72 63 65 66 6f 72 67 65 2e 6e 65 74 2f 2e 20 20 49 74 20 61 73 73 75 6d 65 73 20 79 6f 75 0a urceforge.net/...It.assumes.you.
0800 3b 3b 20 68 61 76 65 20 74 68 65 20 70 72 6f 67 72 61 6d 73 20 64 6a 76 75 73 65 64 2c 20 64 6a ;;.have.the.programs.djvused,.dj
0820 76 69 65 77 2c 20 64 64 6a 76 75 2c 20 61 6e 64 20 64 6a 76 6d 20 69 6e 73 74 61 6c 6c 65 64 2e view,.ddjvu,.and.djvm.installed.
0840 0a 3b 3b 20 54 68 65 20 6d 61 69 6e 20 70 75 72 70 6f 73 65 20 6f 66 20 64 6a 76 75 2e 65 6c 20 .;;.The.main.purpose.of.djvu.el.
0860 69 73 20 74 6f 20 65 64 69 74 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 73 20 76 69 61 20 64 6a is.to.edit.Djvu.documents.via.dj
0880 76 75 73 65 64 2e 0a 3b 3b 20 49 66 20 79 6f 75 20 6f 6e 6c 79 20 73 65 65 6b 20 61 6e 20 45 6d vused..;;.If.you.only.seek.an.Em
08a0 61 63 73 20 76 69 65 77 65 72 20 66 6f 72 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 73 2c 20 79 acs.viewer.for.Djvu.documents,.y
08c0 6f 75 20 6d 61 79 20 62 65 0a 3b 3b 20 62 65 74 74 65 72 20 6f 66 66 20 77 69 74 68 20 44 6f 63 ou.may.be.;;.better.off.with.Doc
08e0 56 69 65 77 20 73 68 69 70 70 65 64 20 77 69 74 68 20 47 4e 55 20 45 6d 61 63 73 2e 20 20 53 74 View.shipped.with.GNU.Emacs...St
0900 61 72 74 69 6e 67 20 66 72 6f 6d 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 20 32 36 2c 20 44 6f 63 arting.from.;;.GNU.Emacs.26,.Doc
0920 56 69 65 77 20 73 75 70 70 6f 72 74 73 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 3b 3b View.supports.Djvu.documents..;;
0940 0a 3b 3b 20 41 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 .;;.A.Djvu.document.contains.an.
0960 69 6d 61 67 65 20 6c 61 79 65 72 20 28 74 79 70 69 63 61 6c 6c 79 20 73 63 61 6e 6e 65 64 20 70 image.layer.(typically.scanned.p
0980 61 67 65 20 69 6d 61 67 65 73 29 0a 3b 3b 20 61 73 20 77 65 6c 6c 20 61 73 20 6d 75 6c 74 69 70 age.images).;;.as.well.as.multip
09a0 6c 65 20 74 65 78 74 75 61 6c 20 6c 61 79 65 72 73 20 5b 74 65 78 74 20 28 66 6f 72 20 73 63 61 le.textual.layers.[text.(for.sca
09c0 6e 6e 65 64 20 64 6f 63 75 6d 65 6e 74 73 20 66 72 6f 6d 20 4f 43 52 29 2c 0a 3b 3b 20 61 6e 6e nned.documents.from.OCR),.;;.ann
09e0 6f 74 61 74 69 6f 6e 73 2c 20 73 68 61 72 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 61 6e otations,.shared.annotations,.an
0a00 64 20 62 6f 6f 6b 6d 61 72 6b 73 5d 2e 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 0a d.bookmarks]...The.command-line.
0a20 3b 3b 20 70 72 6f 67 72 61 6d 20 64 6a 76 75 73 65 64 20 61 6c 6c 6f 77 73 20 6f 6e 65 20 74 6f ;;.program.djvused.allows.one.to
0a40 20 65 64 69 74 20 74 68 65 73 65 20 74 65 78 74 75 61 6c 20 6c 61 79 65 72 73 20 76 69 61 20 73 .edit.these.textual.layers.via.s
0a60 75 69 74 61 62 6c 65 0a 3b 3b 20 73 63 72 69 70 74 73 2e 20 20 57 69 74 68 20 44 6a 76 75 20 6d uitable.;;.scripts...With.Djvu.m
0a80 6f 64 65 20 79 6f 75 20 63 61 6e 20 65 64 69 74 20 61 6e 64 20 61 70 70 6c 79 20 74 68 65 73 65 ode.you.can.edit.and.apply.these
0aa0 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 73 0a 3b 3b 20 61 73 20 69 66 20 79 6f 75 20 77 65 .djvused.scripts.;;.as.if.you.we
0ac0 72 65 20 64 69 72 65 63 74 6c 79 20 65 64 69 74 69 6e 67 20 74 68 65 20 74 65 78 74 75 61 6c 20 re.directly.editing.the.textual.
0ae0 6c 61 79 65 72 73 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 0a 3b 3b 20 28 74 68 layers.of.a.Djvu.document.;;.(th
0b00 6f 75 67 68 20 45 6d 61 63 73 20 6e 65 76 65 72 20 76 69 73 69 74 73 20 74 68 65 20 44 6a 76 75 ough.Emacs.never.visits.the.Djvu
0b20 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 74 68 65 20 75 73 75 61 6c 20 45 6d 61 63 73 20 73 65 6e .document.in.the.usual.Emacs.sen
0b40 73 65 0a 3b 3b 20 6f 66 20 63 6f 70 79 69 6e 67 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 se.;;.of.copying.the.content.of.
0b60 61 20 66 69 6c 65 20 69 6e 74 6f 20 61 20 62 75 66 66 65 72 20 74 6f 20 6d 61 6e 69 70 75 6c 61 a.file.into.a.buffer.to.manipula
0b80 74 65 20 69 74 29 2e 0a 3b 3b 20 57 69 74 68 20 44 6a 76 75 20 6d 6f 64 65 20 79 6f 75 20 63 61 te.it)..;;.With.Djvu.mode.you.ca
0ba0 6e 20 61 6c 73 6f 20 76 69 65 77 20 74 68 65 20 70 61 67 65 20 69 6d 61 67 65 73 20 6f 66 20 61 n.also.view.the.page.images.of.a
0bc0 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2c 0a 3b 3b 20 79 65 74 20 44 6a 76 75 20 6d 6f 64 65 .Djvu.document,.;;.yet.Djvu.mode
0be0 20 64 6f 65 73 20 6e 6f 74 20 61 74 74 65 6d 70 74 20 74 6f 20 72 65 69 6e 76 65 6e 74 20 74 68 .does.not.attempt.to.reinvent.th
0c00 65 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 6f 66 20 74 68 65 0a 3b 3b 20 6e 61 74 69 76 65 e.functionality.of.the.;;.native
0c20 20 76 69 65 77 65 72 20 64 6a 76 69 65 77 20 66 6f 72 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 .viewer.djview.for.Djvu.document
0c40 73 2e 20 20 28 49 20 66 69 6e 64 20 64 6a 76 69 65 77 20 76 65 72 79 20 65 66 66 69 63 69 65 6e s...(I.find.djview.very.efficien
0c60 74 0a 3b 3b 20 2f 20 66 61 73 74 20 66 6f 72 20 69 74 73 20 70 75 72 70 6f 73 65 73 20 74 68 61 t.;;./.fast.for.its.purposes.tha
0c80 74 20 61 6c 73 6f 20 69 6e 63 6c 75 64 65 20 66 65 61 74 75 72 65 73 20 6c 69 6b 65 20 73 65 61 t.also.include.features.like.sea
0ca0 72 63 68 69 6e 67 20 74 68 65 0a 3b 3b 20 74 65 78 74 20 6c 61 79 65 72 2e 29 20 20 53 6f 20 44 rching.the.;;.text.layer.)..So.D
0cc0 6a 76 75 20 6d 6f 64 65 20 73 75 70 70 6f 72 74 73 20 74 68 61 74 20 79 6f 75 20 75 73 65 20 64 jvu.mode.supports.that.you.use.d
0ce0 6a 76 69 65 77 20 74 6f 20 76 69 65 77 20 74 68 65 0a 3b 3b 20 44 6a 76 75 20 64 6f 63 75 6d 65 jview.to.view.the.;;.Djvu.docume
0d00 6e 74 20 77 68 69 6c 65 20 65 64 69 74 69 6e 67 20 69 74 73 20 74 65 78 74 75 61 6c 20 6c 61 79 nt.while.editing.its.textual.lay
0d20 65 72 73 2e 20 20 44 6a 76 69 65 77 20 61 6e 64 20 44 6a 76 75 20 6d 6f 64 65 0a 3b 3b 20 63 6f ers...Djview.and.Djvu.mode.;;.co
0d40 6d 70 6c 65 6d 65 6e 74 20 65 61 63 68 20 6f 74 68 65 72 2e 0a 3b 3b 0a 3b 3b 20 41 20 6e 6f 72 mplement.each.other..;;.;;.A.nor
0d60 6d 61 6c 20 77 6f 72 6b 20 66 6c 6f 77 20 69 73 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 3b 3b 0a mal.work.flow.is.as.follows:.;;.
0d80 3b 3b 20 44 6a 76 75 20 66 69 6c 65 73 20 61 72 65 20 61 73 73 75 6d 65 64 20 74 6f 20 68 61 76 ;;.Djvu.files.are.assumed.to.hav
0da0 65 20 74 68 65 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 22 2e 64 6a 76 75 22 2e 0a 3b 3b e.the.file.extension.".djvu"..;;
0dc0 20 57 68 65 6e 20 79 6f 75 20 76 69 73 69 74 20 74 68 65 20 66 69 6c 65 20 66 6f 6f 2e 64 6a 76 .When.you.visit.the.file.foo.djv
0de0 75 2c 20 69 74 20 70 75 74 73 20 79 6f 75 20 69 6e 74 6f 20 74 68 65 20 28 72 65 61 64 2d 6f 6e u,.it.puts.you.into.the.(read-on
0e00 6c 79 29 0a 3b 3b 20 62 75 66 66 65 72 20 66 6f 6f 2e 64 6a 76 75 2e 20 20 4e 6f 72 6d 61 6c 6c ly).;;.buffer.foo.djvu...Normall
0e20 79 2c 20 74 68 69 73 20 62 75 66 66 65 72 20 28 70 6c 75 73 20 70 6f 73 73 69 62 6c 79 20 74 68 y,.this.buffer.(plus.possibly.th
0e40 65 20 6f 75 74 6c 69 6e 65 20 62 75 66 66 65 72 29 0a 3b 3b 20 69 73 20 61 6c 6c 20 79 6f 75 20 e.outline.buffer).;;.is.all.you.
0e60 6e 65 65 64 2e 0a 3b 3b 0a 3b 3b 20 54 68 65 20 6d 65 6e 75 20 62 61 72 20 6f 66 20 74 68 69 73 need..;;.;;.The.menu.bar.of.this
0e80 20 62 75 66 66 65 72 20 6c 69 73 74 73 20 6d 6f 73 74 20 6f 66 20 74 68 65 20 63 6f 6d 6d 61 6e .buffer.lists.most.of.the.comman
0ea0 64 73 20 77 69 74 68 20 74 68 65 69 72 0a 3b 3b 20 72 65 73 70 65 63 74 69 76 65 20 6b 65 79 20 ds.with.their.;;.respective.key.
0ec0 62 69 6e 64 69 6e 67 73 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 20 63 61 6e 3a bindings...For.example,.you.can:
0ee0 0a 3b 3b 0a 3b 3b 20 2d 20 55 73 65 20 60 67 27 20 74 6f 20 67 6f 20 74 6f 20 74 68 65 20 70 61 .;;.;;.-.Use.`g'.to.go.to.the.pa
0f00 67 65 20 79 6f 75 20 77 61 6e 74 2e 20 20 28 59 65 73 2c 20 44 6a 76 75 20 6d 6f 64 65 20 6f 70 ge.you.want...(Yes,.Djvu.mode.op
0f20 65 72 61 74 65 73 20 6f 6e 20 6f 6e 65 0a 3b 3b 20 20 20 70 61 67 65 20 61 74 20 61 20 74 69 6d erates.on.one.;;...page.at.a.tim
0f40 65 2e 20 20 41 6e 79 74 68 69 6e 67 20 65 6c 73 65 20 77 6f 75 6c 64 20 62 65 20 74 6f 6f 20 73 e...Anything.else.would.be.too.s
0f60 6c 6f 77 20 66 6f 72 20 6c 61 72 67 65 20 64 6f 63 75 6d 65 6e 74 73 2e 29 0a 3b 3b 0a 3b 3b 20 low.for.large.documents.).;;.;;.
0f80 2d 20 55 73 65 20 60 76 27 20 74 6f 20 28 72 65 29 73 74 61 72 74 20 64 6a 76 69 65 77 20 75 73 -.Use.`v'.to.(re)start.djview.us
0fa0 69 6e 67 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 66 69 6c 65 20 66 6f 6f ing.the.position.in.the.file.foo
0fc0 2e 64 6a 76 75 0a 3b 3b 20 20 20 6d 61 74 63 68 69 6e 67 20 77 68 65 72 65 20 70 6f 69 6e 74 20 .djvu.;;...matching.where.point.
0fe0 69 73 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 66 6f 6f 2e 64 6a 76 75 2e 20 20 28 49 20 66 is.in.the.buffer.foo.djvu...(I.f
1000 69 6e 64 20 64 6a 76 69 65 77 0a 3b 3b 20 20 20 66 61 73 74 20 65 6e 6f 75 67 68 20 66 6f 72 20 ind.djview.;;...fast.enough.for.
1020 74 68 69 73 2c 20 65 76 65 6e 20 66 6f 72 20 6c 61 72 67 65 72 20 64 6f 63 75 6d 65 6e 74 73 2e this,.even.for.larger.documents.
1040 29 0a 3b 3b 0a 3b 3b 20 20 20 59 65 74 20 6e 6f 74 65 20 61 6c 73 6f 20 74 68 61 74 2c 20 73 74 ).;;.;;...Yet.note.also.that,.st
1060 61 72 74 69 6e 67 20 66 72 6f 6d 20 69 74 73 20 76 65 72 73 69 6f 6e 20 34 2e 39 2c 20 64 6a 76 arting.from.its.version.4.9,.djv
1080 69 65 77 20 72 65 6c 6f 61 64 73 0a 3b 3b 20 20 20 64 6a 76 75 20 64 6f 63 75 6d 65 6e 74 73 20 iew.reloads.;;...djvu.documents.
10a0 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 77 68 65 6e 20 74 68 65 20 64 6a 76 75 20 66 69 6c 65 automatically.when.the.djvu.file
10c0 20 63 68 61 6e 67 65 64 20 6f 6e 20 64 69 73 6b 2e 0a 3b 3b 20 20 20 53 6f 20 79 6f 75 20 6e 65 .changed.on.disk..;;...So.you.ne
10e0 65 64 20 6e 6f 74 20 72 65 73 74 61 72 74 20 69 74 20 61 6e 79 6d 6f 72 65 20 77 68 69 6c 65 20 ed.not.restart.it.anymore.while.
1100 65 64 69 74 69 6e 67 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 0a 3b 3b 20 20 20 77 69 74 editing.a.Djvu.document.;;...wit
1120 68 20 44 6a 76 75 20 6d 6f 64 65 2e 20 20 28 54 68 61 6e 6b 20 79 6f 75 2c 20 4c 65 6f 6e 20 42 h.Djvu.mode...(Thank.you,.Leon.B
1140 6f 74 74 6f 75 21 29 0a 3b 3b 0a 3b 3b 20 20 20 44 6a 76 75 20 6d 6f 64 65 20 6c 69 6b 65 77 69 ottou!).;;.;;...Djvu.mode.likewi
1160 73 65 20 64 65 74 65 63 74 73 20 77 68 65 6e 20 74 68 65 20 66 69 6c 65 20 63 68 61 6e 67 65 64 se.detects.when.the.file.changed
1180 20 6f 6e 20 64 69 73 6b 0a 3b 3b 20 20 20 28 73 61 79 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 .on.disk.;;...(say,.because.the.
11a0 66 69 6c 65 20 77 61 73 20 6d 6f 64 69 66 69 65 64 20 62 79 20 73 6f 6d 65 20 6f 74 68 65 72 20 file.was.modified.by.some.other.
11c0 61 70 70 6c 69 63 61 74 69 6f 6e 29 2c 0a 3b 3b 20 20 20 73 6f 20 74 68 61 74 20 79 6f 75 20 63 application),.;;...so.that.you.c
11e0 61 6e 20 72 65 76 65 72 74 20 74 68 65 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 20 74 an.revert.the.buffers.visiting.t
1200 68 69 73 20 66 69 6c 65 2e 0a 3b 3b 0a 3b 3b 20 2d 20 54 6f 20 68 69 67 68 6c 69 67 68 74 20 61 his.file..;;.;;.-.To.highlight.a
1220 20 72 65 67 69 6f 6e 20 69 6e 20 66 6f 6f 2e 64 6a 76 75 20 6d 61 72 6b 20 74 68 65 20 63 6f 72 .region.in.foo.djvu.mark.the.cor
1240 72 65 73 70 6f 6e 64 69 6e 67 20 72 65 67 69 6f 6e 0a 3b 3b 20 20 20 69 6e 20 74 68 65 20 62 75 responding.region.;;...in.the.bu
1260 66 66 65 72 20 66 6f 6f 2e 64 6a 76 75 20 28 61 73 20 75 73 75 61 6c 2c 20 60 74 72 61 6e 73 69 ffer.foo.djvu.(as.usual,.`transi
1280 65 6e 74 2d 6d 61 72 6b 2d 6d 6f 64 65 27 20 63 6f 6d 65 73 20 68 61 6e 64 79 0a 3b 3b 20 20 20 ent-mark-mode'.comes.handy.;;...
12a0 66 6f 72 20 74 68 69 73 29 2e 20 20 54 68 65 6e 20 74 79 70 65 20 60 68 27 20 61 6e 64 20 61 64 for.this)...Then.type.`h'.and.ad
12c0 64 20 61 20 63 6f 6d 6d 65 6e 74 20 69 6e 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 66 d.a.comment.in.the.minibuffer.if
12e0 20 79 6f 75 0a 3b 3b 20 20 20 6c 69 6b 65 2e 20 20 54 79 70 65 20 43 2d 78 20 43 2d 73 20 74 6f .you.;;...like...Type.C-x.C-s.to
1300 20 73 61 76 65 20 74 68 69 73 20 65 64 69 74 69 6e 67 2e 20 20 56 69 65 77 20 79 6f 75 72 20 63 .save.this.editing...View.your.c
1320 68 61 6e 67 65 73 20 77 69 74 68 0a 3b 3b 20 20 20 64 6a 76 69 65 77 2e 0a 3b 3b 0a 3b 3b 20 2d hanges.with.;;...djview..;;.;;.-
1340 20 54 79 70 65 20 60 69 27 20 74 6f 20 65 6e 61 62 6c 65 20 60 64 6a 76 75 2d 69 6d 61 67 65 2d .Type.`i'.to.enable.`djvu-image-
1360 6d 6f 64 65 27 2c 20 61 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 64 69 73 70 6c 61 79 69 6e 67 20 74 mode',.a.minor.mode.displaying.t
1380 68 65 0a 3b 3b 20 20 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 61 73 20 61 6e 20 69 6d 61 67 65 he.;;...current.page.as.an.image
13a0 2e 20 20 54 68 65 6e 0a 3b 3b 20 20 20 20 20 64 72 61 67 2d 6d 6f 75 73 65 2d 31 20 64 65 66 69 ...Then.;;.....drag-mouse-1.defi
13c0 6e 65 73 20 61 20 72 65 63 74 20 61 72 65 61 0a 3b 3b 20 20 20 20 20 53 2d 64 72 61 67 2d 6d 6f nes.a.rect.area.;;.....S-drag-mo
13e0 75 73 65 2d 31 20 64 65 66 69 6e 65 73 20 61 6e 20 61 72 65 61 20 77 68 65 72 65 20 74 6f 20 70 use-1.defines.an.area.where.to.p
1400 75 74 20 61 20 74 65 78 74 20 61 72 65 61 2c 0a 3b 3b 20 20 20 20 20 43 2d 64 72 61 67 2d 6d 6f ut.a.text.area,.;;.....C-drag-mo
1420 75 73 65 2d 31 20 64 65 66 69 6e 65 73 20 61 6e 20 61 72 65 61 20 77 68 65 72 65 20 74 6f 20 70 use-1.defines.an.area.where.to.p
1440 75 74 20 61 20 74 65 78 74 20 61 72 65 61 20 77 2f 70 75 73 68 70 69 6e 2e 0a 3b 3b 0a 3b 3b 20 ut.a.text.area.w/pushpin..;;.;;.
1460 2d 20 55 73 65 20 60 6f 27 20 74 6f 20 73 77 69 74 63 68 20 74 6f 20 74 68 65 20 62 75 66 66 65 -.Use.`o'.to.switch.to.the.buffe
1480 72 20 66 6f 6f 2e 64 6a 76 75 2d 6f 20 64 69 73 70 6c 61 79 69 6e 67 20 74 68 65 20 6f 75 74 6c r.foo.djvu-o.displaying.the.outl
14a0 69 6e 65 0a 3b 3b 20 20 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 28 70 72 6f 76 69 64 ine.;;...of.the.document.(provid
14c0 65 64 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 20 63 6f 6e 74 61 69 6e 73 20 62 6f 6f 6b 6d 61 72 ed.the.document.contains.bookmar
14e0 6b 73 20 74 68 61 74 20 79 6f 75 0a 3b 3b 20 20 20 63 61 6e 20 61 64 64 20 77 69 74 68 20 44 6a ks.that.you.;;...can.add.with.Dj
1500 76 75 20 6d 6f 64 65 29 2e 20 20 59 6f 75 20 63 61 6e 20 6d 6f 76 65 20 74 68 72 6f 75 67 68 20 vu.mode)...You.can.move.through.
1520 61 20 6d 75 6c 74 69 2d 70 61 67 65 20 64 6f 63 75 6d 65 6e 74 0a 3b 3b 20 20 20 62 79 20 73 65 a.multi-page.document.;;...by.se
1540 6c 65 63 74 69 6e 67 20 61 20 62 6f 6f 6b 6d 61 72 6b 20 69 6e 20 74 68 65 20 6f 75 74 6c 69 6e lecting.a.bookmark.in.the.outlin
1560 65 20 62 75 66 66 65 72 2e 0a 3b 3b 0a 3b 3b 20 2d 20 54 68 65 20 65 64 69 74 69 6e 67 20 6f 66 e.buffer..;;.;;.-.The.editing.of
1580 20 74 68 65 20 74 65 78 74 2c 20 61 6e 6e 6f 74 61 74 69 6f 6e 2c 20 73 68 61 72 65 64 20 61 6e .the.text,.annotation,.shared.an
15a0 6e 6f 74 61 74 69 6f 6e 20 61 6e 64 20 6f 75 74 6c 69 6e 65 0a 3b 3b 20 20 20 28 62 6f 6f 6b 6d notation.and.outline.;;...(bookm
15c0 61 72 6b 73 29 20 6c 61 79 65 72 73 20 72 65 61 6c 6c 79 20 68 61 70 70 65 6e 73 20 69 6e 20 74 arks).layers.really.happens.in.t
15e0 68 65 20 62 75 66 66 65 72 73 20 66 6f 6f 2e 64 6a 76 75 2d 74 2c 0a 3b 3b 20 20 20 66 6f 6f 2e he.buffers.foo.djvu-t,.;;...foo.
1600 64 6a 76 75 2d 61 2c 20 66 6f 6f 2d 64 6a 76 75 2d 73 2c 20 61 6e 64 20 66 6f 6f 2e 64 6a 76 75 djvu-a,.foo-djvu-s,.and.foo.djvu
1620 2d 62 2e 20 20 54 68 65 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 20 73 79 6e 74 61 78 0a 3b -b...The.djvused.script.syntax.;
1640 3b 20 20 20 75 73 65 64 20 69 6e 20 74 68 65 73 65 20 62 75 66 66 65 72 73 20 69 73 20 73 6f 20 ;...used.in.these.buffers.is.so.
1660 63 6c 6f 73 65 20 74 6f 20 4c 69 73 70 20 74 68 61 74 20 69 74 20 77 61 73 20 6e 61 74 75 72 61 close.to.Lisp.that.it.was.natura
1680 6c 20 74 6f 20 67 69 76 65 0a 3b 3b 20 20 20 74 68 65 73 65 20 62 75 66 66 65 72 73 20 61 20 60 l.to.give.;;...these.buffers.a.`
16a0 64 6a 76 75 2d 73 63 72 69 70 74 2d 6d 6f 64 65 27 20 74 68 61 74 20 69 73 20 64 65 72 69 76 65 djvu-script-mode'.that.is.derive
16c0 64 20 66 72 6f 6d 20 60 6c 69 73 70 2d 6d 6f 64 65 27 2e 0a 3b 3b 0a 3b 3b 20 20 20 59 6f 75 20 d.from.`lisp-mode'..;;.;;...You.
16e0 63 61 6e 20 63 68 65 63 6b 20 77 68 61 74 20 69 73 20 68 61 70 70 65 6e 69 6e 67 20 62 79 20 73 can.check.what.is.happening.by.s
1700 77 69 74 63 68 69 6e 67 20 74 6f 20 74 68 65 73 65 20 62 75 66 66 65 72 73 2e 0a 3b 3b 20 20 20 witching.to.these.buffers..;;...
1720 54 68 65 20 72 65 73 70 65 63 74 69 76 65 20 73 77 69 74 63 68 69 6e 67 20 63 6f 6d 6d 61 6e 64 The.respective.switching.command
1740 73 20 70 75 74 20 70 6f 69 6e 74 20 69 6e 20 74 68 65 73 65 20 62 75 66 66 65 72 73 0a 3b 3b 20 s.put.point.in.these.buffers.;;.
1760 20 20 73 75 63 68 20 74 68 61 74 20 69 74 20 6d 61 74 63 68 65 73 20 77 68 65 72 65 20 79 6f 75 ..such.that.it.matches.where.you
1780 20 77 65 72 65 20 69 6e 20 74 68 65 20 6d 61 69 6e 20 62 75 66 66 65 72 20 66 6f 6f 2e 64 6a 76 .were.in.the.main.buffer.foo.djv
17a0 75 2e 0a 3b 3b 0a 3b 3b 20 20 20 49 6e 20 74 68 65 73 65 20 62 75 66 66 65 72 73 2c 20 74 68 65 u..;;.;;...In.these.buffers,.the
17c0 20 6d 65 6e 75 20 62 61 72 20 6c 69 73 74 73 20 61 20 66 65 77 20 6c 6f 77 2d 6c 65 76 65 6c 20 .menu.bar.lists.a.few.low-level.
17e0 63 6f 6d 6d 61 6e 64 73 0a 3b 3b 20 20 20 61 76 61 69 6c 61 62 6c 65 20 66 6f 72 20 65 64 69 74 commands.;;...available.for.edit
1800 69 6e 67 20 74 68 65 73 65 20 62 75 66 66 65 72 73 20 64 69 72 65 63 74 6c 79 2e 20 20 49 66 20 ing.these.buffers.directly...If.
1820 79 6f 75 20 6b 6e 6f 77 20 74 68 65 0a 3b 3b 20 20 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 you.know.the.;;...djvused.script
1840 20 73 79 6e 74 61 78 2c 20 73 6f 6d 65 74 69 6d 65 73 20 69 74 20 63 61 6e 20 61 6c 73 6f 20 62 .syntax,.sometimes.it.can.also.b
1860 65 20 68 65 6c 70 66 75 6c 20 74 6f 20 64 6f 0a 3b 3b 20 20 20 73 75 63 68 20 65 64 69 74 69 6e e.helpful.to.do.;;...such.editin
1880 67 20 22 62 79 20 68 61 6e 64 22 2e 0a 3b 3b 0a 3b 3b 20 42 75 74 20 77 61 69 74 3a 20 74 68 65 g."by.hand"..;;.;;.But.wait:.the
18a0 20 73 79 6e 74 61 78 20 69 6e 20 74 68 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 65 .syntax.in.the.annotations.buffe
18c0 72 20 66 6f 6f 2e 64 6a 76 75 2d 61 20 69 73 20 61 0a 3b 3b 20 73 6c 69 67 68 74 6c 79 20 6d 6f r.foo.djvu-a.is.a.;;.slightly.mo
18e0 64 69 66 69 65 64 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 20 73 79 6e 74 61 78 2e 0a 3b 3b dified.djvused.script.syntax..;;
1900 0a 3b 3b 20 2d 20 64 6a 76 75 73 65 64 20 63 61 6e 20 6f 6e 6c 79 20 68 69 67 68 6c 69 67 68 74 .;;.-.djvused.can.only.highlight
1920 20 72 65 63 74 61 6e 67 6c 65 73 2e 20 20 53 6f 20 74 68 65 20 68 69 67 68 6c 69 67 68 74 69 6e .rectangles...So.the.highlightin
1940 67 20 6f 66 0a 3b 3b 20 20 20 6c 61 72 67 65 72 20 61 72 65 61 73 20 6f 66 20 74 65 78 74 20 6d g.of.;;...larger.areas.of.text.m
1960 75 73 74 20 75 73 65 20 6d 75 6c 74 69 70 6c 65 20 72 65 63 74 61 6e 67 6c 65 73 20 28 69 2e 65 ust.use.multiple.rectangles.(i.e
1980 2e 2c 0a 3b 3b 20 20 20 6d 75 6c 74 69 70 6c 65 20 64 6a 76 75 73 65 64 20 22 6d 61 70 61 72 65 .,.;;...multiple.djvused."mapare
19a0 61 73 22 29 2e 20 20 54 6f 20 6d 61 6b 65 20 65 64 69 74 69 6e 67 20 65 61 73 69 65 72 2c 20 74 as")...To.make.editing.easier,.t
19c0 68 65 73 65 0a 3b 3b 20 20 20 61 72 65 20 63 6f 6d 62 69 6e 65 64 20 69 6e 20 74 68 65 20 62 75 hese.;;...are.combined.in.the.bu
19e0 66 66 65 72 20 66 6f 6f 2e 64 6a 76 75 2d 61 2e 20 20 28 42 65 66 6f 72 65 20 73 61 76 69 6e 67 ffer.foo.djvu-a...(Before.saving
1a00 20 74 68 65 73 65 0a 3b 3b 20 20 20 74 68 69 6e 67 73 2c 20 74 68 65 79 20 61 72 65 20 63 6f 6e .these.;;...things,.they.are.con
1a20 76 65 72 74 65 64 20 75 73 69 6e 67 20 74 68 65 20 70 72 6f 70 65 72 20 64 6a 76 75 73 65 64 20 verted.using.the.proper.djvused.
1a40 73 79 6e 74 61 78 2e 29 0a 3b 3b 0a 3b 3b 20 20 20 57 68 65 6e 20 79 6f 75 20 76 69 73 69 74 20 syntax.).;;.;;...When.you.visit.
1a60 61 20 64 6a 76 75 20 66 69 6c 65 2c 20 44 6a 76 75 20 6d 6f 64 65 20 72 65 63 6f 67 6e 69 7a 65 a.djvu.file,.Djvu.mode.recognize
1a80 73 20 6d 61 70 61 72 65 61 73 0a 3b 3b 20 20 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 67 65 74 68 s.mapareas.;;...belonging.togeth
1aa0 65 72 20 62 79 20 63 68 65 63 6b 69 6e 67 20 74 68 61 74 20 22 65 76 65 72 79 74 68 69 6e 67 20 er.by.checking.that."everything.
1ac0 65 6c 73 65 20 69 6e 20 74 68 65 73 65 0a 3b 3b 20 20 20 6d 61 70 61 72 65 61 73 20 65 78 63 65 else.in.these.;;...mapareas.exce
1ae0 70 74 20 66 6f 72 20 74 68 65 20 72 65 63 74 73 22 20 69 73 20 74 68 65 20 73 61 6d 65 2e 20 20 pt.for.the.rects".is.the.same...
1b00 53 6f 20 69 66 20 79 6f 75 20 65 6e 74 65 72 65 64 0a 3b 3b 20 20 20 61 20 28 75 6e 69 71 75 65 So.if.you.entered.;;...a.(unique
1b20 29 20 63 6f 6d 6d 65 6e 74 2c 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 44 6a 76 75 20 6d 6f 64 65 ).comment,.this.allows.Djvu.mode
1b40 20 74 6f 20 63 6f 6d 62 69 6e 65 20 61 6c 6c 20 74 68 65 0a 3b 3b 20 20 20 6d 61 70 61 72 65 61 .to.combine.all.the.;;...maparea
1b60 73 20 77 68 65 6e 20 79 6f 75 20 76 69 73 69 74 20 73 75 63 68 20 61 20 66 69 6c 65 20 74 68 65 s.when.you.visit.such.a.file.the
1b80 20 73 65 63 6f 6e 64 20 74 69 6d 65 2e 20 20 57 69 74 68 6f 75 74 20 61 0a 3b 3b 20 20 20 63 6f .second.time...Without.a.;;...co
1ba0 6d 6d 65 6e 74 2c 20 74 68 69 73 20 66 61 69 6c 73 21 0a 3b 3b 0a 3b 3b 20 2d 20 64 6a 76 75 73 mment,.this.fails!.;;.;;.-.djvus
1bc0 65 64 20 75 73 65 73 20 74 77 6f 20 64 69 66 66 65 72 65 6e 74 20 77 61 79 73 20 6f 66 20 73 70 ed.uses.two.different.ways.of.sp
1be0 65 63 69 66 79 69 6e 67 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 0a 3b 3b 20 20 20 72 65 ecifying.coordinates.for.;;...re
1c00 63 74 61 6e 67 6c 65 73 0a 3b 3b 20 20 20 20 20 28 31 29 20 68 69 64 64 65 6e 20 74 65 78 74 20 ctangles.;;.....(1).hidden.text.
1c20 75 73 65 73 20 71 75 61 64 72 75 70 65 6c 73 20 28 78 6d 69 6e 20 79 6d 69 6e 20 78 6d 61 78 20 uses.quadrupels.(xmin.ymin.xmax.
1c40 79 6d 61 78 29 0a 3b 3b 20 20 20 20 20 28 32 29 20 6d 61 70 61 72 65 61 20 61 6e 6e 6f 74 61 74 ymax).;;.....(2).maparea.annotat
1c60 69 6f 6e 73 20 75 73 65 20 28 78 6d 69 6e 20 79 6d 69 6e 20 77 69 64 74 68 20 68 65 69 67 68 74 ions.use.(xmin.ymin.width.height
1c80 29 0a 3b 3b 20 20 20 44 6a 76 75 20 6d 6f 64 65 20 61 6c 77 61 79 73 20 75 73 65 73 20 71 75 61 ).;;...Djvu.mode.always.uses.qua
1ca0 64 72 75 70 65 6c 73 20 28 78 6d 69 6e 20 79 6d 69 6e 20 78 6d 61 78 20 79 6d 61 78 29 0a 3b 3b drupels.(xmin.ymin.xmax.ymax).;;
1cc0 20 20 20 54 68 75 73 20 6d 61 70 61 72 65 61 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 61 72 65 20 ...Thus.maparea.coordinates.are.
1ce0 63 6f 6e 76 65 72 74 65 64 20 66 72 6f 6d 20 61 6e 64 20 74 6f 20 64 6a 76 75 73 65 64 27 73 20 converted.from.and.to.djvused's.
1d00 66 6f 72 6d 61 74 0a 3b 3b 20 20 20 77 68 65 6e 20 72 65 61 64 69 6e 67 20 61 6e 64 20 77 72 69 format.;;...when.reading.and.wri
1d20 74 69 6e 67 20 64 6a 76 75 20 66 69 6c 65 73 2e 0a 3b 3b 0a 3b 3b 20 2d 20 55 73 75 61 6c 6c 79 ting.djvu.files..;;.;;.-.Usually
1d40 20 44 6a 76 75 20 6d 6f 64 65 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 74 65 78 74 20 .Djvu.mode.operates.on.the.text.
1d60 61 6e 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6c 61 79 65 72 73 0a 3b 3b 20 20 20 66 6f 72 20 and.annotations.layers.;;...for.
1d80 6f 6e 65 20 70 61 67 65 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 20 20 49 66 one.page.of.a.Djvu.document...If
1da0 20 79 6f 75 20 72 65 61 6c 6c 79 20 28 49 20 6d 65 61 6e 3a 20 52 45 41 4c 4c 59 29 0a 3b 3b 20 .you.really.(I.mean:.REALLY).;;.
1dc0 20 20 77 61 6e 74 20 74 6f 20 65 64 69 74 20 61 20 72 61 77 20 64 6a 76 75 73 65 64 20 73 63 72 ..want.to.edit.a.raw.djvused.scr
1de0 69 70 74 20 66 6f 72 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 74 65 78 74 20 6f 72 0a 3b 3b 20 ipt.for.the.complete.text.or.;;.
1e00 20 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6c 61 79 65 72 20 6f 66 20 61 20 64 6a 76 75 20 64 6f ..annotations.layer.of.a.djvu.do
1e20 63 75 6d 65 6e 74 2c 20 75 73 65 20 60 64 6a 76 75 2d 74 65 78 74 2d 73 63 72 69 70 74 27 20 6f cument,.use.`djvu-text-script'.o
1e40 72 0a 3b 3b 20 20 20 60 64 6a 76 75 2d 61 6e 6e 6f 74 2d 73 63 72 69 70 74 27 20 74 6f 20 67 65 r.;;...`djvu-annot-script'.to.ge
1e60 6e 65 72 61 74 65 20 74 68 65 73 65 20 72 61 77 20 73 63 72 69 70 74 73 2e 20 20 57 68 65 6e 20 nerate.these.raw.scripts...When.
1e80 79 6f 75 20 68 61 76 65 0a 3b 3b 20 20 20 66 69 6e 69 73 68 65 64 20 65 64 69 74 69 6e 67 2c 20 you.have.;;...finished.editing,.
1ea0 79 6f 75 20 63 61 6e 20 72 65 2d 61 70 70 6c 79 20 74 68 65 20 73 63 72 69 70 74 20 62 79 20 63 you.can.re-apply.the.script.by.c
1ec0 61 6c 6c 69 6e 67 0a 3b 3b 20 20 20 60 64 6a 76 75 2d 70 72 6f 63 65 73 73 2d 73 63 72 69 70 74 alling.;;...`djvu-process-script
1ee0 27 2e 20 20 55 73 65 20 74 68 69 73 20 61 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2e 20 20 '...Use.this.at.your.own.risk...
1f00 54 68 69 73 20 63 6f 64 65 20 64 6f 65 73 0a 3b 3b 20 20 20 6e 6f 74 20 63 68 65 63 6b 20 77 68 This.code.does.;;...not.check.wh
1f20 65 74 68 65 72 20 74 68 65 20 72 61 77 20 73 63 72 69 70 74 20 69 73 20 6d 65 61 6e 69 6e 67 66 ether.the.raw.script.is.meaningf
1f40 75 6c 2e 20 20 59 6f 75 20 63 61 6e 20 6c 6f 6f 73 65 20 74 68 65 0a 3b 3b 20 20 20 74 65 78 74 ul...You.can.loose.the.;;...text
1f60 20 6f 72 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6c 61 79 65 72 20 69 66 20 74 68 65 20 73 63 72 .or.annotations.layer.if.the.scr
1f80 69 70 74 20 69 73 20 6d 65 73 73 65 64 20 75 70 2e 0a 0a 3b 3b 3b 20 4e 65 77 73 3a 0a 0a 3b 3b ipt.is.messed.up...;;;.News:..;;
1fa0 20 76 31 2e 31 2e 32 3a 0a 3b 3b 20 2d 20 53 75 70 70 6f 72 74 20 63 68 61 6e 67 69 6e 67 20 74 .v1.1.2:.;;.-.Support.changing.t
1fc0 68 65 20 6d 6f 64 65 20 6f 66 20 61 20 62 75 66 66 65 72 20 76 69 73 69 74 69 6e 67 20 61 20 44 he.mode.of.a.buffer.visiting.a.D
1fe0 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 3b 3b 0a 3b 3b 20 2d 20 53 75 70 70 6f 72 74 20 60 64 jvu.document..;;.;;.-.Support.`d
2000 6f 63 2d 76 69 65 77 2d 74 6f 67 67 6c 65 2d 64 69 73 70 6c 61 79 27 20 77 69 74 68 20 60 6d 61 oc-view-toggle-display'.with.`ma
2020 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 27 2e 0a 3b 3b 0a 3b 3b 20 2d 20 53 65 6c 65 63 jor-mode-suspend'..;;.;;.-.Selec
2040 74 69 6e 67 20 74 68 65 20 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 22 74 72 61 6e 73 ting.the.background.color."trans
2060 70 61 72 65 6e 74 22 20 72 65 6d 6f 76 65 73 20 74 68 65 0a 3b 3b 20 20 20 62 61 63 6b 67 72 6f parent".removes.the.;;...backgro
2080 75 6e 64 20 63 6f 6c 6f 72 20 61 74 74 72 69 62 75 74 65 2e 0a 3b 3b 0a 3b 3b 20 2d 20 4e 65 77 und.color.attribute..;;.;;.-.New
20a0 20 6f 70 74 69 6f 6e 73 20 60 64 6a 76 75 2d 69 6d 61 67 65 2d 7a 6f 6f 6d 27 20 61 6e 64 20 60 .options.`djvu-image-zoom'.and.`
20c0 64 6a 76 75 2d 61 73 63 65 6e 64 65 72 73 2d 72 65 27 2e 0a 3b 3b 0a 3b 3b 20 2d 20 42 75 67 20 djvu-ascenders-re'..;;.;;.-.Bug.
20e0 66 69 78 65 73 2e 0a 3b 3b 0a 3b 3b 20 76 31 2e 31 2e 31 3a 0a 3b 3b 20 2d 20 53 75 70 70 6f 72 fixes..;;.;;.v1.1.1:.;;.-.Suppor
2100 74 20 74 65 78 74 20 61 6e 64 20 69 6d 61 67 65 20 73 63 72 6f 6c 6c 69 6e 67 20 73 69 6d 69 6c t.text.and.image.scrolling.simil
2120 61 72 20 74 6f 20 60 64 6f 63 2d 76 69 65 77 2d 6d 6f 64 65 27 2e 0a 3b 3b 20 20 20 4e 65 77 20 ar.to.`doc-view-mode'..;;...New.
2140 6f 70 74 69 6f 6e 20 60 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 27 2e 0a 3b 3b 0a 3b 3b 20 option.`djvu-continuous'..;;.;;.
2160 2d 20 4e 65 77 20 6f 70 74 69 6f 6e 20 60 64 6a 76 75 2d 64 65 73 63 65 6e 64 65 72 73 2d 72 65 -.New.option.`djvu-descenders-re
2180 27 2e 0a 3b 3b 0a 3b 3b 20 2d 20 42 75 67 20 66 69 78 65 73 2e 0a 3b 3b 0a 3b 3b 20 76 31 2e 31 '..;;.;;.-.Bug.fixes..;;.;;.v1.1
21a0 3a 0a 3b 3b 20 2d 20 55 73 65 20 60 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 27 20 77 69 74 :.;;.-.Use.`auto-mode-alist'.wit
21c0 68 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 22 2e 64 6a 76 75 22 2e 0a 3b 3b 0a 3b 3b 20 h.file.extension.".djvu"..;;.;;.
21e0 2d 20 53 75 70 70 6f 72 74 20 62 6f 6f 6b 6d 61 72 6b 73 2e 0a 3b 3b 0a 3b 3b 20 2d 20 44 69 73 -.Support.bookmarks..;;.;;.-.Dis
2200 70 6c 61 79 20 74 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 70 61 67 65 73 20 69 6e 20 6d 6f play.total.number.of.pages.in.mo
2220 64 65 20 6c 69 6e 65 2e 0a 3b 3b 0a 3b 3b 20 2d 20 4e 65 77 20 6f 70 74 69 6f 6e 20 60 64 6a 76 de.line..;;.;;.-.New.option.`djv
2240 75 2d 72 65 63 74 2d 61 72 65 61 2d 6e 6f 64 75 70 73 27 2e 0a 3b 3b 0a 3b 3b 20 2d 20 55 73 65 u-rect-area-nodups'..;;.;;.-.Use
2260 72 20 6f 70 74 69 6f 6e 73 20 60 64 6a 76 75 2d 73 61 76 65 2d 61 66 74 65 72 2d 65 64 69 74 27 r.options.`djvu-save-after-edit'
2280 20 61 6e 64 20 60 64 6a 76 75 2d 72 65 67 69 6f 6e 2d 68 69 73 74 6f 72 79 27 20 72 65 6d 6f 76 .and.`djvu-region-history'.remov
22a0 65 64 0a 3b 3b 20 20 20 28 6f 62 73 6f 6c 65 74 65 29 2e 0a 3b 3b 0a 3b 3b 20 2d 20 4d 6f 72 65 ed.;;...(obsolete)..;;.;;.-.More
22c0 20 72 6f 62 75 73 74 20 63 6f 64 65 20 66 6f 72 20 6d 65 72 67 69 6e 67 20 6c 69 6e 65 73 20 69 .robust.code.for.merging.lines.i
22e0 6e 20 74 65 78 74 20 6c 61 79 65 72 2e 0a 3b 3b 0a 3b 3b 20 2d 20 43 6c 65 61 6e 20 75 70 20 68 n.text.layer..;;.;;.-.Clean.up.h
2300 61 6e 64 6c 69 6e 67 20 6f 66 20 65 64 69 74 69 6e 67 20 70 6f 73 69 74 69 6f 6e 73 20 69 6e 20 andling.of.editing.positions.in.
2320 61 20 64 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 3b 3b 0a 3b 3b 20 2d 20 42 75 67 20 66 69 78 a.djvu.document..;;.;;.-.Bug.fix
2340 65 73 2e 0a 3b 3b 0a 3b 3b 20 76 31 2e 30 2e 31 3a 0a 3b 3b 20 2d 20 55 73 65 20 60 63 72 65 61 es..;;.;;.v1.0.1:.;;.-.Use.`crea
2360 74 65 2d 66 69 6c 65 2d 62 75 66 66 65 72 27 20 69 6e 73 74 65 61 64 20 6f 66 20 60 67 65 6e 65 te-file-buffer'.instead.of.`gene
2380 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 27 0a 3b 3b 20 20 20 66 6f 72 20 63 6f 6d 70 61 74 rate-new-buffer'.;;...for.compat
23a0 69 62 69 6c 69 74 79 20 77 69 74 68 20 75 6e 69 71 75 69 66 79 2e 0a 3b 3b 0a 3b 3b 20 76 31 2e ibility.with.uniquify..;;.;;.v1.
23c0 30 3a 0a 3b 3b 20 2d 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 73 20 60 64 6a 76 75 2d 72 65 76 65 72 0:.;;.-.New.commands.`djvu-rever
23e0 74 2d 62 75 66 66 65 72 27 2c 20 60 64 6a 76 75 2d 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 t-buffer',.`djvu-re-search-forwa
2400 72 64 27 2c 0a 3b 3b 20 20 20 60 64 6a 76 75 2d 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 rd',.;;...`djvu-re-search-forwar
2420 64 2d 63 6f 6e 74 69 6e 75 65 27 2c 20 60 64 6a 76 75 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 d-continue',.`djvu-history-backw
2440 61 72 64 27 2c 0a 3b 3b 20 20 20 60 64 6a 76 75 2d 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 ard',.;;...`djvu-history-forward
2460 27 2c 20 60 64 6a 76 75 2d 64 70 69 27 2c 20 60 64 6a 76 75 2d 64 70 69 2d 75 6e 69 66 79 27 2c ',.`djvu-dpi',.`djvu-dpi-unify',
2480 20 60 64 6a 76 75 2d 72 6f 74 61 74 65 27 2c 0a 3b 3b 20 20 20 60 64 6a 76 75 2d 70 61 67 65 2d .`djvu-rotate',.;;...`djvu-page-
24a0 74 69 74 6c 65 27 2c 20 60 64 6a 76 75 2d 6c 73 27 2c 20 60 64 6a 76 75 2d 69 6e 73 70 65 63 74 title',.`djvu-ls',.`djvu-inspect
24c0 2d 66 69 6c 65 27 2c 20 60 64 6a 76 75 2d 64 65 6c 65 74 65 2d 70 61 67 65 27 2c 0a 3b 3b 20 20 -file',.`djvu-delete-page',.;;..
24e0 20 61 6e 64 20 60 64 6a 76 75 2d 72 65 6d 6f 76 65 2d 61 6e 6e 6f 74 27 2e 0a 3b 3b 0a 3b 3b 20 .and.`djvu-remove-annot'..;;.;;.
2500 2d 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 65 64 69 74 69 6e 67 20 74 68 65 20 74 -.New.commands.for.editing.the.t
2520 65 78 74 20 6c 61 79 65 72 20 60 64 6a 76 75 2d 65 64 69 74 2d 77 6f 72 64 27 2c 0a 3b 3b 20 20 ext.layer.`djvu-edit-word',.;;..
2540 20 60 64 6a 76 75 2d 73 70 6c 69 74 2d 77 6f 72 64 27 2c 20 60 64 6a 76 75 2d 6d 65 72 67 65 2d .`djvu-split-word',.`djvu-merge-
2560 77 6f 72 64 73 27 2c 20 61 6e 64 20 60 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e 65 73 27 2e 0a words',.and.`djvu-merge-lines'..
2580 3b 3b 0a 3b 3b 20 2d 20 4d 61 6b 65 20 62 61 63 6b 75 70 73 20 77 68 65 6e 20 65 64 69 74 69 6e ;;.;;.-.Make.backups.when.editin
25a0 67 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 3b 3b 0a 3b 3b 20 2d 20 50 72 65 74 74 79 g.Djvu.documents..;;.;;.-.Pretty
25c0 2d 70 72 69 6e 74 65 64 20 6f 75 74 6c 69 6e 65 20 62 75 66 66 65 72 20 66 6f 72 20 62 6f 6f 6b -printed.outline.buffer.for.book
25e0 6d 61 72 6b 73 2e 0a 3b 3b 0a 3b 3b 20 2d 20 53 68 61 72 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e marks..;;.;;.-.Shared.annotation
2600 73 20 62 75 66 66 65 72 2e 0a 3b 3b 0a 3b 3b 20 2d 20 46 6f 6e 74 20 6c 6f 63 6b 69 6e 67 2e 0a s.buffer..;;.;;.-.Font.locking..
2620 0a 3b 3b 3b 20 54 6f 20 64 6f 3a 0a 0a 3b 3b 20 2d 20 41 75 74 6f 2d 73 61 76 65 20 73 63 72 69 .;;;.To.do:..;;.-.Auto-save.scri
2640 70 74 20 62 75 66 66 65 72 73 2e 20 20 48 6f 77 20 63 61 6e 20 77 65 20 72 65 63 6f 76 65 72 20 pt.buffers...How.can.we.recover.
2660 74 68 65 73 65 20 62 75 66 66 65 72 73 0a 3b 3b 20 20 20 69 6e 20 61 20 6d 65 61 6e 69 6e 67 66 these.buffers.;;...in.a.meaningf
2680 75 6c 20 77 61 79 3f 0a 3b 3b 0a 3b 3b 20 2d 20 55 73 65 20 60 72 65 70 6c 61 63 65 2d 62 75 66 ul.way?.;;.;;.-.Use.`replace-buf
26a0 66 65 72 2d 63 6f 6e 74 65 6e 74 73 27 3f 0a 3b 3b 0a 3b 3b 20 2d 20 4e 65 77 20 63 6f 6d 6d 61 fer-contents'?.;;.;;.-.New.comma
26c0 6e 64 20 74 68 61 74 20 6d 61 6b 65 73 20 6c 69 6e 65 20 62 72 65 61 6b 73 20 69 6e 20 74 65 78 nd.that.makes.line.breaks.in.tex
26e0 74 20 6c 61 79 65 72 20 62 65 74 74 65 72 20 73 65 61 72 63 68 61 62 6c 65 3a 0a 3b 3b 20 20 20 t.layer.better.searchable:.;;...
2700 53 63 61 6e 20 74 65 78 74 20 6c 61 79 65 72 20 66 6f 72 20 6c 69 6e 65 73 20 65 6e 64 69 6e 67 Scan.text.layer.for.lines.ending
2720 20 77 69 74 68 20 68 79 70 68 65 6e 61 74 65 64 20 77 6f 72 64 73 20 22 78 78 78 2d 22 2e 0a 3b .with.hyphenated.words."xxx-"..;
2740 3b 20 20 20 49 66 20 74 68 65 20 66 69 72 73 74 20 77 6f 72 64 20 6f 66 20 74 68 65 20 6e 65 78 ;...If.the.first.word.of.the.nex
2760 74 20 6c 69 6e 65 20 69 73 20 22 79 79 79 22 20 61 6e 64 20 69 73 70 65 6c 6c 20 6b 6e 6f 77 73 t.line.is."yyy".and.ispell.knows
2780 0a 3b 3b 20 20 20 74 68 65 20 77 6f 72 64 20 22 78 78 78 79 79 79 22 2c 20 72 65 70 6c 61 63 65 .;;...the.word."xxxyyy",.replace
27a0 20 22 79 79 79 22 20 77 69 74 68 20 74 68 61 74 20 73 74 72 69 6e 67 2e 20 20 41 20 73 65 61 72 ."yyy".with.that.string...A.sear
27c0 63 68 0a 3b 3b 20 20 20 66 6f 72 20 74 68 65 20 77 6f 72 64 20 22 78 78 78 79 79 79 22 20 77 69 ch.;;...for.the.word."xxxyyy".wi
27e0 6c 6c 20 74 68 65 6e 20 73 75 63 63 65 65 64 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 3b 3b 3b ll.then.succeed...;;;.Code:..;;;
2800 20 44 6a 76 75 20 69 6e 74 65 72 6e 61 6c 73 20 28 73 65 65 20 53 65 63 2e 20 38 2e 33 2e 34 2e .Djvu.internals.(see.Sec..8.3.4.
2820 32 2e 33 2e 31 20 6f 66 20 64 6a 76 75 33 73 70 65 63 2e 64 6a 76 75 29 0a 3b 3b 0a 3b 3b 20 53 2.3.1.of.djvu3spec.djvu).;;.;;.S
2840 75 70 70 6f 72 74 65 64 20 61 72 65 61 20 61 74 74 72 69 62 75 74 65 73 20 20 20 20 20 20 20 20 upported.area.attributes........
2860 20 20 20 20 20 72 65 63 74 20 20 74 65 78 74 20 20 6f 76 61 6c 20 20 6c 69 6e 65 20 20 70 6f 6c .....rect..text..oval..line..pol
2880 79 0a 3b 3b 20 28 6e 6f 6e 65 29 2f 28 78 6f 72 29 2f 28 62 6f 72 64 65 72 20 63 29 20 20 20 20 y.;;.(none)/(xor)/(border.c)....
28a0 20 20 20 20 20 20 20 20 20 20 20 20 58 20 20 20 20 20 58 20 20 20 20 20 58 20 20 20 20 20 58 20 ............X.....X.....X.....X.
28c0 20 20 20 20 58 0a 3b 3b 20 28 73 68 61 64 6f 77 5f 2a 20 74 29 20 20 20 20 20 20 20 20 20 20 20 ....X.;;.(shadow_*.t)...........
28e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 0a 3b 3b 20 28 62 6f 72 64 65 72 5f 61 76 69 ................X.;;.(border_avi
2900 73 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 20 20 20 s)..........................X...
2920 20 20 20 20 20 20 20 20 58 20 20 20 20 20 20 20 20 20 20 20 58 0a 3b 3b 20 28 68 69 6c 69 74 65 ........X...........X.;;.(hilite
2940 20 63 6f 6c 6f 72 29 20 2f 20 28 6f 70 61 63 69 74 79 20 6f 29 20 20 20 20 20 20 20 20 20 20 20 .color)./.(opacity.o)...........
2960 58 0a 3b 3b 20 28 61 72 72 6f 77 29 20 2f 20 28 77 69 64 74 68 20 77 29 20 2f 20 28 6c 69 6e 65 X.;;.(arrow)./.(width.w)./.(line
2980 63 6c 72 20 63 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 58 0a clr.c)........................X.
29a0 3b 3b 20 28 62 61 63 6b 63 6c 72 20 63 29 20 2f 20 28 74 65 78 74 63 6c 72 20 63 29 20 2f 20 28 ;;.(backclr.c)./.(textclr.c)./.(
29c0 70 75 73 68 70 69 6e 29 20 20 20 20 20 20 20 20 58 0a 3b 3b 0a 3b 3b 20 63 20 3d 20 23 52 52 47 pushpin)........X.;;.;;.c.=.#RRG
29e0 47 42 42 20 20 20 74 20 3d 20 74 68 69 63 6b 6e 65 73 73 20 28 31 2e 2e 33 32 29 0a 3b 3b 20 6f GBB...t.=.thickness.(1..32).;;.o
2a00 20 3d 20 6f 70 61 63 69 74 79 20 3d 20 30 2e 2e 32 30 30 20 28 79 65 73 29 0a 3b 3b 0a 3b 3b 20 .=.opacity.=.0..200.(yes).;;.;;.
2a20 7a 6f 6e 65 73 3a 20 70 61 67 65 2c 20 63 6f 6c 75 6d 6e 2c 20 72 65 67 69 6f 6e 2c 20 70 61 72 zones:.page,.column,.region,.par
2a40 61 2c 20 6c 69 6e 65 2c 20 77 6f 72 64 2c 20 61 6e 64 20 63 68 61 72 0a 3b 3b 20 61 72 65 61 73 a,.line,.word,.and.char.;;.areas
2a60 3a 20 72 65 63 74 2c 20 74 65 78 74 2c 20 6f 76 61 6c 2c 20 6c 69 6e 65 2c 20 61 6e 64 20 70 6f :.rect,.text,.oval,.line,.and.po
2a80 6c 79 0a 0a 28 72 65 71 75 69 72 65 20 27 69 6d 61 67 65 2d 6d 6f 64 65 29 0a 28 65 76 61 6c 2d ly..(require.'image-mode).(eval-
2aa0 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 when-compile...(require.'cl-lib)
2ac0 29 0a 0a 28 64 65 66 67 72 6f 75 70 20 64 6a 76 75 20 6e 69 6c 0a 20 20 22 44 6a 76 75 20 6d 6f )..(defgroup.djvu.nil..."Djvu.mo
2ae0 64 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 77 70 0a 20 20 3a 70 72 65 66 69 78 20 22 64 6a 76 de."...:group.'wp...:prefix."djv
2b00 75 2d 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 67 68 u-")..(defcustom.djvu-color-high
2b20 6c 69 67 68 74 20 22 79 65 6c 6c 6f 77 22 0a 20 20 22 44 65 66 61 75 6c 74 20 63 6f 6c 6f 72 20 light."yellow"..."Default.color.
2b40 66 6f 72 20 68 69 67 68 6c 69 67 68 74 69 6e 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 for.highlighting."...:group.'djv
2b60 75 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 u...:type.'string)..(defcustom.d
2b80 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 6d 61 72 6b 20 22 72 65 64 22 0a 20 20 22 44 65 66 61 75 6c jvu-color-himark."red"..."Defaul
2ba0 74 20 63 6f 6c 6f 72 20 66 6f 72 20 68 69 67 68 6d 61 72 6b 69 6e 67 2e 22 0a 20 20 3a 67 72 6f t.color.for.highmarking."...:gro
2bc0 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 up.'djvu...:type.'string)..(defc
2be0 75 73 74 6f 6d 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 75 72 6c 20 22 62 6c 75 65 22 0a 20 20 22 44 ustom.djvu-color-url."blue"..."D
2c00 65 66 61 75 6c 74 20 63 6f 6c 6f 72 20 66 6f 72 20 55 52 4c 73 2e 22 0a 20 20 3a 67 72 6f 75 70 efault.color.for.URLs."...:group
2c20 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 .'djvu...:type.'string)..(defcus
2c40 74 6f 6d 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 20 22 77 68 69 74 65 tom.djvu-color-background."white
2c60 22 0a 20 20 22 44 65 66 61 75 6c 74 20 62 61 63 6b 67 72 6f 75 6e 64 2e 22 0a 20 20 3a 67 72 6f "..."Default.background."...:gro
2c80 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 up.'djvu...:type.'string)..(defc
2ca0 75 73 74 6f 6d 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 6c 69 6e 65 20 22 62 6c 61 63 6b 22 0a 20 20 ustom.djvu-color-line."black"...
2cc0 22 44 65 66 61 75 6c 74 20 6c 69 6e 65 20 63 6f 6c 6f 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 "Default.line.color."...:group.'
2ce0 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f djvu...:type.'string)..(defcusto
2d00 6d 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 0a 20 20 3b 3b 20 49 66 20 74 68 65 20 6b m.djvu-color-alist...;;.If.the.k
2d20 65 79 73 20 61 72 65 20 73 74 72 69 6e 67 73 2c 20 74 68 65 79 20 61 72 65 20 64 69 72 65 63 74 eys.are.strings,.they.are.direct
2d40 6c 79 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 77 68 61 74 0a 20 20 3b 3b 20 77 65 20 ly.compatible.with.what...;;.we.
2d60 67 65 74 20 62 61 63 6b 20 66 72 6f 6d 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 60 63 6f get.back.from.something.like.`co
2d80 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 27 2e 0a 20 20 27 28 28 22 72 65 64 22 20 20 20 20 20 2e mpleting-read'....'(("red"......
2da0 20 22 23 46 46 30 30 37 30 22 29 20 3b 20 30 0a 20 20 20 20 28 22 67 72 65 65 6e 22 20 20 20 2e ."#FF0070").;.0.....("green"....
2dc0 20 22 23 30 30 46 46 30 30 22 29 20 3b 20 31 0a 20 20 20 20 28 22 62 6c 75 65 22 20 20 20 20 2e ."#00FF00").;.1.....("blue".....
2de0 20 22 23 36 36 36 36 46 46 22 29 20 3b 20 32 0a 20 20 20 20 28 22 79 65 6c 6c 6f 77 22 20 20 2e ."#6666FF").;.2.....("yellow"...
2e00 20 22 23 45 45 46 46 30 30 22 29 20 3b 20 33 0a 20 20 20 20 28 22 6f 72 61 6e 67 65 22 20 20 2e ."#EEFF00").;.3.....("orange"...
2e20 20 22 23 46 46 37 46 30 30 22 29 20 3b 20 34 0a 20 20 20 20 28 22 6d 61 67 65 6e 74 61 22 20 2e ."#FF7F00").;.4.....("magenta"..
2e40 20 22 23 46 46 30 30 46 46 22 29 20 3b 20 35 0a 20 20 20 20 28 22 70 75 72 70 6c 65 22 20 20 2e ."#FF00FF").;.5.....("purple"...
2e60 20 22 23 37 46 36 30 46 46 22 29 20 3b 20 36 0a 20 20 20 20 28 22 63 79 61 6e 22 20 20 20 20 2e ."#7F60FF").;.6.....("cyan".....
2e80 20 22 23 30 30 46 46 46 46 22 29 20 3b 20 37 0a 20 20 20 20 28 22 70 69 6e 6b 22 20 20 20 20 2e ."#00FFFF").;.7.....("pink".....
2ea0 20 22 23 46 46 36 30 36 30 22 29 20 3b 20 38 0a 20 20 20 20 28 22 77 68 69 74 65 22 20 20 20 2e ."#FF6060").;.8.....("white"....
2ec0 20 22 23 46 46 46 46 46 46 22 29 20 3b 20 39 0a 20 20 20 20 28 22 62 6c 61 63 6b 22 20 20 20 2e ."#FFFFFF").;.9.....("black"....
2ee0 20 22 23 30 30 30 30 30 30 22 29 29 3b 20 31 30 0a 20 20 22 41 6c 69 73 74 20 6f 66 20 63 6f 6c ."#000000"));.10..."Alist.of.col
2f00 6f 72 73 20 66 6f 72 20 68 69 67 68 6c 69 67 68 74 69 6e 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 ors.for.highlighting."...:group.
2f20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 28 63 6f 6e 73 20 28 73 74 'djvu...:type.'(repeat.(cons.(st
2f40 72 69 6e 67 29 20 28 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a ring).(string))))..(defcustom.dj
2f60 76 75 2d 6c 69 6e 65 2d 77 69 64 74 68 20 31 0a 20 20 22 44 65 66 61 75 6c 74 20 6c 69 6e 65 20 vu-line-width.1..."Default.line.
2f80 77 69 64 74 68 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 width."...:group.'djvu...:type.'
2fa0 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 6f 70 61 63 69 74 integer)..(defcustom.djvu-opacit
2fc0 79 20 35 30 0a 20 20 22 44 65 66 61 75 6c 74 20 6f 70 61 63 69 74 79 20 66 6f 72 20 48 69 67 68 y.50..."Default.opacity.for.High
2fe0 6c 69 67 68 74 69 6e 67 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 lighting."...:group.'djvu...:typ
3000 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 61 72 65 e.'integer)..(defcustom.djvu-are
3020 61 73 2d 6a 75 73 74 69 66 79 20 30 2e 30 32 0a 20 20 22 55 70 70 65 72 20 74 68 72 65 73 68 6f as-justify.0.02..."Upper.thresho
3040 6c 64 20 66 6f 72 20 6a 75 73 74 69 66 79 69 6e 67 20 61 72 65 61 20 63 6f 6f 72 64 69 6e 61 74 ld.for.justifying.area.coordinat
3060 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 6e 75 6d es."...:group.'djvu...:type.'num
3080 62 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 66 69 6c 6c 2d 63 6f 6c 75 6d ber)..(defcustom.djvu-fill-colum
30a0 6e 20 35 30 0a 20 20 22 46 69 6c 6c 20 63 6f 6c 75 6d 6e 20 66 6f 72 20 44 6a 76 75 20 61 6e 6e n.50..."Fill.column.for.Djvu.ann
30c0 6f 74 61 74 69 6f 6e 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 otations."...:group.'djvu...:typ
30e0 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 73 63 72 e.'integer)..(defcustom.djvu-scr
3100 69 70 74 2d 62 75 66 66 65 72 20 22 2a 64 6a 76 75 2a 22 0a 20 20 22 44 65 66 61 75 6c 74 20 62 ipt-buffer."*djvu*"..."Default.b
3120 75 66 66 65 72 20 66 6f 72 20 5c 22 72 61 77 5c 22 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 uffer.for.\"raw\".djvused.script
3140 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 s."...:group.'djvu...:type.'stri
3160 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 62 75 66 66 65 72 2d 6e 61 6d 65 ng)..(defcustom.djvu-buffer-name
3180 2d 65 78 74 65 6e 73 69 6f 6e 73 0a 20 20 27 28 22 22 20 22 2d 74 22 20 22 2d 61 22 20 22 2d 73 -extensions...'(""."-t"."-a"."-s
31a0 22 20 22 2d 62 22 20 22 2d 6f 22 29 0a 20 20 22 45 78 74 65 6e 73 69 6f 6e 73 20 66 6f 72 20 44 "."-b"."-o")..."Extensions.for.D
31c0 6a 76 75 20 62 75 66 66 65 72 20 6e 61 6d 65 73 2e 0a 54 68 69 73 20 69 73 20 61 20 6c 69 73 74 jvu.buffer.names..This.is.a.list
31e0 20 77 69 74 68 20 73 69 78 20 65 6c 65 6d 65 6e 74 73 20 28 52 45 41 44 20 54 45 58 54 20 41 4e .with.six.elements.(READ.TEXT.AN
3200 4e 4f 54 20 53 48 41 52 45 44 20 42 4f 4f 4b 4d 41 52 4b 53 20 4f 55 54 4c 49 4e 45 29 2e 22 0a NOT.SHARED.BOOKMARKS.OUTLINE).".
3220 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 28 6c 69 73 74 20 28 73 ..:group.'djvu...:type.'(list.(s
3240 74 72 69 6e 67 29 20 28 73 74 72 69 6e 67 29 20 28 73 74 72 69 6e 67 29 20 28 73 74 72 69 6e 67 tring).(string).(string).(string
3260 29 20 28 73 74 72 69 6e 67 29 20 28 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f ).(string).(string)))..(defcusto
3280 6d 20 64 6a 76 75 2d 69 6d 61 67 65 2d 73 69 7a 65 20 31 30 32 34 0a 20 20 22 53 69 7a 65 20 6f m.djvu-image-size.1024..."Size.o
32a0 66 20 69 6e 74 65 72 6e 61 6c 6c 79 20 64 69 73 70 6c 61 79 65 64 20 69 6d 61 67 65 2e 20 20 54 f.internally.displayed.image...T
32c0 68 69 73 20 69 73 20 4d 41 58 20 28 77 69 64 74 68 2c 20 68 65 69 67 68 74 29 2e 22 0a 20 20 3a his.is.MAX.(width,.height)."...:
32e0 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 65 72 29 0a 0a 28 group.'djvu...:type.'integer)..(
3300 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 defcustom.djvu-inherit-input-met
3320 68 6f 64 20 74 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 20 63 61 6c 6c 73 20 6f 66 20 60 72 65 hod.t..."If.non-nil.calls.of.`re
3340 61 64 2d 73 74 72 69 6e 67 27 20 69 6e 68 65 72 69 74 20 74 68 65 20 69 6e 70 75 74 20 6d 65 74 ad-string'.inherit.the.input.met
3360 68 6f 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 62 6f hod."...:group.'djvu...:type.'bo
3380 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 64 6a 76 69 65 77 2d 63 olean)..(defcustom.djvu-djview-c
33a0 6f 6d 6d 61 6e 64 20 22 64 6a 76 69 65 77 22 0a 20 20 22 43 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 ommand."djview"..."Command.for.t
33c0 68 65 20 44 6a 76 75 20 56 69 65 77 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a he.Djvu.Viewer."...:group.'djvu.
33e0 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 ..:type.'string)..(defcustom.djv
3400 75 2d 64 6a 76 69 65 77 2d 6f 70 74 69 6f 6e 73 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 u-djview-options.nil..."List.of.
3420 63 6f 6d 6d 61 6e 64 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 74 68 65 20 44 6a 76 75 20 56 69 65 command.options.for.the.Djvu.Vie
3440 77 65 72 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 28 72 wer."...:group.'djvu...:type.'(r
3460 65 70 65 61 74 20 28 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 epeat.(string)))..(defcustom.djv
3480 75 2d 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 2d 72 65 20 28 72 65 67 65 78 70 u-file-name-extension-re.(regexp
34a0 2d 6f 70 74 20 27 28 22 2e 64 6a 76 75 22 20 22 2e 64 6a 62 7a 22 20 22 2e 69 66 66 22 29 29 0a -opt.'(".djvu".".djbz".".iff")).
34c0 20 20 22 52 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 66 69 6c 65 20 6e .."Regular.expression.for.file.n
34e0 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 69 6e 20 62 75 6e 64 6c 65 64 20 6d 75 6c 74 69 2d ame.extensions.in.bundled.multi-
3500 70 61 67 65 20 64 6f 63 75 6d 65 6e 74 73 2e 0a 54 68 65 73 65 20 65 78 74 65 6e 73 69 6f 6e 73 page.documents..These.extensions
3520 20 69 6e 63 6c 75 64 65 20 74 68 65 20 70 65 72 69 6f 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 .include.the.period."...:group.'
3540 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 72 65 67 65 78 70 29 0a 0a 28 64 65 66 63 75 73 74 6f djvu...:type.'regexp)..(defcusto
3560 6d 20 64 6a 76 75 2d 72 65 61 64 2d 70 72 6f 70 2d 6e 65 77 6c 69 6e 65 20 32 0a 20 20 22 4e 75 m.djvu-read-prop-newline.2..."Nu
3580 6d 62 65 72 20 6f 66 20 6e 65 77 6c 69 6e 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 52 65 mber.of.newline.characters.in.Re
35a0 61 64 20 62 75 66 66 65 72 20 66 6f 72 20 63 6f 6e 73 65 63 75 74 69 76 65 20 72 65 67 69 6f 6e ad.buffer.for.consecutive.region
35c0 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 69 6e 74 65 67 ."...:group.'djvu...:type.'integ
35e0 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 6f 75 74 6c 69 6e 65 2d 66 61 63 er)..(defcustom.djvu-outline-fac
3600 65 73 0a 20 20 3b 3b 20 53 61 6d 65 20 61 73 20 60 6f 75 74 6c 69 6e 65 2d 66 6f 6e 74 2d 6c 6f es...;;.Same.as.`outline-font-lo
3620 63 6b 2d 66 61 63 65 73 27 0a 20 20 5b 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 75 6e 63 74 69 6f 6e 2d ck-faces'...[font-lock-function-
3640 6e 61 6d 65 2d 66 61 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 76 61 72 69 61 62 6c 65 2d 6e 61 6d name-face.font-lock-variable-nam
3660 65 2d 66 61 63 65 0a 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 20 e-face...font-lock-keyword-face.
3680 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6d 6d 65 6e 74 2d 66 61 63 65 0a 20 20 66 6f 6e 74 2d 6c 6f font-lock-comment-face...font-lo
36a0 63 6b 2d 74 79 70 65 2d 66 61 63 65 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 63 6f 6e 73 74 61 6e 74 2d ck-type-face.font-lock-constant-
36c0 66 61 63 65 0a 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 62 75 69 6c 74 69 6e 2d 66 61 63 65 20 66 6f face...font-lock-builtin-face.fo
36e0 6e 74 2d 6c 6f 63 6b 2d 73 74 72 69 6e 67 2d 66 61 63 65 5d 0a 20 20 22 56 65 63 74 6f 72 20 6f nt-lock-string-face]..."Vector.o
3700 66 20 66 61 63 65 73 20 66 6f 72 20 4f 75 74 6c 69 6e 65 20 62 75 66 66 65 72 2e 22 0a 20 20 3a f.faces.for.Outline.buffer."...:
3720 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 28 73 65 78 70 29 29 0a 0a 28 64 group.'djvu...:type.'(sexp))..(d
3740 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 2d 6c 69 73 efcustom.djvu-string-replace-lis
3760 74 0a 20 20 27 28 28 22 2d 5c 6e 2b 5c 5c 28 5b 5b 3a 6c 6f 77 65 72 3a 5d 5d 5c 5c 29 22 20 2e t...'(("-\n+\\([[:lower:]]\\)"..
3780 20 22 5c 5c 31 22 29 20 3b 20 68 79 70 68 65 6e 61 74 69 6f 6e 0a 20 20 20 20 28 22 2d 5c 6e 2b ."\\1").;.hyphenation.....("-\n+
37a0 22 20 2e 20 22 2d 22 29 20 3b 20 68 79 70 68 65 6e 61 74 69 6f 6e 0a 20 20 20 20 28 22 5b 5c 6e "..."-").;.hyphenation.....("[\n
37c0 20 5d 2b 22 20 2e 20 22 20 22 29 29 20 3b 20 77 68 69 74 65 20 73 70 61 63 65 0a 20 20 22 52 65 .]+"...".")).;.white.space..."Re
37e0 70 6c 61 63 65 6d 65 6e 74 20 6c 69 73 74 20 66 6f 72 20 74 65 78 74 20 73 74 72 69 6e 67 73 2e placement.list.for.text.strings.
3800 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 52 45 .Each.element.is.of.the.form.(RE
3820 47 45 58 50 20 2e 20 52 45 50 29 2e 0a 55 73 65 64 20 62 79 20 60 64 6a 76 75 2d 72 65 67 69 6f GEXP...REP)..Used.by.`djvu-regio
3840 6e 2d 73 74 72 69 6e 67 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 n-string'."...:group.'djvu...:ty
3860 70 65 20 27 28 72 65 70 65 61 74 20 28 63 6f 6e 73 20 28 72 65 67 65 78 70 29 20 28 73 74 72 69 pe.'(repeat.(cons.(regexp).(stri
3880 6e 67 29 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 72 65 63 74 2d 61 72 65 ng))))..(defcustom.djvu-rect-are
38a0 61 2d 6e 6f 64 75 70 73 20 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 20 60 64 6a 76 75 a-nodups.nil..."If.non-nil.`djvu
38c0 2d 72 65 63 74 2d 61 72 65 61 27 20 64 6f 65 73 20 6e 6f 74 20 63 72 65 61 74 65 20 6d 75 6c 74 -rect-area'.does.not.create.mult
38e0 69 70 6c 65 20 72 65 63 74 73 20 66 6f 72 20 73 61 6d 65 20 61 72 65 61 73 2e 22 0a 20 20 3a 67 iple.rects.for.same.areas."...:g
3900 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 roup.'djvu...:type.'boolean)..(d
3920 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 20 6e 69 6c 0a 20 20 22 efcustom.djvu-continuous.nil..."
3940 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 73 63 72 6f 6c 6c 69 6e 67 20 74 6f 20 74 68 65 20 70 When.non-nil,.scrolling.to.the.p
3960 61 67 65 20 65 64 67 65 20 61 64 76 61 6e 63 65 73 20 74 6f 20 6e 65 78 74 2f 70 72 65 76 69 6f age.edge.advances.to.next/previo
3980 75 73 20 70 61 67 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 us.page."...:group.'djvu...:type
39a0 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 69 6d 61 67 .'boolean)..(defcustom.djvu-imag
39c0 65 2d 7a 6f 6f 6d 20 31 2e 32 0a 20 20 22 5a 6f 6f 6d 20 66 61 63 74 6f 72 20 66 6f 72 20 69 6d e-zoom.1.2..."Zoom.factor.for.im
39e0 61 67 65 73 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 6e ages."...:group.'djvu...:type.'n
3a00 75 6d 62 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 64 65 73 63 65 6e 64 65 umber)..(defcustom.djvu-descende
3a20 72 73 2d 72 65 20 22 5b 28 29 2c 3b 51 67 6a 70 71 79 5d 22 20 3b 20 73 6f 6d 65 20 66 6f 6e 74 rs-re."[(),;Qgjpqy]".;.some.font
3a40 73 20 61 6c 73 6f 20 60 4a 27 20 61 6e 64 20 60 66 27 0a 20 20 3b 3b 20 68 74 74 70 73 3a 2f 2f s.also.`J'.and.`f'...;;.https://
3a60 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 44 65 73 63 65 6e 64 65 72 0a en.wikipedia.org/wiki/Descender.
3a80 20 20 22 52 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 61 6e 79 20 64 65 73 63 65 6e 64 69 6e .."Regexp.matching.any.descendin
3aa0 67 20 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 6e 69 6c 2e 0a 57 69 74 68 20 44 6a 76 75 20 6d g.characters.or.nil..With.Djvu.m
3ac0 6f 64 65 2c 20 6d 61 70 61 72 65 61 73 20 6f 66 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6d 61 74 ode,.mapareas.of.annotations.mat
3ae0 63 68 20 74 69 67 68 74 20 74 68 65 20 74 65 78 74 20 74 68 65 79 20 72 65 66 65 72 20 74 6f 2e ch.tight.the.text.they.refer.to.
3b00 0a 54 68 69 73 20 6d 61 79 20 61 70 70 65 61 72 20 76 69 73 75 61 6c 6c 79 20 61 77 6b 77 61 72 .This.may.appear.visually.awkwar
3b20 64 20 69 66 20 74 68 65 20 6c 6f 77 65 72 20 62 6f 75 6e 64 20 6f 66 20 74 68 65 20 6d 61 70 61 d.if.the.lower.bound.of.the.mapa
3b40 72 65 61 20 6c 69 6e 65 73 20 75 70 0a 77 69 74 68 20 74 68 65 20 62 61 73 65 6c 69 6e 65 20 6f rea.lines.up.with.the.baseline.o
3b60 66 20 74 68 65 20 74 65 78 74 20 62 65 63 61 75 73 65 20 74 68 65 20 74 65 78 74 20 63 6f 6e 74 f.the.text.because.the.text.cont
3b80 61 69 6e 73 20 6e 6f 20 64 65 73 63 65 6e 64 65 72 73 0a 66 72 6f 6d 20 63 68 61 72 61 63 74 65 ains.no.descenders.from.characte
3ba0 72 73 20 73 75 63 68 20 61 73 20 60 67 27 20 6f 72 20 60 71 27 2e 20 20 54 68 65 6e 2c 20 69 66 rs.such.as.`g'.or.`q'...Then,.if
3bc0 20 74 68 65 20 74 65 78 74 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 0a 74 68 65 20 72 65 67 .the.text.does.not.match.the.reg
3be0 65 78 70 20 60 64 6a 76 75 2d 64 65 73 63 65 6e 64 65 72 73 2d 72 65 27 2c 20 74 68 65 20 61 6e exp.`djvu-descenders-re',.the.an
3c00 6e 6f 74 61 74 69 6f 6e 20 61 72 65 61 20 77 69 6c 6c 20 64 65 73 63 65 6e 64 0a 73 6c 69 67 68 notation.area.will.descend.sligh
3c20 74 6c 79 20 62 65 6c 6f 77 20 74 68 65 20 62 61 73 65 6c 69 6e 65 2e 22 0a 20 20 3a 67 72 6f 75 tly.below.the.baseline."...:grou
3c40 70 20 27 64 6a 76 75 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 72 65 67 65 78 70 20 p.'djvu...:type.'(choice.regexp.
3c60 28 63 6f 6e 73 74 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 6a 76 75 2d 61 (const.nil)))..(defcustom.djvu-a
3c80 73 63 65 6e 64 65 72 73 2d 72 65 20 22 5b 5e 2d 2c 2e 3b 3a 61 63 65 67 6d 2d 73 75 2d 7a 5c 73 scenders-re."[^-,.;:acegm-su-z\s
3ca0 5d 22 0a 20 20 22 52 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 61 73 63 65 6e 64 69 6e 67 20 ]"..."Regexp.matching.ascending.
3cc0 63 68 61 72 61 63 74 65 72 73 20 6f 72 20 6e 69 6c 2c 20 73 65 65 20 60 64 6a 76 75 2d 64 65 73 characters.or.nil,.see.`djvu-des
3ce0 63 65 6e 64 65 72 73 2d 72 65 27 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 64 6a 76 75 0a 20 20 3a cenders-re'."...:group.'djvu...:
3d00 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 72 65 67 65 78 70 20 28 63 6f 6e 73 74 20 6e 69 6c 29 type.'(choice.regexp.(const.nil)
3d20 29 29 0a 0a 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 76 61 72 69 61 62 6c 65 73 0a 0a 28 64 65 66 76 ))..;;.Internal.variables..(defv
3d40 61 72 20 64 6a 76 75 2d 63 6f 6f 72 64 73 2d 72 65 0a 20 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 ar.djvu-coords-re...(format."\\(
3d60 3f 32 3a 25 73 5c 5c 29 22 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 ?2:%s\\)"...........(mapconcat.(
3d80 6c 61 6d 62 64 61 20 28 69 29 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 3f 25 64 3a 2d 3f 5b 30 2d lambda.(i).(format."\\(?%d:-?[0-
3da0 39 5d 2b 5c 5c 29 22 20 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 9]+\\)".i)).....................
3dc0 20 27 28 33 20 34 20 35 20 36 29 20 22 5b 5c 73 5c 74 5d 2b 22 29 29 0a 20 20 22 52 65 67 65 78 .'(3.4.5.6)."[\s\t]+"))..."Regex
3de0 70 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 44 6a p.matching.the.coordinates.of.Dj
3e00 76 75 20 61 72 65 61 73 20 61 6e 64 20 7a 6f 6e 65 73 2e 0a 53 75 62 73 74 72 69 6e 67 20 32 3a vu.areas.and.zones..Substring.2:
3e20 20 63 6f 6f 72 64 69 6e 61 74 65 73 2c 20 33 2d 36 3a 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f .coordinates,.3-6:.individual.co
3e40 6f 72 64 69 6e 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 63 6f 6f 72 64 ordinates.")..(defvar.djvu-coord
3e60 2d 78 79 2d 72 65 0a 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 69 29 20 -xy-re...(mapconcat.(lambda.(i).
3e80 28 66 6f 72 6d 61 74 20 22 5c 5c 28 3f 25 64 3a 2d 3f 5b 30 2d 39 5d 2b 5c 5c 29 22 20 69 29 29 (format."\\(?%d:-?[0-9]+\\)".i))
3ea0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 31 20 32 29 20 22 5b 5c 73 5c 74 5d 2b 22 29 0a ..............'(1.2)."[\s\t]+").
3ec0 20 20 22 52 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 70 61 69 72 20 6f 66 20 78 79 20 63 6f .."Regexp.matching.pair.of.xy.co
3ee0 6f 72 64 69 6e 61 74 65 73 20 6f 66 20 44 6a 76 75 20 6d 61 70 61 72 65 61 20 70 6f 6c 79 2e 0a ordinates.of.Djvu.maparea.poly..
3f00 53 75 62 73 74 72 69 6e 67 73 20 31 2d 32 3a 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 6f 72 64 Substrings.1-2:.individual.coord
3f20 69 6e 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 61 72 65 61 2d 72 65 0a inates.")..(defvar.djvu-area-re.
3f40 20 20 28 66 6f 72 6d 61 74 20 22 28 5c 5c 28 3f 31 3a 25 73 5c 5c 29 5b 5c 73 5c 74 5d 2b 25 73 ..(format."(\\(?1:%s\\)[\s\t]+%s
3f60 5b 29 5c 73 5c 74 5c 6e 5d 22 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 78 70 2d 6f 70 74 [)\s\t\n]"...........(regexp-opt
3f80 20 27 28 22 72 65 63 74 22 20 22 6f 76 61 6c 22 20 22 74 65 78 74 22 20 22 6c 69 6e 65 22 20 22 .'("rect"."oval"."text"."line"."
3fa0 70 6f 6c 79 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6f 72 64 73 2d 72 65 poly"))...........djvu-coords-re
3fc0 29 0a 20 20 22 52 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 61 20 44 6a 76 75 20 61 72 65 61 )..."Regexp.matching.a.Djvu.area
3fe0 2e 0a 53 75 62 73 74 72 69 6e 67 20 31 3a 20 61 72 65 61 20 74 79 70 65 2c 20 32 3a 20 63 6f 6f ..Substring.1:.area.type,.2:.coo
4000 72 64 69 6e 61 74 65 73 2c 20 33 2d 36 3a 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 6f 72 64 69 rdinates,.3-6:.individual.coordi
4020 6e 61 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 7a 6f 6e 65 2d 72 65 0a 20 nates.")..(defvar.djvu-zone-re..
4040 20 28 66 6f 72 6d 61 74 20 22 5b 5c 73 5c 74 5d 2a 28 5c 5c 28 3f 31 3a 25 73 5c 5c 29 5b 5c 73 .(format."[\s\t]*(\\(?1:%s\\)[\s
4060 5c 74 5d 2b 25 73 5b 5c 73 5c 74 5c 6e 5d 2b 22 20 3b 20 6f 6d 69 74 20 63 6c 6f 73 69 6e 67 20 \t]+%s[\s\t\n]+".;.omit.closing.
4080 60 29 27 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 70 61 67 `)'...........(regexp-opt.'("pag
40a0 65 22 20 22 63 6f 6c 75 6d 6e 22 20 22 72 65 67 69 6f 6e 22 20 22 70 61 72 61 22 20 22 6c 69 6e e"."column"."region"."para"."lin
40c0 65 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 22 77 6f 72 64 e"........................."word
40e0 22 20 22 63 68 61 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6f 72 64 "."char"))............djvu-coord
4100 73 2d 72 65 29 0a 20 20 22 52 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 62 65 67 s-re)..."Regexp.matching.the.beg
4120 69 6e 6e 69 6e 67 20 6f 66 20 61 20 44 6a 76 75 20 74 65 78 74 20 7a 6f 6e 65 2e 0a 53 75 62 73 inning.of.a.Djvu.text.zone..Subs
4140 74 72 69 6e 67 20 31 3a 20 7a 6f 6e 65 20 74 79 70 65 2c 20 32 3a 20 63 6f 6f 72 64 69 6e 61 74 tring.1:.zone.type,.2:.coordinat
4160 65 73 2c 20 33 2d 36 3a 20 69 6e 64 69 76 69 64 75 61 6c 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e es,.3-6:.individual.coordinates.
4180 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 74 65 73 74 20 6e 69 6c 0a 20 20 22 49 66 20 ")..(defvar.djvu-test.nil..."If.
41a0 6e 6f 6e 2d 6e 69 6c 20 64 6f 20 6e 6f 74 20 70 72 6f 63 65 73 73 20 2f 20 64 65 6c 65 74 65 20 non-nil.do.not.process./.delete.
41c0 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 73 2e 20 20 55 73 65 66 75 6c 20 66 6f 72 20 74 65 73 djvused.scripts...Useful.for.tes
41e0 74 69 6e 67 2e 22 29 0a 3b 3b 20 28 73 65 74 71 20 64 6a 76 75 2d 74 65 73 74 20 74 29 20 28 73 ting.").;;.(setq.djvu-test.t).(s
4200 65 74 71 20 64 6a 76 75 2d 74 65 73 74 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 etq.djvu-test.nil)..(defvar-loca
4220 6c 20 64 6a 76 75 2d 62 75 66 66 65 72 20 6e 69 6c 0a 20 20 22 54 79 70 65 20 6f 66 20 44 6a 76 l.djvu-buffer.nil..."Type.of.Djv
4240 75 20 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 72 65 63 74 2d 6c u.buffer.")..(defvar.djvu-rect-l
4260 69 73 74 20 6e 69 6c 0a 20 20 22 45 78 70 61 6e 64 65 64 20 72 65 63 74 20 6c 69 73 74 20 66 6f ist.nil..."Expanded.rect.list.fo
4280 72 20 70 72 6f 70 65 72 74 69 7a 69 6e 67 20 74 68 65 20 52 65 61 64 20 62 75 66 66 65 72 2e 0a r.propertizing.the.Read.buffer..
42a0 54 68 69 73 20 69 73 20 61 20 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 73 20 28 43 4f This.is.a.list.with.elements.(CO
42c0 4f 52 44 53 20 55 52 4c 20 54 45 58 54 20 43 4f 4c 4f 52 20 49 44 29 20 73 74 6f 72 65 64 0a 69 ORDS.URL.TEXT.COLOR.ID).stored.i
42e0 6e 20 60 64 6a 76 75 2d 64 6f 63 2d 72 65 63 74 2d 6c 69 73 74 27 2e 22 29 0a 0a 28 64 65 66 76 n.`djvu-doc-rect-list'.")..(defv
4300 61 72 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 20 6e 69 6c 0a 20 20 22 4c 61 73 74 20 72 65 ar.djvu-last-rect.nil..."Last.re
4320 63 74 20 75 73 65 64 20 66 6f 72 20 70 72 6f 70 65 72 74 69 7a 69 6e 67 20 74 68 65 20 52 65 61 ct.used.for.propertizing.the.Rea
4340 64 20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 69 73 20 61 20 6c 69 73 74 20 28 42 45 47 20 45 4e d.buffer..This.is.a.list.(BEG.EN
4360 44 20 43 4f 4f 52 44 53 20 55 52 4c 20 54 45 58 54 20 43 4f 4c 4f 52 29 2e 22 29 0a 0a 3b 3b 20 D.COORDS.URL.TEXT.COLOR).")..;;.
4380 57 65 20 75 73 65 20 76 61 72 69 61 62 6c 65 20 60 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 We.use.variable.`djvu-resolve-ur
43a0 6c 27 20 61 73 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 66 6c 61 67 20 77 68 69 6c 65 20 77 65 20 l'.as.an.internal.flag.while.we.
43c0 75 70 64 61 74 65 0a 3b 3b 20 61 6c 6c 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c 73 20 69 6e 20 61 update.;;.all.internal.URLs.in.a
43e0 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 76 69 61 20 60 64 6a 76 75 2d 72 65 73 6f 6c 76 65 .Djvu.document.via.`djvu-resolve
4400 2d 61 6c 6c 2d 75 72 6c 73 27 2e 0a 3b 3b 20 54 68 65 6e 20 77 65 20 75 73 65 20 60 64 6a 76 75 -all-urls'..;;.Then.we.use.`djvu
4420 2d 64 6f 63 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 27 20 74 6f 20 72 65 6d 65 6d 62 65 72 20 74 68 -doc-resolve-url'.to.remember.th
4440 69 73 20 73 63 68 65 6d 65 0a 3b 3b 20 61 6e 64 20 66 6f 72 20 61 64 64 69 6e 67 20 6e 65 77 20 is.scheme.;;.and.for.adding.new.
4460 69 6e 74 65 72 6e 61 6c 20 55 52 4c 73 20 63 6f 6e 73 69 73 74 65 6e 74 20 77 69 74 68 20 74 68 internal.URLs.consistent.with.th
4480 69 73 20 73 63 68 65 6d 65 2e 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d is.scheme..(defvar.djvu-resolve-
44a0 75 72 6c 20 6e 69 6c 0a 20 20 22 46 6c 61 67 20 66 6f 72 20 72 65 73 6f 6c 76 69 6e 67 20 69 6e url.nil..."Flag.for.resolving.in
44c0 74 65 72 6e 61 6c 20 55 52 4c 73 2e 0a 49 66 20 60 6c 6f 6e 67 27 20 72 65 70 6c 61 63 65 20 73 ternal.URLs..If.`long'.replace.s
44e0 68 6f 72 74 20 70 61 67 65 20 6e 75 6d 62 65 72 73 20 62 79 20 6c 6f 6e 67 20 46 69 6c 65 49 44 hort.page.numbers.by.long.FileID
4500 73 2e 0a 49 66 20 60 73 68 6f 72 74 27 20 72 65 70 6c 61 63 65 20 6c 6f 6e 67 20 46 69 6c 65 49 s..If.`short'.replace.long.FileI
4520 44 73 20 62 79 20 73 68 6f 72 74 20 70 61 67 65 20 6e 75 6d 62 65 72 73 2e 0a 49 66 20 6e 69 6c Ds.by.short.page.numbers..If.nil
4540 20 64 6f 20 6e 6f 74 68 69 6e 67 2e 0a 42 69 6e 64 20 74 68 69 73 20 77 69 74 68 20 60 6c 65 74 .do.nothing..Bind.this.with.`let
4560 27 20 74 6f 20 73 65 6c 65 63 74 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 73 63 68 65 6d 65 73 '.to.select.one.of.these.schemes
4580 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 76 65 6c .")..(defvar.djvu-bookmark-level
45a0 20 6e 69 6c 0a 20 20 22 43 6f 75 6e 74 65 72 20 66 6f 72 20 62 6f 6f 6b 6d 61 72 6b 20 6c 65 76 .nil..."Counter.for.bookmark.lev
45c0 65 6c 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 29 20 el.")..(defvar.djvu-image-mode).
45e0 3b 20 66 75 6c 6c 79 20 64 65 66 69 6e 65 64 20 62 79 20 60 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 ;.fully.defined.by.`define-minor
4600 2d 6d 6f 64 65 27 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 29 0a 0a 28 64 65 66 76 61 72 20 64 -mode'.(buffer-local)..(defvar.d
4620 6a 76 75 2d 69 6e 69 74 20 6e 69 6c 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 64 75 72 69 6e 67 20 69 jvu-init.nil..."Non-nil.during.i
4640 6e 69 74 69 61 6c 69 7a 61 74 69 6f 6e 20 6f 66 20 44 6a 76 69 65 77 20 6d 6f 64 65 2e 22 29 0a nitialization.of.Djview.mode.").
4660 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 74 74 72 69 62 75 74 65 73 20 27 .(defvar.djvu-color-attributes.'
4680 28 62 6f 72 64 65 72 20 68 69 6c 69 74 65 20 6c 69 6e 65 63 6c 72 20 62 61 63 6b 63 6c 72 20 74 (border.hilite.lineclr.backclr.t
46a0 65 78 74 63 6c 72 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 63 6f 6c 6f 72 20 61 74 74 72 69 62 75 extclr)..."List.of.color.attribu
46c0 74 65 73 20 6b 6e 6f 77 6e 20 74 6f 20 44 6a 76 75 2e 20 20 53 65 65 20 64 6a 76 75 73 65 64 28 tes.known.to.Djvu...See.djvused(
46e0 31 29 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 72 65 0a 20 20 28 1).")..(defvar.djvu-color-re...(
4700 63 6f 6e 63 61 74 20 22 28 22 20 28 72 65 67 65 78 70 2d 6f 70 74 20 28 6d 61 70 63 61 72 20 23 concat."(".(regexp-opt.(mapcar.#
4720 27 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 74 74 72 69 62 75 74 'symbol-name.djvu-color-attribut
4740 65 73 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 22 5b 20 5c 74 5c 6e 5d 2b 5c 5c 28 25 73 5c es).t)..........."[.\t\n]+\\(%s\
4760 5c 28 25 73 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 22 0a 20 20 \(%s[[:xdigit:]][[:xdigit:]]"...
4780 20 20 20 20 20 20 20 20 22 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5b 5b 3a 78 64 69 67 69 74 3a 5d ........"[[:xdigit:]][[:xdigit:]
47a0 5d 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 29 25 73 5c 5c ][[:xdigit:]][[:xdigit:]]\\)%s\\
47c0 29 5b 20 5c 74 5c 6e 5d 2a 29 22 29 0a 20 20 22 46 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 74 6f )[.\t\n]*)")..."Format.string.to
47e0 20 63 72 65 61 74 65 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 61 74 .create.a.regular.expression.mat
4800 63 68 69 6e 67 20 63 6f 6c 6f 72 20 61 74 74 72 69 62 75 74 65 73 2e 22 29 0a 0a 28 64 65 66 76 ching.color.attributes.")..(defv
4820 61 72 20 64 6a 76 75 2d 62 65 67 2d 6f 62 6a 65 63 74 2d 72 65 0a 20 20 28 63 6f 6e 63 61 74 20 ar.djvu-beg-object-re...(concat.
4840 22 5e 5b 5c 73 5c 74 5d 2a 28 22 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 62 61 63 6b 67 "^[\s\t]*(".(regexp-opt.'("backg
4860 72 6f 75 6e 64 22 20 22 7a 6f 6f 6d 22 20 22 6d 6f 64 65 22 20 22 61 6c 69 67 6e 22 0a 20 20 20 round"."zoom"."mode"."align"....
4880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
48a0 20 22 6d 61 70 61 72 65 61 22 20 22 6d 65 74 61 64 61 74 61 22 20 22 78 6d 70 22 20 22 62 6f 6f ."maparea"."metadata"."xmp"."boo
48c0 6b 6d 61 72 6b 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 kmarks")........................
48e0 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 22 5c 5c 3e 22 29 0a 20 ...........t)..........."\\>")..
4900 20 22 52 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 ."Regexp.matching.the.beginning.
4920 6f 66 20 61 20 44 6a 76 75 20 6f 62 6a 65 63 74 2e 20 20 53 65 65 20 64 6a 76 75 73 65 64 28 31 of.a.Djvu.object...See.djvused(1
4940 29 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 6c 61 73 74 2d 73 65 61 72 63 68 2d 72 ).")..(defvar.djvu-last-search-r
4960 65 20 6e 69 6c 0a 20 20 22 4c 61 73 74 20 72 65 67 65 78 70 20 75 73 65 64 20 62 79 20 60 64 6a e.nil..."Last.regexp.used.by.`dj
4980 76 75 2d 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 27 2e 22 29 0a 0a 28 64 65 66 76 61 vu-re-search-forward'.")..(defva
49a0 72 20 64 6a 76 75 2d 6d 6f 64 69 66 69 65 64 20 6e 69 6c 0a 20 20 22 4c 65 74 2d 62 6f 75 6e 64 r.djvu-modified.nil..."Let-bound
49c0 20 69 6e 20 60 64 6a 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 2d 74 72 61 63 6b 2d 61 72 65 61 27 .in.`djvu-mouse-drag-track-area'
49e0 2e 22 29 0a 0a 3b 3b 20 53 65 65 20 60 65 64 69 66 66 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 27 .")..;;.See.`ediff-defvar-local'
4a00 0a 28 64 65 66 6d 61 63 72 6f 20 64 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 28 76 61 .(defmacro.djvu-defvar-local.(va
4a20 72 20 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 20 64 6f 63 29 0a 20 20 22 44 65 66 69 6e 65 20 56 r.&optional.val.doc)..."Define.V
4a40 41 52 20 61 73 20 61 20 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 AR.as.a.permanent-local.variable
4a60 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 56 41 52 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 ,.and.return.VAR."...(declare.(d
4a80 6f 63 2d 73 74 72 69 6e 67 20 33 29 29 0a 20 20 60 28 70 72 6f 67 6e 0a 20 20 20 20 20 28 64 65 oc-string.3))...`(progn......(de
4aa0 66 76 61 72 20 2c 76 61 72 20 2c 76 61 6c 20 2c 64 6f 63 29 0a 20 20 20 20 20 28 6d 61 6b 65 2d fvar.,var.,val.,doc)......(make-
4ac0 76 61 72 69 61 62 6c 65 2d 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 27 2c 76 61 72 29 0a 20 20 20 variable-buffer-local.',var)....
4ae0 20 20 28 70 75 74 20 27 2c 76 61 72 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 ..(put.',var.'permanent-local.t)
4b00 0a 20 20 20 20 20 2c 76 61 72 29 29 0a 0a 28 64 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c ......,var))..(djvu-defvar-local
4b20 20 64 6a 76 75 2d 64 6f 63 20 6e 69 6c 0a 20 20 22 54 68 65 20 5c 22 49 44 5c 22 20 6f 66 20 61 .djvu-doc.nil..."The.\"ID\".of.a
4b40 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 54 68 69 73 20 69 73 20 61 63 74 75 61 6c 6c 79 .Djvu.document..This.is.actually
4b60 20 74 68 65 20 52 65 61 64 20 62 75 66 66 65 72 20 61 63 74 69 6e 67 20 61 73 20 74 68 65 20 6d .the.Read.buffer.acting.as.the.m
4b80 61 73 74 65 72 20 62 75 66 66 65 72 0a 6f 66 20 74 68 65 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e aster.buffer.of.the.Djvu.documen
4ba0 74 2e 20 20 54 68 69 73 20 62 75 66 66 65 72 20 68 6f 6c 64 73 20 61 6c 6c 20 62 75 66 66 65 72 t...This.buffer.holds.all.buffer
4bc0 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 73 0a 6f 66 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72 20 61 -local.values.of.variables.for.a
4be0 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 3b 3b 20 70 65 72 6d 61 6e 65 6e 74 2d .Djvu.document.")..;;.permanent-
4c00 6c 6f 63 61 6c 20 6c 69 6b 65 20 60 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 27 0a 28 64 local.like.`buffer-file-name'.(d
4c20 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 66 69 6c 65 20 6e jvu-defvar-local.djvu-doc-file.n
4c40 69 6c 0a 20 20 22 46 69 6c 65 20 6e 61 6d 65 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 il..."File.name.of.a.Djvu.docume
4c60 6e 74 2e 22 29 0a 0a 28 64 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 nt.")..(djvu-defvar-local.djvu-d
4c80 6f 63 2d 74 65 78 74 2d 62 75 66 20 6e 69 6c 0a 20 20 22 54 65 78 74 20 62 75 66 66 65 72 20 6f oc-text-buf.nil..."Text.buffer.o
4ca0 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 3b 3b 20 22 72 65 61 64 22 20 f.a.Djvu.document.")..;;."read".
4cc0 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 74 65 78 74 2d 6f 6e 6c 79 20 64 69 73 70 6c 61 79 20 refers.to.the.text-only.display.
4ce0 6f 66 20 64 6a 76 75 20 66 69 6c 65 73 20 69 6e 73 69 64 65 20 65 6d 61 63 73 0a 3b 3b 20 22 76 of.djvu.files.inside.emacs.;;."v
4d00 69 65 77 22 20 72 65 66 65 72 73 20 74 6f 20 65 78 74 65 72 6e 61 6c 20 67 72 61 70 68 69 63 61 iew".refers.to.external.graphica
4d20 6c 20 76 69 65 77 65 72 73 20 28 64 65 66 61 75 6c 74 20 64 6a 76 69 65 77 29 0a 0a 28 64 6a 76 l.viewers.(default.djview)..(djv
4d40 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 72 65 61 64 2d 62 75 66 u-defvar-local.djvu-doc-read-buf
4d60 20 6e 69 6c 0a 20 20 22 52 65 61 64 20 62 75 66 66 65 72 20 6f 66 20 61 20 44 6a 76 75 20 64 6f .nil..."Read.buffer.of.a.Djvu.do
4d80 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a cument.")..(djvu-defvar-local.dj
4da0 76 75 2d 64 6f 63 2d 61 6e 6e 6f 74 2d 62 75 66 20 6e 69 6c 0a 20 20 22 41 6e 6e 6f 74 61 74 69 vu-doc-annot-buf.nil..."Annotati
4dc0 6f 6e 20 62 75 66 66 65 72 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a on.buffer.of.a.Djvu.document.").
4de0 0a 28 64 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 73 68 61 .(djvu-defvar-local.djvu-doc-sha
4e00 72 65 64 2d 62 75 66 20 6e 69 6c 0a 20 20 22 53 68 61 72 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e red-buf.nil..."Shared.annotation
4e20 20 62 75 66 66 65 72 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 .buffer.of.a.Djvu.document.")..(
4e40 64 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 62 6f 6f 6b 6d djvu-defvar-local.djvu-doc-bookm
4e60 61 72 6b 73 2d 62 75 66 20 6e 69 6c 0a 20 20 22 42 6f 6f 6b 6d 61 72 6b 73 20 62 75 66 66 65 72 arks-buf.nil..."Bookmarks.buffer
4e80 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 6a 76 75 2d 64 65 .of.a.Djvu.document.")..(djvu-de
4ea0 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 6f 75 74 6c 69 6e 65 2d 62 75 66 20 fvar-local.djvu-doc-outline-buf.
4ec0 6e 69 6c 0a 20 20 22 4f 75 74 6c 69 6e 65 20 62 75 66 66 65 72 20 6f 66 20 61 20 44 6a 76 75 20 nil..."Outline.buffer.of.a.Djvu.
4ee0 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 6a 76 75 2d 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 document.")..(djvu-defvar-local.
4f00 64 6a 76 75 2d 64 6f 63 2d 76 69 65 77 2d 70 72 6f 63 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f djvu-doc-view-proc.nil..."List.o
4f20 66 20 64 6a 76 69 65 77 20 70 72 6f 63 65 73 73 65 73 20 66 6f 72 20 61 20 44 6a 76 75 20 64 6f f.djview.processes.for.a.Djvu.do
4f40 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f cument.")..(defvar-local.djvu-do
4f60 63 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 20 6e 69 6c 0a 20 20 22 52 65 73 6f 6c 76 65 20 55 52 4c c-resolve-url.nil..."Resolve.URL
4f80 73 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 s.of.a.Djvu.document.")..(defvar
4fa0 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 72 65 63 74 2d 6c 69 73 74 20 6e 69 6c 0a 20 20 -local.djvu-doc-rect-list.nil...
4fc0 22 52 65 63 74 20 6c 69 73 74 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 "Rect.list.of.a.Djvu.document.")
4fe0 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 68 69 73 74 6f 72 79 ..(defvar-local.djvu-doc-history
5000 2d 62 61 63 6b 77 61 72 64 20 6e 69 6c 0a 20 20 22 42 61 63 6b 77 61 72 64 20 68 69 73 74 6f 72 -backward.nil..."Backward.histor
5020 79 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 54 68 69 73 20 69 73 20 61 20 y.of.a.Djvu.document..This.is.a.
5040 73 74 61 63 6b 20 6f 66 20 70 61 67 65 73 20 76 69 73 69 74 65 64 20 70 72 65 76 69 6f 75 73 6c stack.of.pages.visited.previousl
5060 79 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 68 69 73 y.")..(defvar-local.djvu-doc-his
5080 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 6e 69 6c 0a 20 20 22 46 6f 72 77 61 72 64 20 68 69 73 74 tory-forward.nil..."Forward.hist
50a0 6f 72 79 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 ory.of.a.Djvu.document.")..(defv
50c0 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 70 61 67 65 20 6e 69 6c 0a 20 20 22 43 75 ar-local.djvu-doc-page.nil..."Cu
50e0 72 72 65 6e 74 20 70 61 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 rrent.page.number.of.a.Djvu.docu
5100 6d 65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d ment.")..(defvar-local.djvu-doc-
5120 70 61 67 65 6d 61 78 20 6e 69 6c 0a 20 20 22 54 6f 74 61 6c 20 6e 75 6d 62 65 72 20 6f 66 20 70 pagemax.nil..."Total.number.of.p
5140 61 67 65 73 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 65 66 ages.of.a.Djvu.document.")..(def
5160 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 70 61 67 65 2d 69 64 20 6e 69 6c 0a 20 var-local.djvu-doc-page-id.nil..
5180 20 22 41 6c 69 73 74 20 6f 66 20 70 61 67 65 20 49 44 73 20 6f 66 20 61 20 44 6a 76 75 20 64 6f ."Alist.of.page.IDs.of.a.Djvu.do
51a0 63 75 6d 65 6e 74 2e 0a 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 61 20 63 6f 6e 73 20 70 cument..Each.element.is.a.cons.p
51c0 61 69 72 20 28 50 41 47 45 2d 4e 55 4d 20 2e 20 46 49 4c 45 2d 49 44 29 2e 22 29 0a 0a 28 64 65 air.(PAGE-NUM...FILE-ID).")..(de
51e0 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 70 61 67 65 73 69 7a 65 20 6e 69 6c fvar-local.djvu-doc-pagesize.nil
5200 0a 20 20 22 53 69 7a 65 20 6f 66 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 6f 66 20 61 20 44 6a ..."Size.of.current.page.of.a.Dj
5220 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a vu.document.")..(defvar-local.dj
5240 76 75 2d 64 6f 63 2d 72 65 61 64 2d 70 6f 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 65 vu-doc-read-pos.nil..."The.curre
5260 6e 74 20 65 64 69 74 69 6e 67 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 52 65 61 64 20 nt.editing.position.in.the.Read.
5280 62 75 66 66 65 72 20 28 69 6d 61 67 65 20 63 6f 6f 72 64 69 6e 61 74 65 73 29 2e 0a 54 68 69 73 buffer.(image.coordinates)..This
52a0 20 69 73 20 65 69 74 68 65 72 20 61 20 6c 69 73 74 20 28 58 20 59 29 20 6f 72 20 61 20 6c 69 73 .is.either.a.list.(X.Y).or.a.lis
52c0 74 20 6f 72 20 76 65 63 74 6f 72 20 28 58 4d 49 4e 20 59 4d 49 4e 20 58 4d 41 58 20 59 4d 41 58 t.or.vector.(XMIN.YMIN.XMAX.YMAX
52e0 29 2e 0a 55 73 65 64 20 69 6e 20 60 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 27 20 77 68 65 )..Used.in.`djvu-image-mode'.whe
5300 6e 20 77 65 20 63 61 6e 6e 6f 74 20 67 6f 20 74 6f 20 74 68 69 73 20 70 6f 73 69 74 69 6f 6e 2e n.we.cannot.go.to.this.position.
5320 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 69 6d 61 67 65 ")..(defvar-local.djvu-doc-image
5340 20 6e 69 6c 0a 20 20 22 49 6d 61 67 65 20 6f 66 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 6f 66 .nil..."Image.of.current.page.of
5360 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 54 68 69 73 20 69 73 20 61 20 6c 69 73 74 .a.Djvu.document..This.is.a.list
5380 20 28 50 41 47 45 2d 4e 55 4d 20 4d 41 47 4e 49 46 49 43 41 54 49 4f 4e 20 49 4d 41 47 45 29 2e .(PAGE-NUM.MAGNIFICATION.IMAGE).
53a0 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 69 6d 61 67 65 ")..(defvar-local.djvu-doc-image
53c0 2d 68 73 63 72 6f 6c 6c 20 30 0a 20 20 22 4e 75 6d 62 65 72 20 6f 66 20 63 6f 6c 75 6d 6e 73 20 -hscroll.0..."Number.of.columns.
53e0 62 79 20 77 68 69 63 68 20 61 20 70 61 67 65 20 69 6d 61 67 65 20 69 73 20 73 63 72 6f 6c 6c 65 by.which.a.page.image.is.scrolle
5400 64 20 66 72 6f 6d 20 6c 65 66 74 20 6d 61 72 67 69 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 2d 6c d.from.left.margin.")..(defvar-l
5420 6f 63 61 6c 20 64 6a 76 75 2d 64 6f 63 2d 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 20 30 0a 20 20 ocal.djvu-doc-image-vscroll.0...
5440 22 41 6d 6f 75 6e 74 20 62 79 20 77 68 69 63 68 20 61 20 70 61 67 65 20 69 6d 61 67 65 20 69 73 "Amount.by.which.a.page.image.is
5460 20 73 63 72 6f 6c 6c 65 64 20 76 65 72 74 69 63 61 6c 6c 79 2e 22 29 0a 0a 3b 3b 3b 20 48 65 6c .scrolled.vertically.")..;;;.Hel
5480 70 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 0a 0a 3b 3b 20 46 6f 72 per.functions.and.macros..;;.For
54a0 20 65 61 63 68 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 77 65 20 68 61 76 65 20 73 69 78 20 .each.Djvu.document.we.have.six.
54c0 62 75 66 66 65 72 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 74 68 69 73 20 64 6f 63 buffers.associated.with.this.doc
54e0 75 6d 65 6e 74 0a 3b 3b 20 28 72 65 61 64 2c 20 74 65 78 74 2c 20 61 6e 6e 6f 74 61 74 69 6f 6e ument.;;.(read,.text,.annotation
5500 73 2c 20 73 68 61 72 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 62 6f 6f 6b 6d 61 72 6b 73 s,.shared.annotations,.bookmarks
5520 20 61 6e 64 20 6f 75 74 6c 69 6e 65 20 62 75 66 66 65 72 73 29 2e 0a 3b 3b 20 54 6f 20 68 61 76 .and.outline.buffers)..;;.To.hav
5540 65 20 64 6f 63 75 6d 65 6e 74 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 60 64 6a 76 e.document-local.variables,.`djv
5560 75 2d 64 6f 63 27 20 64 65 66 69 6e 65 73 20 61 20 6d 61 73 74 65 72 20 62 75 66 66 65 72 0a 3b u-doc'.defines.a.master.buffer.;
5580 3b 20 74 68 61 74 20 73 68 61 72 65 73 20 74 68 65 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 ;.that.shares.the.buffer-local.v
55a0 61 6c 75 65 73 20 6f 66 20 69 74 73 20 76 61 72 69 61 62 6c 65 73 20 77 69 74 68 20 74 68 65 20 alues.of.its.variables.with.the.
55c0 6f 74 68 65 72 20 62 75 66 66 65 72 73 0a 3b 3b 20 76 69 61 20 74 68 65 20 6d 61 63 72 6f 73 20 other.buffers.;;.via.the.macros.
55e0 60 64 6a 76 75 2d 73 65 74 27 20 61 6e 64 20 60 64 6a 76 75 2d 72 65 66 27 2e 20 20 57 65 20 6d `djvu-set'.and.`djvu-ref'...We.m
5600 61 6b 65 20 74 68 65 20 72 65 61 64 20 62 75 66 66 65 72 20 74 68 65 0a 3b 3b 20 6d 61 73 74 65 ake.the.read.buffer.the.;;.maste
5620 72 20 62 75 66 66 65 72 2e 20 20 54 68 69 73 20 63 68 6f 69 63 65 20 69 73 20 72 61 74 68 65 72 r.buffer...This.choice.is.rather
5640 20 61 72 62 69 74 72 61 72 79 2e 20 20 54 68 65 20 6d 61 69 6e 20 72 65 61 73 6f 6e 20 66 6f 72 .arbitrary...The.main.reason.for
5660 0a 3b 3b 20 74 68 69 73 20 63 68 6f 69 63 65 20 69 73 20 74 68 61 74 20 74 68 65 20 72 65 61 64 .;;.this.choice.is.that.the.read
5680 20 62 75 66 66 65 72 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 6d 61 69 6e 20 62 75 66 66 .buffer.is.usually.the.main.buff
56a0 65 72 20 74 6f 20 77 6f 72 6b 0a 3b 3b 20 77 69 74 68 2e 20 20 53 6f 20 69 74 20 62 65 63 6f 6d er.to.work.;;.with...So.it.becom
56c0 65 73 20 65 61 73 69 65 72 20 74 6f 20 69 6e 73 70 65 63 74 20 74 68 65 20 64 6f 63 75 6d 65 6e es.easier.to.inspect.the.documen
56e0 74 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 6a t-local.variables...(defmacro.dj
5700 76 75 2d 73 65 74 20 28 76 61 72 20 76 61 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 vu-set.(var.val.&optional.doc)..
5720 20 22 53 65 74 20 56 41 52 27 73 20 76 61 6c 75 65 20 74 6f 20 56 41 4c 20 69 6e 20 44 6a 76 75 ."Set.VAR's.value.to.VAL.in.Djvu
5740 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2c 20 61 6e 64 20 72 65 74 75 72 6e 20 56 41 4c 2e 0a 44 .document.DOC,.and.return.VAL..D
5760 4f 43 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 6a 76 75 2d 64 6f 63 27 2e 22 0a 20 20 3b 3b OC.defaults.to.`djvu-doc'."...;;
5780 20 60 69 6e 74 65 72 6e 27 20 56 41 52 20 6f 6e 6c 79 20 6f 6e 63 65 20 75 70 6f 6e 20 63 6f 6d .`intern'.VAR.only.once.upon.com
57a0 70 69 6c 61 74 69 6f 6e 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 69 6e 74 65 72 6e 20 28 66 pilation...(let.((var.(intern.(f
57c0 6f 72 6d 61 74 20 22 64 6a 76 75 2d 64 6f 63 2d 25 73 22 20 76 61 72 29 29 29 0a 20 20 20 20 20 ormat."djvu-doc-%s".var)))......
57e0 20 20 20 28 74 6d 70 76 61 6c 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 74 6d 70 76 61 6c 22 ...(tmpval.(make-symbol."tmpval"
5800 29 29 29 0a 20 20 20 20 3b 3b 20 54 68 65 72 65 20 69 73 20 6e 6f 20 65 71 75 69 76 61 6c 65 6e ))).....;;.There.is.no.equivalen
5820 74 20 6f 66 20 60 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 27 20 66 6f 72 20 73 65 t.of.`buffer-local-value'.for.se
5840 74 74 69 6e 67 20 56 41 52 2e 0a 20 20 20 20 3b 3b 20 54 68 65 72 65 66 6f 72 65 2c 20 77 65 20 tting.VAR......;;.Therefore,.we.
5860 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 62 75 66 66 65 72 20 44 4f 43 20 63 75 72 72 65 6e 74 20 need.to.make.buffer.DOC.current.
5880 62 65 66 6f 72 65 20 77 65 20 63 61 6e 20 73 65 74 20 56 41 52 2e 0a 20 20 20 20 3b 3b 20 42 75 before.we.can.set.VAR......;;.Bu
58a0 74 20 77 65 20 65 76 61 6c 75 61 74 65 20 56 41 4c 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 t.we.evaluate.VAL.in.the.current
58c0 20 62 75 66 66 65 72 20 62 65 66 6f 72 65 20 6d 61 6b 69 6e 67 20 44 4f 43 20 63 75 72 72 65 6e .buffer.before.making.DOC.curren
58e0 74 2e 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 74 6d 70 76 61 6c 20 2c 76 61 6c 29 29 0a 20 20 t......`(let.((,tmpval.,val))...
5900 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 6f 72 20 2c 64 .....(with-current-buffer.(or.,d
5920 6f 63 20 64 6a 76 75 2d 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 20 27 2c 76 61 72 oc.djvu-doc)..........(set.',var
5940 20 2c 74 6d 70 76 61 6c 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 6a 76 75 2d 72 65 .,tmpval)))))..(defmacro.djvu-re
5960 66 20 28 76 61 72 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 52 65 74 75 72 6e 20 f.(var.&optional.doc)..."Return.
5980 56 41 52 27 73 20 76 61 6c 75 65 20 69 6e 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 VAR's.value.in.Djvu.document.DOC
59a0 2e 0a 44 4f 43 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 6a 76 75 2d 64 6f 63 27 2e 22 0a 20 ..DOC.defaults.to.`djvu-doc'."..
59c0 20 3b 3b 20 60 69 6e 74 65 72 6e 27 20 56 41 52 20 6f 6e 6c 79 20 6f 6e 63 65 20 75 70 6f 6e 20 .;;.`intern'.VAR.only.once.upon.
59e0 63 6f 6d 70 69 6c 61 74 69 6f 6e 0a 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 69 6e 74 65 72 6e compilation...(let.((var.(intern
5a00 20 28 66 6f 72 6d 61 74 20 22 64 6a 76 75 2d 64 6f 63 2d 25 73 22 20 76 61 72 29 29 29 29 0a 20 .(format."djvu-doc-%s".var))))..
5a20 20 20 60 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 27 2c 76 61 72 20 28 6f 72 ..`(buffer-local-value.',var.(or
5a40 20 2c 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d .,doc.djvu-doc))))..(defun.djvu-
5a60 68 65 61 64 65 72 2d 6c 69 6e 65 20 28 69 64 65 6e 74 69 66 69 65 72 29 0a 20 20 28 6c 69 73 74 header-line.(identifier)...(list
5a80 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 20 22 20 27 64 69 73 70 6c 61 79 20 27 28 73 70 61 63 .(propertize.".".'display.'(spac
5aa0 65 20 3a 61 6c 69 67 6e 2d 74 6f 20 30 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 e.:align-to.0)).........;;.Emacs
5ac0 20 3e 3d 20 32 36 3a 20 63 6f 6d 70 61 72 65 20 60 70 72 6f 63 65 64 2d 68 65 61 64 65 72 2d 6c .>=.26:.compare.`proced-header-l
5ae0 69 6e 65 27 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 2d 2d 20 25 73 20 28 ine'.........(format."%s.--.%s.(
5b00 70 25 64 29 22 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 p%d)".(buffer-name.(djvu-ref.rea
5b20 64 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 64 65 6e 74 69 66 69 d-buf)).................identifi
5b40 65 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 er.(djvu-ref.page))))..(defsubst
5b60 20 64 6a 76 75 2d 73 75 62 73 74 72 69 6e 67 2d 6e 75 6d 62 65 72 20 28 73 74 72 69 6e 67 20 26 .djvu-substring-number.(string.&
5b80 6f 70 74 69 6f 6e 61 6c 20 66 72 6f 6d 20 74 6f 20 62 61 73 65 29 0a 20 20 22 50 61 72 73 65 20 optional.from.to.base)..."Parse.
5ba0 73 75 62 73 74 72 69 6e 67 20 6f 66 20 53 54 52 49 4e 47 20 61 73 20 61 20 64 65 63 69 6d 61 6c substring.of.STRING.as.a.decimal
5bc0 20 6e 75 6d 62 65 72 20 61 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 2e 0a 49 .number.and.return.the.number..I
5be0 66 20 42 41 53 45 2c 20 69 6e 74 65 72 70 72 65 74 20 53 54 52 49 4e 47 20 61 73 20 61 20 6e 75 f.BASE,.interpret.STRING.as.a.nu
5c00 6d 62 65 72 20 69 6e 20 74 68 61 74 20 62 61 73 65 2e 22 0a 20 20 28 73 74 72 69 6e 67 2d 74 6f mber.in.that.base."...(string-to
5c20 2d 6e 75 6d 62 65 72 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 -number.(substring-no-properties
5c40 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 74 6f 29 20 62 61 73 65 29 29 0a 0a 28 64 65 66 73 75 62 .string.from.to).base))..(defsub
5c60 73 74 20 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 28 6e 75 6d 20 26 6f 70 74 69 6f st.djvu-match-number.(num.&optio
5c80 6e 61 6c 20 73 74 72 69 6e 67 20 62 61 73 65 29 0a 20 20 22 52 65 74 75 72 6e 20 73 74 72 69 6e nal.string.base)..."Return.strin
5ca0 67 20 6f 66 20 74 65 78 74 20 6d 61 74 63 68 65 64 20 62 79 20 6c 61 73 74 20 73 65 61 72 63 68 g.of.text.matched.by.last.search
5cc0 2c 20 61 73 20 61 20 6e 75 6d 62 65 72 2e 0a 49 66 20 42 41 53 45 2c 20 69 6e 74 65 72 70 72 65 ,.as.a.number..If.BASE,.interpre
5ce0 74 20 6d 61 74 63 68 20 61 73 20 61 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 61 74 20 62 61 73 65 t.match.as.a.number.in.that.base
5d00 2e 22 0a 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 ."...(string-to-number.(match-st
5d20 72 69 6e 67 20 6e 75 6d 20 73 74 72 69 6e 67 29 20 62 61 73 65 29 29 0a 0a 28 64 65 66 73 75 62 ring.num.string).base))..(defsub
5d40 73 74 20 64 6a 76 75 2d 62 75 66 66 65 72 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a st.djvu-buffers.(&optional.doc).
5d60 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 62 75 66 66 65 72 73 20 .."Return.a.list.of.all.buffers.
5d80 66 6f 72 20 44 4f 43 2e 22 0a 20 20 28 6c 69 73 74 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 for.DOC."...(list.(djvu-ref.read
5da0 2d 62 75 66 20 64 6f 63 29 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 20 64 6f 63 -buf.doc).(djvu-ref.text-buf.doc
5dc0 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 64 6f ).........(djvu-ref.annot-buf.do
5de0 63 29 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 72 65 64 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 c).(djvu-ref.shared-buf.doc)....
5e00 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f 6b 6d 61 72 6b 73 2d 62 75 66 20 64 6f 63 .....(djvu-ref.bookmarks-buf.doc
5e20 29 20 28 64 6a 76 75 2d 72 65 66 20 6f 75 74 6c 69 6e 65 2d 62 75 66 20 64 6f 63 29 29 29 0a 0a ).(djvu-ref.outline-buf.doc)))..
5e40 28 64 65 66 6d 61 63 72 6f 20 64 6a 76 75 2d 61 6c 6c 2d 62 75 66 66 65 72 73 20 28 64 6f 63 20 (defmacro.djvu-all-buffers.(doc.
5e60 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 69 6e 20 &rest.body)..."Evaluate.BODY.in.
5e80 61 6c 6c 20 62 75 66 66 65 72 73 20 6f 66 20 44 6a 76 75 20 44 4f 43 2e 22 0a 20 20 28 64 65 63 all.buffers.of.Djvu.DOC."...(dec
5ea0 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 64 6f 6c 69 73 74 20 28 62 75 66 lare.(indent.1))...`(dolist.(buf
5ec0 20 28 64 6a 76 75 2d 62 75 66 66 65 72 73 20 2c 64 6f 63 29 29 0a 20 20 20 20 20 28 77 69 74 68 .(djvu-buffers.,doc))......(with
5ee0 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 20 2c 40 62 6f 64 -current-buffer.buf........,@bod
5f00 79 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 6a 76 75 2d 77 69 74 68 2d 74 65 6d 70 2d 66 y)))..(defmacro.djvu-with-temp-f
5f20 69 6c 65 20 28 66 69 6c 65 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 45 76 61 6c 75 61 74 ile.(file.&rest.body)..."Evaluat
5f40 65 20 42 4f 44 59 20 77 69 74 68 20 74 65 6d 70 20 66 69 6c 65 20 46 49 4c 45 20 64 65 6c 65 74 e.BODY.with.temp.file.FILE.delet
5f60 65 64 20 61 74 20 74 68 65 20 65 6e 64 2e 0a 50 72 65 73 65 72 76 65 20 46 49 4c 45 20 69 66 20 ed.at.the.end..Preserve.FILE.if.
5f80 60 64 6a 76 75 2d 74 65 73 74 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 64 65 63 6c `djvu-test'.is.non-nil."...(decl
5fa0 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 28 73 79 6d 62 6f 6c 70 20 62 are.(indent.1).(debug.(symbolp.b
5fc0 6f 64 79 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 2c 66 69 6c 65 20 28 6d 61 6b 65 2d 74 65 6d ody)))...`(let.((,file.(make-tem
5fe0 70 2d 66 69 6c 65 20 22 64 6a 76 75 2d 22 29 29 29 0a 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 p-file."djvu-")))......(unwind-p
6000 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 0a 20 rotect..........(progn.,@body)..
6020 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 64 6a 76 75 2d 74 65 73 74 20 28 64 65 6c 65 74 65 2d ......(unless.djvu-test.(delete-
6040 66 69 6c 65 20 2c 66 69 6c 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 77 69 file.,file)))))..(defun.djvu-swi
6060 74 63 68 2d 72 65 61 64 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 64 70 6f 73 29 0a 20 20 tch-read.(&optional.doc.dpos)...
6080 22 53 77 69 74 63 68 20 74 6f 20 44 6a 76 75 20 52 65 61 64 20 62 75 66 66 65 72 2e 22 0a 20 20 "Switch.to.Djvu.Read.buffer."...
60a0 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 28 64 6a 76 75 2d 64 70 6f (interactive.(list.nil.(djvu-dpo
60c0 73 29 29 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 s)))...(switch-to-buffer.(djvu-r
60e0 65 66 20 72 65 61 64 2d 62 75 66 20 64 6f 63 29 29 0a 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 72 ef.read-buf.doc))...(djvu-goto-r
6100 65 61 64 20 64 70 6f 73 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 74 ead.dpos))..(defun.djvu-switch-t
6120 65 78 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 64 70 6f 73 29 0a 20 20 22 53 77 69 74 ext.(&optional.doc.dpos)..."Swit
6140 63 68 20 74 6f 20 44 6a 76 75 20 54 65 78 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 ch.to.Djvu.Text.buffer."...(inte
6160 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 28 64 6a 76 75 2d 64 70 6f 73 29 29 29 0a ractive.(list.nil.(djvu-dpos))).
6180 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 ..(switch-to-buffer.(djvu-ref.te
61a0 78 74 2d 62 75 66 20 64 6f 63 29 29 0a 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 xt-buf.doc))...(djvu-goto-dpos.'
61c0 77 6f 72 64 20 64 70 6f 73 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 77 69 74 63 68 2d word.dpos))..(defun.djvu-switch-
61e0 61 6e 6e 6f 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 64 70 6f 73 29 0a 20 20 22 53 77 annot.(&optional.doc.dpos)..."Sw
6200 69 74 63 68 20 74 6f 20 44 6a 76 75 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 65 72 2e itch.to.Djvu.Annotations.buffer.
6220 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 28 64 6a 76 75 "...(interactive.(list.nil.(djvu
6240 2d 64 70 6f 73 29 29 29 0a 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 64 6a -dpos)))...(switch-to-buffer.(dj
6260 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 64 6f 63 29 29 0a 20 20 28 69 66 20 28 64 6a vu-ref.annot-buf.doc))...(if.(dj
6280 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 22 5c 5c 28 3f 3a 72 65 63 74 5c 5c 7c 74 65 78 74 5c 5c vu-goto-dpos."\\(?:rect\\|text\\
62a0 29 22 20 64 70 6f 73 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 77 65 20 68 61 76 65 20 6d 61 74 )".dpos).......;;.If.we.have.mat
62c0 63 68 69 6e 67 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 61 6e 6e ching.buffer.position.in.the.ann
62e0 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 65 72 2c 0a 20 20 20 20 20 20 3b 3b 20 70 75 74 20 70 6f otations.buffer,.......;;.put.po
6300 69 6e 74 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 61 6e 6e 6f 74 61 74 69 6f 6e int.at.the.end.of.the.annotation
6320 73 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 s.string........(re-search-backw
6340 61 72 64 20 22 5c 22 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 77 69 74 63 68 2d ard."\"")))..(defun.djvu-switch-
6360 73 68 61 72 65 64 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 53 77 69 74 63 68 shared.(&optional.doc)..."Switch
6380 20 74 6f 20 44 6a 76 75 20 53 68 61 72 65 64 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 .to.Djvu.Shared.Annotations.buff
63a0 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 73 77 69 74 63 68 2d 74 er."...(interactive)...(switch-t
63c0 6f 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 72 65 64 2d 62 75 66 20 64 6f o-buffer.(djvu-ref.shared-buf.do
63e0 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 62 6f 6f 6b 6d 61 72 c)))..(defun.djvu-switch-bookmar
6400 6b 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 70 61 67 65 29 0a 20 20 22 53 77 69 74 63 ks.(&optional.doc.page)..."Switc
6420 68 20 74 6f 20 44 6a 76 75 20 42 6f 6f 6b 6d 61 72 6b 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 h.to.Djvu.Bookmarks.buffer."...(
6440 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 28 69 66 20 28 65 71 20 64 6a interactive.(list.nil.(if.(eq.dj
6460 76 75 2d 62 75 66 66 65 72 20 27 6f 75 74 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 vu-buffer.'outline).............
6480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6f 75 74 6c 69 6e 65 2d 70 .................(djvu-outline-p
64a0 61 67 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 age)............................
64c0 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 29 29 29 0a 20 20 3b 3b 20 54 72 79 20 74 6f 20 67 (djvu-ref.page))))...;;.Try.to.g
64e0 6f 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 69 6e 20 74 68 65 20 62 6f 6f o.to.the.current.page.in.the.boo
6500 6b 6d 61 72 6b 73 20 62 75 66 66 65 72 2e 0a 20 20 3b 3b 20 49 66 20 74 68 69 73 20 70 61 67 65 kmarks.buffer....;;.If.this.page
6520 20 69 73 20 6e 6f 74 20 64 65 66 69 6e 65 64 2c 20 74 72 79 20 74 6f 20 67 6f 20 74 6f 20 74 68 .is.not.defined,.try.to.go.to.th
6540 65 20 6e 65 61 72 65 73 74 20 70 72 65 63 65 64 69 6e 67 20 70 61 67 65 2e 0a 20 20 28 73 77 69 e.nearest.preceding.page....(swi
6560 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f 6b 6d 61 72 6b tch-to-buffer.(djvu-ref.bookmark
6580 73 2d 62 75 66 20 64 6f 63 29 29 0a 20 20 28 77 68 65 6e 20 70 61 67 65 0a 20 20 20 20 28 67 6f s-buf.doc))...(when.page.....(go
65a0 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 69 66 20 28 6c 6f to-char.(point-min)).....(if.(lo
65c0 6f 6b 69 6e 67 2d 61 74 20 22 28 62 6f 6f 6b 6d 61 72 6b 73 22 29 0a 20 20 20 20 20 20 20 20 28 oking-at."(bookmarks").........(
65e0 77 68 69 6c 65 20 28 61 6e 64 20 28 3c 20 30 20 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 while.(and.(<.0.page)...........
6600 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 ..........(not.(re-search-forwar
6620 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 d...........................(for
6640 6d 61 74 20 22 5c 22 23 5c 5c 28 25 64 5c 5c 7c 25 73 5c 5c 29 5c 22 22 20 70 61 67 65 0a 20 20 mat."\"#\\(%d\\|%s\\)\"".page...
6660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6680 28 63 64 72 20 28 61 73 73 71 20 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 (cdr.(assq.page.(djvu-ref.page-i
66a0 64 20 64 6f 63 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.doc)))).......................
66c0 20 20 20 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 67 ....nil.t)))...........(setq.pag
66e0 65 20 28 31 2d 20 70 61 67 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 77 e.(1-.page))))))..(defun.djvu-sw
6700 69 74 63 68 2d 6f 75 74 6c 69 6e 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 70 61 67 65 itch-outline.(&optional.doc.page
6720 29 0a 20 20 22 53 77 69 74 63 68 20 74 6f 20 44 6a 76 75 20 4f 75 74 6c 69 6e 65 20 62 75 66 66 )..."Switch.to.Djvu.Outline.buff
6740 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 28 69 er."...(interactive.(list.nil.(i
6760 66 20 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 62 6f 6f 6b 6d 61 72 6b 73 29 0a 20 20 f.(eq.djvu-buffer.'bookmarks)...
6780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 ...........................(djvu
67a0 2d 62 6f 6f 6b 6d 61 72 6b 73 2d 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -bookmarks-page)................
67c0 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 29 29 29 0a 20 ............(djvu-ref.page))))..
67e0 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 6f 75 74 .(switch-to-buffer.(djvu-ref.out
6800 6c 69 6e 65 2d 62 75 66 20 64 6f 63 29 29 0a 20 20 28 69 66 20 70 61 67 65 20 28 64 6a 76 75 2d line-buf.doc))...(if.page.(djvu-
6820 67 6f 74 6f 2d 6f 75 74 6c 69 6e 65 20 70 61 67 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 goto-outline.page)))..(defun.djv
6840 75 2d 64 70 6f 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 44 6a 76 75 20 70 u-dpos.(&optional.doc)..."Djvu.p
6860 6f 73 69 74 69 6f 6e 20 69 6e 20 63 75 72 72 65 6e 74 20 44 6a 76 75 20 62 75 66 66 65 72 2e 22 osition.in.current.Djvu.buffer."
6880 0a 20 20 28 63 6f 6e 64 20 28 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 72 65 61 64 29 ...(cond.((eq.djvu-buffer.'read)
68a0 0a 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 61 64 2d 64 70 6f 73 20 6e 69 6c 20 64 6f ..........(djvu-read-dpos.nil.do
68c0 63 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 74 65 c)).........((eq.djvu-buffer.'te
68e0 78 74 29 0a 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 74 65 78 74 2d 64 70 6f 73 20 6e 69 6c xt)..........(djvu-text-dpos.nil
6900 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 .doc)).........((eq.djvu-buffer.
6920 27 61 6e 6e 6f 74 29 0a 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 61 6e 6e 6f 74 2d 64 70 6f 'annot)..........(djvu-annot-dpo
6940 73 20 6e 69 6c 20 64 6f 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 61 64 2d s.nil.doc))))..(defun.djvu-read-
6960 70 61 67 65 20 28 29 0a 20 20 22 52 65 61 64 20 70 61 67 65 20 6e 75 6d 62 65 72 20 69 6e 74 65 page.()..."Read.page.number.inte
6980 72 61 63 74 69 76 65 6c 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 72 65 61 64 2d 73 ractively."...(let.((str.(read-s
69a0 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 50 61 67 65 20 28 66 2c 20 31 2d 25 64 2c 20 6c 29 tring.(format."Page.(f,.1-%d,.l)
69c0 3a 20 22 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 29 29 29 29 29 0a 20 20 20 20 28 :.".(djvu-ref.pagemax))))).....(
69e0 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 66 22 20 73 74 72 29 20 cond.((string-match."\\`f".str).
6a00 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 1)...........((string-match."\\`
6a20 6c 22 20 73 74 72 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 29 29 0a 20 20 20 20 l".str).(djvu-ref.pagemax)).....
6a40 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5b 5b 3a 64 69 67 69 ......((string-match."\\`[[:digi
6a60 74 3a 5d 5d 2b 5c 5c 27 22 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e t:]]+\\'".str)............(strin
6a80 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 73 74 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 g-to-number.str))...........(t.(
6aa0 75 73 65 72 2d 65 72 72 6f 72 20 22 50 61 67 65 20 60 25 73 27 20 69 6e 76 61 6c 69 64 22 20 73 user-error."Page.`%s'.invalid".s
6ac0 74 72 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 20 28 tr)))))..(defun.djvu-next-page.(
6ae0 6e 29 0a 20 20 22 47 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 70 61 67 65 20 6f 66 20 74 68 69 n)..."Go.to.the.next.page.of.thi
6b00 73 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 s.Djvu.document."...(interactive
6b20 20 22 70 22 29 0a 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 20 28 2b 20 28 64 6a 76 75 ."p")...(djvu-goto-page.(+.(djvu
6b40 2d 72 65 66 20 70 61 67 65 29 20 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 70 72 65 -ref.page).n)))..(defun.djvu-pre
6b60 76 2d 70 61 67 65 20 28 6e 29 0a 20 20 22 47 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 v-page.(n)..."Go.to.the.previous
6b80 20 70 61 67 65 20 6f 66 20 74 68 69 73 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 20 .page.of.this.Djvu.document."...
6ba0 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 70 (interactive."p")...(djvu-goto-p
6bc0 61 67 65 20 28 2d 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 20 6e 29 29 29 0a 0a 28 64 65 age.(-.(djvu-ref.page).n)))..(de
6be0 66 75 6e 20 64 6a 76 75 2d 73 63 72 6f 6c 6c 2d 75 70 2d 63 6f 6d 6d 61 6e 64 20 28 26 6f 70 74 fun.djvu-scroll-up-command.(&opt
6c00 69 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 53 63 72 6f 6c 6c 20 74 65 78 74 20 75 70 77 61 72 64 ional.arg)..."Scroll.text.upward
6c20 20 41 52 47 20 6c 69 6e 65 73 3b 20 6f 72 20 6e 65 61 72 20 66 75 6c 6c 20 73 63 72 65 65 6e 20 .ARG.lines;.or.near.full.screen.
6c40 69 66 20 6e 6f 20 41 52 47 2e 0a 41 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 if.no.ARG..At.the.bottom.of.the.
6c60 70 61 67 65 2c 20 77 68 65 6e 20 60 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 27 20 69 73 20 page,.when.`djvu-continuous'.is.
6c80 6e 6f 6e 2d 6e 69 6c 0a 67 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 70 61 67 65 2e 0a 50 72 65 non-nil.go.to.the.next.page..Pre
6ca0 66 69 78 20 41 52 47 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 73 fix.ARG.may.take.the.same.values
6cc0 20 61 73 20 61 72 67 20 41 52 47 20 6f 66 20 60 73 63 72 6f 6c 6c 2d 75 70 2d 63 6f 6d 6d 61 6e .as.arg.ARG.of.`scroll-up-comman
6ce0 64 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 5e 50 22 29 20 3b 20 73 61 6d 65 d'."...(interactive."^P").;.same
6d00 20 61 73 20 60 73 63 72 6f 6c 6c 2d 75 70 2d 63 6f 6d 6d 61 6e 64 27 0a 20 20 28 69 66 20 28 61 .as.`scroll-up-command'...(if.(a
6d20 6e 64 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d nd.djvu-continuous............(=
6d40 20 28 77 69 6e 64 6f 77 2d 65 6e 64 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 .(window-end).(point-max))......
6d60 20 20 20 20 20 20 28 3c 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 20 28 64 6a 76 75 2d 72 ......(<.(djvu-ref.page).(djvu-r
6d80 65 66 20 70 61 67 65 6d 61 78 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 6e 65 78 74 2d 70 ef.pagemax))).......(djvu-next-p
6da0 61 67 65 20 31 29 0a 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 20 age.1).....(condition-case.nil..
6dc0 20 20 20 20 20 20 20 20 3b 20 47 72 72 72 2c 20 77 65 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65 ........;.Grrr,.we.should.not.ne
6de0 65 64 20 74 68 69 73 2c 20 62 75 74 0a 20 20 20 20 20 20 20 20 28 73 63 72 6f 6c 6c 2d 75 70 2d ed.this,.but.........(scroll-up-
6e00 63 6f 6d 6d 61 6e 64 20 61 72 67 29 0a 20 20 20 20 20 20 28 65 6e 64 2d 6f 66 2d 62 75 66 66 65 command.arg).......(end-of-buffe
6e20 72 20 6e 69 6c 29 29 29 29 20 20 20 20 20 3b 20 60 6d 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 27 20 r.nil)))).....;.`mwheel-scroll'.
6e40 64 6f 65 73 20 6e 6f 74 20 6c 69 6b 65 20 74 68 69 73 2e 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 does.not.like.this...(defun.djvu
6e60 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 20 28 26 6f 70 74 69 6f 6e 61 6c 20 -scroll-down-command.(&optional.
6e80 61 72 67 29 0a 20 20 22 53 63 72 6f 6c 6c 20 74 65 78 74 20 64 6f 77 6e 77 61 72 64 20 41 52 47 arg)..."Scroll.text.downward.ARG
6ea0 20 6c 69 6e 65 73 3b 20 6f 72 20 6e 65 61 72 20 66 75 6c 6c 20 73 63 72 65 65 6e 20 69 66 20 6e .lines;.or.near.full.screen.if.n
6ec0 6f 20 41 52 47 2e 0a 41 74 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 70 61 67 65 2c 20 77 o.ARG..At.the.top.of.the.page,.w
6ee0 68 65 6e 20 60 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c hen.`djvu-continuous'.is.non-nil
6f00 0a 67 6f 20 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 61 67 65 2e 0a 50 72 65 66 69 78 .go.to.the.previous.page..Prefix
6f20 20 41 52 47 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 73 20 61 73 .ARG.may.take.the.same.values.as
6f40 20 61 72 67 20 41 52 47 20 6f 66 20 60 73 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 .arg.ARG.of.`scroll-down-command
6f60 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 5e 50 22 29 20 3b 20 73 61 6d 65 20 '."...(interactive."^P").;.same.
6f80 61 73 20 60 73 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 27 0a 20 20 28 69 66 20 28 as.`scroll-down-command'...(if.(
6fa0 61 6e 64 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 and.djvu-continuous............(
6fc0 3d 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 77 69 6e 64 6f 77 2d 73 74 61 72 74 29 29 0a 20 20 =.(point-min).(window-start))...
6fe0 20 20 20 20 20 20 20 20 20 28 3c 20 31 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 29 29 0a .........(<.1.(djvu-ref.page))).
7000 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 70 72 65 76 2d ......(progn.........(djvu-prev-
7020 70 61 67 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e page.1).........(goto-char.(poin
7040 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 t-max)).........(beginning-of-li
7060 6e 65 29 0a 20 20 20 20 20 20 20 20 28 72 65 63 65 6e 74 65 72 20 2d 33 29 29 0a 20 20 20 20 28 ne).........(recenter.-3)).....(
7080 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 condition-case.nil............;.
70a0 47 72 72 72 2c 20 77 65 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6e 65 65 64 20 74 68 69 73 2c 20 62 Grrr,.we.should.not.need.this,.b
70c0 75 74 0a 20 20 20 20 20 20 20 20 28 73 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 20 ut.........(scroll-down-command.
70e0 61 72 67 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 75 66 66 65 72 20 arg).......(beginning-of-buffer.
7100 6e 69 6c 29 29 29 29 20 3b 20 60 6d 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 27 20 64 6f 65 73 20 6e nil)))).;.`mwheel-scroll'.does.n
7120 6f 74 20 6c 69 6b 65 20 74 68 69 73 2e 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6e 65 78 74 2d ot.like.this...(defun.djvu-next-
7140 6c 69 6e 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 5f 61 72 67 20 5f 74 72 79 2d 76 73 63 72 6f 6c line.(&optional._arg._try-vscrol
7160 6c 29 0a 20 20 22 4d 6f 76 65 20 63 75 72 73 6f 72 20 76 65 72 74 69 63 61 6c 6c 79 20 64 6f 77 l)..."Move.cursor.vertically.dow
7180 6e 20 41 52 47 20 6c 69 6e 65 73 2e 0a 41 52 47 20 61 6e 64 20 54 52 59 2d 56 53 43 52 4f 4c 4c n.ARG.lines..ARG.and.TRY-VSCROLL
71a0 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 6d 65 61 6e 69 6e 67 20 61 73 20 66 6f 72 20 60 6e .have.the.same.meaning.as.for.`n
71c0 65 78 74 2d 6c 69 6e 65 27 2e 0a 41 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 ext-line'..At.the.bottom.of.the.
71e0 70 61 67 65 2c 20 77 68 65 6e 20 60 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 27 20 69 73 20 page,.when.`djvu-continuous'.is.
7200 6e 6f 6e 2d 6e 69 6c 2c 0a 67 6f 20 74 6f 20 74 68 65 20 6e 65 78 74 20 70 61 67 65 2e 22 0a 20 non-nil,.go.to.the.next.page."..
7220 20 3b 3b 20 54 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 73 70 65 63 20 67 69 76 65 73 20 62 .;;.The.interactive.spec.gives.b
7240 6f 74 68 20 61 72 67 73 20 74 68 65 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 0a 20 20 3b 3b 20 oth.args.the.numeric.value...;;.
7260 6f 66 20 60 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 27 2e 0a 20 20 28 69 6e 74 65 of.`current-prefix-arg'....(inte
7280 72 61 63 74 69 76 65 20 22 5e 70 5c 6e 70 22 29 20 3b 20 73 61 6d 65 20 61 73 20 60 6e 65 78 74 ractive."^p\np").;.same.as.`next
72a0 2d 6c 69 6e 65 27 0a 20 20 28 69 66 20 28 61 6e 64 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 -line'...(if.(and.djvu-continuou
72c0 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 s............(=.(line-end-positi
72e0 6f 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 on).(point-max))............(<.(
7300 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 djvu-ref.page).(djvu-ref.pagemax
7320 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 20 31 29 0a 20 20 20 ))).......(djvu-next-page.1)....
7340 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 27 6e 65 78 74 2d 6c 69 6e 65 29 .(call-interactively.'next-line)
7360 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 70 72 65 76 2d 6c 69 6e 65 20 28 26 6f 70 74 69 ))..(defun.djvu-prev-line.(&opti
7380 6f 6e 61 6c 20 5f 61 72 67 20 5f 74 72 79 2d 76 73 63 72 6f 6c 6c 29 0a 20 20 22 4d 6f 76 65 20 onal._arg._try-vscroll)..."Move.
73a0 63 75 72 73 6f 72 20 76 65 72 74 69 63 61 6c 6c 79 20 75 70 20 41 52 47 20 6c 69 6e 65 73 2e 0a cursor.vertically.up.ARG.lines..
73c0 41 52 47 20 61 6e 64 20 54 52 59 2d 56 53 43 52 4f 4c 4c 20 68 61 76 65 20 74 68 65 20 73 61 6d ARG.and.TRY-VSCROLL.have.the.sam
73e0 65 20 6d 65 61 6e 69 6e 67 20 61 73 20 66 6f 72 20 60 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 27 e.meaning.as.for.`previous-line'
7400 2e 0a 41 74 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 70 61 67 65 2c 20 77 68 65 6e 20 60 ..At.the.top.of.the.page,.when.`
7420 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 67 6f 20 djvu-continuous'.is.non-nil,.go.
7440 74 6f 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 61 67 65 2e 22 0a 20 20 3b 3b 20 54 68 65 20 to.the.previous.page."...;;.The.
7460 69 6e 74 65 72 61 63 74 69 76 65 20 73 70 65 63 20 67 69 76 65 73 20 62 6f 74 68 20 61 72 67 73 interactive.spec.gives.both.args
7480 20 74 68 65 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 0a 20 20 3b 3b 20 6f 66 20 60 63 75 72 72 .the.numeric.value...;;.of.`curr
74a0 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 27 2e 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 ent-prefix-arg'....(interactive.
74c0 22 5e 70 5c 6e 70 22 29 20 3b 20 73 61 6d 65 20 61 73 20 60 70 72 65 76 69 6f 75 73 2d 6c 69 6e "^p\np").;.same.as.`previous-lin
74e0 65 27 0a 20 20 28 69 66 20 28 61 6e 64 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 0a 20 20 e'...(if.(and.djvu-continuous...
7500 20 20 20 20 20 20 20 20 20 28 3d 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 6c 69 6e 65 2d 62 65 .........(=.(point-min).(line-be
7520 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 3c ginning-position))............(<
7540 20 31 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 .1.(djvu-ref.page))).......(prog
7560 6e 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 70 72 65 76 2d 70 61 67 65 20 31 29 0a 20 20 20 n.........(djvu-prev-page.1)....
7580 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 .....(goto-char.(point-max))....
75a0 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 .....(beginning-of-line)........
75c0 20 28 72 65 63 65 6e 74 65 72 20 2d 33 29 29 0a 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 .(recenter.-3)).....(call-intera
75e0 63 74 69 76 65 6c 79 20 27 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 29 29 29 0a 0a 28 64 65 66 75 ctively.'previous-line)))..(defu
7600 6e 20 64 6a 76 75 2d 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 20 28 29 0a 20 20 22 47 6f n.djvu-history-backward.()..."Go
7620 20 62 61 63 6b 77 61 72 64 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 79 20 6f 66 20 76 69 73 69 .backward.in.the.history.of.visi
7640 74 65 64 20 70 61 67 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c ted.pages."...(interactive)...(l
7660 65 74 20 28 28 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 20 28 64 6a 76 75 2d 72 65 66 20 et.((history-backward.(djvu-ref.
7680 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 29 29 0a 20 20 20 20 20 20 20 20 28 68 69 73 74 history-backward)).........(hist
76a0 6f 72 79 2d 66 6f 72 77 61 72 64 20 28 63 6f 6e 73 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 ory-forward.(cons.(djvu-ref.page
76c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
76e0 20 28 64 6a 76 75 2d 72 65 66 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 29 29 29 0a 20 .(djvu-ref.history-forward))))..
7700 20 20 20 28 75 6e 6c 65 73 73 20 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 0a 20 20 20 20 ...(unless.history-backward.....
7720 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 54 68 69 73 20 69 73 20 74 68 65 20 66 69 72 73 74 ..(user-error."This.is.the.first
7740 20 70 61 67 65 20 79 6f 75 20 6c 6f 6f 6b 65 64 20 61 74 22 29 29 0a 20 20 20 20 28 64 6a 76 75 .page.you.looked.at")).....(djvu
7760 2d 67 6f 74 6f 2d 70 61 67 65 20 28 63 61 72 20 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 -goto-page.(car.history-backward
7780 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 )).....(djvu-set.history-backwar
77a0 64 20 28 63 64 72 20 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 29 29 0a 20 20 20 20 28 64 d.(cdr.history-backward)).....(d
77c0 6a 76 75 2d 73 65 74 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 68 69 73 74 6f 72 79 2d jvu-set.history-forward.history-
77e0 66 6f 72 77 61 72 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 68 69 73 74 6f 72 79 2d forward)))..(defun.djvu-history-
7800 66 6f 72 77 61 72 64 20 28 29 0a 20 20 22 47 6f 20 66 6f 72 77 61 72 64 20 69 6e 20 74 68 65 20 forward.()..."Go.forward.in.the.
7820 68 69 73 74 6f 72 79 20 6f 66 20 76 69 73 69 74 65 64 20 70 61 67 65 73 2e 22 0a 20 20 28 69 6e history.of.visited.pages."...(in
7840 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f 72 79 2d 66 6f 72 77 teractive)...(let.((history-forw
7860 61 72 64 20 28 64 6a 76 75 2d 72 65 66 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 29 29 ard.(djvu-ref.history-forward)))
7880 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 0a 20 20 20 .....(unless.history-forward....
78a0 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 54 68 69 73 20 69 73 20 74 68 65 20 6c 61 73 74 ...(user-error."This.is.the.last
78c0 20 70 61 67 65 20 79 6f 75 20 6c 6f 6f 6b 65 64 20 61 74 22 29 29 0a 20 20 20 20 28 64 6a 76 75 .page.you.looked.at")).....(djvu
78e0 2d 67 6f 74 6f 2d 70 61 67 65 20 28 63 61 72 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 -goto-page.(car.history-forward)
7900 29 0a 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 ).....(djvu-set.history-forward.
7920 28 63 64 72 20 68 69 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 29 29 29 0a 0a 28 64 65 66 75 6e (cdr.history-forward))))..(defun
7940 20 64 6a 76 75 2d 6b 69 6c 6c 2d 76 69 65 77 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 61 .djvu-kill-view.(&optional.doc.a
7960 6c 6c 29 0a 20 20 22 4b 69 6c 6c 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 44 6a 76 69 65 77 20 70 ll)..."Kill.most.recent.Djview.p
7980 72 6f 63 65 73 73 20 66 6f 72 20 44 4f 43 2e 0a 49 66 20 41 4c 4c 20 69 73 20 6e 6f 6e 2d 6e 69 rocess.for.DOC..If.ALL.is.non-ni
79a0 6c 2c 20 6b 69 6c 6c 20 61 6c 6c 20 44 6a 76 69 65 77 20 70 72 6f 63 65 73 73 65 73 2e 22 0a 20 l,.kill.all.Djview.processes."..
79c0 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 63 75 72 72 65 6e 74 2d .(interactive.(list.nil.current-
79e0 70 72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 63 2d 6c 69 73 74 20 prefix-arg))...(let.((proc-list.
7a00 28 64 6a 76 75 2d 72 65 66 20 76 69 65 77 2d 70 72 6f 63 20 64 6f 63 29 29 20 70 72 6f 63 20 6e (djvu-ref.view-proc.doc)).proc.n
7a20 70 72 6f 63 2d 6c 69 73 74 29 0a 20 20 20 20 3b 3b 20 43 6c 65 61 6e 20 75 70 20 70 72 6f 63 65 proc-list).....;;.Clean.up.proce
7a40 73 73 20 6c 69 73 74 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 70 72 6f 63 20 28 70 ss.list.....(while.(setq.proc.(p
7a60 6f 70 20 70 72 6f 63 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 op.proc-list)).......(unless.(me
7a80 6d 71 20 28 70 72 6f 63 65 73 73 2d 73 74 61 74 75 73 20 70 72 6f 63 29 20 27 28 65 78 69 74 20 mq.(process-status.proc).'(exit.
7aa0 73 69 67 6e 61 6c 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 70 72 6f 63 20 6e 70 72 6f signal)).........(push.proc.npro
7ac0 63 2d 6c 69 73 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 70 72 6f 63 2d 6c 69 73 74 20 28 6e c-list))).....(setq.proc-list.(n
7ae0 72 65 76 65 72 73 65 20 6e 70 72 6f 63 2d 6c 69 73 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 reverse.nproc-list)).....(while.
7b00 28 73 65 74 71 20 70 72 6f 63 20 28 70 6f 70 20 70 72 6f 63 2d 6c 69 73 74 29 29 0a 20 20 20 20 (setq.proc.(pop.proc-list)).....
7b20 20 20 28 71 75 69 74 2d 70 72 6f 63 65 73 73 20 70 72 6f 63 29 0a 20 20 20 20 20 20 28 64 6a 76 ..(quit-process.proc).......(djv
7b40 75 2d 73 65 74 20 76 69 65 77 2d 70 72 6f 63 20 70 72 6f 63 2d 6c 69 73 74 29 0a 20 20 20 20 20 u-set.view-proc.proc-list)......
7b60 20 28 75 6e 6c 65 73 73 20 61 6c 6c 20 28 73 65 74 71 20 70 72 6f 63 2d 6c 69 73 74 20 6e 69 6c .(unless.all.(setq.proc-list.nil
7b80 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 20 28 26 6f 70 )))))..(defun.djvu-kill-doc.(&op
7ba0 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 4b 69 6c 6c 20 61 6c 6c 20 62 75 66 66 65 72 73 20 tional.doc)..."Kill.all.buffers.
7bc0 76 69 73 69 74 69 6e 67 20 44 4f 43 2e 0a 54 68 69 73 20 72 65 6c 69 65 73 20 6f 6e 20 60 64 6a visiting.DOC..This.relies.on.`dj
7be0 76 75 2d 6b 69 6c 6c 2d 64 6f 63 2d 61 6c 6c 27 20 66 6f 72 20 64 6f 69 6e 67 20 74 68 65 20 72 vu-kill-doc-all'.for.doing.the.r
7c00 65 61 6c 20 77 6f 72 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 3b 3b 20 eal.work."...(interactive)...;;.
7c20 60 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 2d 61 6c 6c 27 20 77 69 6c 6c 20 74 72 79 20 74 6f 20 `djvu-kill-doc-all'.will.try.to.
7c40 73 61 76 65 20 6f 75 72 20 77 6f 72 6b 20 61 6e 64 20 6b 69 6c 6c 20 61 6c 6c 20 64 6a 76 69 65 save.our.work.and.kill.all.djvie
7c60 77 0a 20 20 3b 3b 20 70 72 6f 63 65 73 73 65 73 2e 0a 20 20 28 6d 61 70 63 20 23 27 6b 69 6c 6c w...;;.processes....(mapc.#'kill
7c80 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 62 75 66 66 65 72 73 20 64 6f 63 29 29 29 0a 0a 28 64 -buffer.(djvu-buffers.doc)))..(d
7ca0 65 66 76 61 72 20 64 6a 76 75 2d 69 6e 2d 6b 69 6c 6c 2d 64 6f 63 20 6e 69 6c 0a 20 20 22 4e 6f efvar.djvu-in-kill-doc.nil..."No
7cc0 6e 2d 6e 69 6c 20 69 66 20 77 65 20 61 72 65 20 72 75 6e 6e 69 6e 67 20 60 64 6a 76 75 2d 6b 69 n-nil.if.we.are.running.`djvu-ki
7ce0 6c 6c 2d 64 6f 63 2d 61 6c 6c 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6b 69 6c 6c ll-doc-all'.")..(defun.djvu-kill
7d00 2d 64 6f 63 2d 61 6c 6c 20 28 29 0a 20 20 22 4b 69 6c 6c 20 61 6c 6c 20 62 75 66 66 65 72 73 20 -doc-all.()..."Kill.all.buffers.
7d20 76 69 73 69 74 69 6e 67 20 60 64 6a 76 75 2d 64 6f 63 27 20 65 78 63 65 70 74 20 66 6f 72 20 74 visiting.`djvu-doc'.except.for.t
7d40 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e he.current.buffer..This.function
7d60 20 69 73 20 61 64 64 65 64 20 74 6f 20 60 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 27 20 .is.added.to.`kill-buffer-hook'.
7d80 6f 66 20 61 6c 6c 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 20 60 64 6a 76 75 2d 64 6f of.all.buffers.visiting.`djvu-do
7da0 63 27 0a 73 6f 20 74 68 61 74 20 6b 69 6c 6c 69 6e 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 c'.so.that.killing.the.current.b
7dc0 75 66 66 65 72 20 6b 69 6c 6c 73 20 61 6c 6c 20 62 75 66 66 65 72 73 20 76 69 73 69 74 69 6e 67 uffer.kills.all.buffers.visiting
7de0 20 60 64 6a 76 75 2d 64 6f 63 27 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 64 6a 76 75 2d 69 6e 2d .`djvu-doc'."...(unless.djvu-in-
7e00 6b 69 6c 6c 2d 64 6f 63 0a 20 20 20 20 28 6c 65 74 20 28 28 64 6a 76 75 2d 69 6e 2d 6b 69 6c 6c kill-doc.....(let.((djvu-in-kill
7e20 2d 64 6f 63 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 73 29 0a 20 20 20 20 20 -doc.t)...........buffers)......
7e40 20 3b 3b 20 53 6f 6d 65 74 69 6d 65 73 20 77 65 20 63 68 6f 6b 65 20 6f 6e 20 62 72 6f 6b 65 6e .;;.Sometimes.we.choke.on.broken
7e60 20 64 6a 76 75 20 66 69 6c 65 73 20 73 6f 20 74 68 61 74 20 6d 61 6e 79 20 74 68 69 6e 67 73 0a .djvu.files.so.that.many.things.
7e80 20 20 20 20 20 20 3b 3b 20 64 6f 20 6e 6f 74 20 77 6f 72 6b 20 61 6e 79 6d 6f 72 65 20 74 68 65 ......;;.do.not.work.anymore.the
7ea0 20 77 61 79 20 74 68 65 79 20 73 68 6f 75 6c 64 2e 20 20 41 74 20 6c 65 61 73 74 2c 20 77 65 20 .way.they.should...At.least,.we.
7ec0 77 61 6e 74 20 74 6f 0a 20 20 20 20 20 20 3b 3b 20 62 65 20 61 62 6c 65 20 74 6f 20 6b 69 6c 6c want.to.......;;.be.able.to.kill
7ee0 20 74 68 65 20 72 65 6c 65 76 61 6e 74 20 62 75 66 66 65 72 73 2e 20 20 53 6f 20 64 6f 20 6e 6f .the.relevant.buffers...So.do.no
7f00 74 20 62 61 69 6c 20 6f 75 74 20 68 65 72 65 2e 0a 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f t.bail.out.here........(conditio
7f20 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 6f 63 20 n-case.nil...........(let.((doc.
7f40 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 djvu-doc)).............(setq.buf
7f60 66 65 72 73 20 28 64 6a 76 75 2d 62 75 66 66 65 72 73 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 fers.(djvu-buffers.doc))........
7f80 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d 71 20 6e 69 6c 20 28 6d 61 70 63 61 72 20 23 .....(unless.(memq.nil.(mapcar.#
7fa0 27 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 66 65 72 73 29 29 0a 20 20 20 20 20 20 20 'buffer-live-p.buffers))........
7fc0 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 29 0a 20 20 20 20 .........(djvu-save.doc.t)).....
7fe0 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6b 69 6c 6c 2d 76 69 65 77 20 64 6f 63 20 74 29 29 0a ........(djvu-kill-view.doc.t)).
8000 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 3b 3b 20 41 20 ........(error.nil)).......;;.A.
8020 66 75 6e 63 74 69 6f 6e 20 69 6e 20 60 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 27 20 73 function.in.`kill-buffer-hook'.s
8040 68 6f 75 6c 64 20 6e 6f 74 20 6b 69 6c 6c 20 74 68 65 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 hould.not.kill.the.buffer.......
8060 3b 3b 20 66 6f 72 20 77 68 69 63 68 20 77 65 20 63 61 6c 6c 65 64 20 74 68 69 73 20 68 6f 6f 6b ;;.for.which.we.called.this.hook
8080 20 69 6e 20 74 68 65 20 66 69 72 73 74 20 70 6c 61 63 65 2c 20 73 6f 20 74 68 61 74 0a 20 20 20 .in.the.first.place,.so.that....
80a0 20 20 20 3b 3b 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 69 6e 20 74 68 69 73 20 68 6f ...;;.other.functions.in.this.ho
80c0 6f 6b 20 63 61 6e 20 64 6f 20 74 68 65 69 72 20 6a 6f 62 2c 20 74 6f 6f 2e 0a 20 20 20 20 20 20 ok.can.do.their.job,.too........
80e0 28 6d 61 70 63 20 23 27 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 64 65 6c 71 20 28 63 75 72 72 65 (mapc.#'kill-buffer.(delq.(curre
8100 6e 74 2d 62 75 66 66 65 72 29 20 62 75 66 66 65 72 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 nt-buffer).buffers)))))..(defun.
8120 64 6a 76 75 2d 63 68 61 6e 67 65 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 20 28 29 0a 20 20 22 43 6c 65 djvu-change-major-mode.()..."Cle
8140 61 6e 20 75 70 20 44 6a 76 75 20 6d 6f 64 65 20 62 75 66 66 65 72 73 20 61 6e 64 20 68 6f 6f 6b an.up.Djvu.mode.buffers.and.hook
8160 73 2e 0a 44 6a 76 75 20 6d 6f 64 65 20 70 75 74 73 20 74 68 69 73 20 69 6e 74 6f 20 60 63 68 61 s..Djvu.mode.puts.this.into.`cha
8180 6e 67 65 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 68 6f 6f 6b 27 2e 22 0a 20 20 28 75 6e 6c 65 73 73 nge-major-mode-hook'."...(unless
81a0 20 64 6a 76 75 2d 69 6e 69 74 0a 20 20 20 20 28 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 2d 61 6c .djvu-init.....(djvu-kill-doc-al
81c0 6c 29 0a 20 20 20 20 3b 3b 20 54 68 65 73 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 l).....;;.These.local.variables.
81e0 61 72 65 20 70 65 72 6d 61 6e 65 6e 74 20 6c 6f 63 61 6c 0a 20 20 20 20 28 6b 69 6c 6c 2d 6c 6f are.permanent.local.....(kill-lo
8200 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 29 0a cal-variable.'kill-buffer-hook).
8220 20 20 20 20 28 6b 69 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 64 6a 76 75 2d 64 ....(kill-local-variable.'djvu-d
8240 6f 63 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 72 65 oc).....(kill-local-variable.'re
8260 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 28 6b 69 6c 6c 2d vert-buffer-function).....(kill-
8280 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 77 72 69 74 65 2d 66 69 6c 65 2d 66 75 6e 63 74 local-variable.'write-file-funct
82a0 69 6f 6e 73 29 0a 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e ions).....(let.((inhibit-read-on
82c0 6c 79 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 ly.t)...........(buffer-undo-lis
82e0 74 20 74 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 t.t)).......(insert-file-content
8300 73 2d 6c 69 74 65 72 61 6c 6c 79 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 74 20 6e s-literally.buffer-file-name.t.n
8320 69 6c 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 75 6e 64 6f il.nil.t)).....(setq.buffer-undo
8340 2d 6c 69 73 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d -list.nil...........buffer-read-
8360 6f 6e 6c 79 20 28 6e 6f 74 20 28 66 69 6c 65 2d 77 72 69 74 61 62 6c 65 2d 70 20 62 75 66 66 65 only.(not.(file-writable-p.buffe
8380 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 61 r-file-name)))))..(defun.djvu-sa
83a0 76 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 71 75 65 72 79 29 0a 20 20 22 53 61 76 65 ve.(&optional.doc.query)..."Save
83c0 20 44 6a 76 75 20 44 4f 43 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 .Djvu.DOC."...(interactive)...(u
83e0 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 nless.doc.(setq.doc.djvu-doc))..
8400 20 28 6c 65 74 20 28 28 61 66 69 6c 65 20 28 61 62 62 72 65 76 69 61 74 65 2d 66 69 6c 65 2d 6e .(let.((afile.(abbreviate-file-n
8420 61 6d 65 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 ame.(djvu-ref.file.doc))).......
8440 20 20 28 74 65 78 74 2d 6d 6f 64 69 66 69 65 64 20 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 ..(text-modified..(buffer-modifi
8460 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 20 64 6f 63 29 29 29 0a 20 ed-p.(djvu-ref.text-buf.doc)))..
8480 20 20 20 20 20 20 20 28 61 6e 6e 6f 74 2d 6d 6f 64 69 66 69 65 64 20 28 62 75 66 66 65 72 2d 6d .......(annot-modified.(buffer-m
84a0 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 64 6f odified-p.(djvu-ref.annot-buf.do
84c0 63 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 68 61 72 65 64 2d 6d 6f 64 69 66 69 65 64 20 28 62 c))).........(shared-modified.(b
84e0 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 72 65 uffer-modified-p.(djvu-ref.share
8500 64 2d 62 75 66 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 28 62 6f 6f 6b 6d 61 72 6b 73 2d d-buf.doc))).........(bookmarks-
8520 6d 6f 64 69 66 69 65 64 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 modified.(buffer-modified-p.(djv
8540 75 2d 72 65 66 20 62 6f 6f 6b 6d 61 72 6b 73 2d 62 75 66 20 64 6f 63 29 29 29 29 0a 20 20 20 20 u-ref.bookmarks-buf.doc)))).....
8560 28 77 68 65 6e 20 28 61 6e 64 20 28 6f 72 20 74 65 78 74 2d 6d 6f 64 69 66 69 65 64 20 61 6e 6e (when.(and.(or.text-modified.ann
8580 6f 74 2d 6d 6f 64 69 66 69 65 64 20 73 68 61 72 65 64 2d 6d 6f 64 69 66 69 65 64 20 62 6f 6f 6b ot-modified.shared-modified.book
85a0 6d 61 72 6b 73 2d 6d 6f 64 69 66 69 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 marks-modified)................(
85c0 6f 72 20 28 61 6e 64 20 28 76 65 72 69 66 79 2d 76 69 73 69 74 65 64 2d 66 69 6c 65 2d 6d 6f 64 or.(and.(verify-visited-file-mod
85e0 74 69 6d 65 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 time.doc).......................
8600 20 20 28 6f 72 20 28 6e 6f 74 20 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(or.(not.query)...............
8620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 28 66 6f 72 6d ..............(yes-or-no-p.(form
8640 61 74 20 22 53 61 76 65 20 25 73 3f 20 22 20 61 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 at."Save.%s?.".afile))))........
8660 20 20 20 20 20 20 20 20 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 28 66 6f 72 6d 61 74 ............(yes-or-no-p.(format
8680 20 22 25 73 20 68 61 73 20 63 68 61 6e 67 65 64 20 73 69 6e 63 65 20 76 69 73 69 74 65 64 20 6f ."%s.has.changed.since.visited.o
86a0 72 20 73 61 76 65 64 2e 20 20 53 61 76 65 20 61 6e 79 77 61 79 3f 20 22 0a 20 20 20 20 20 20 20 r.saved...Save.anyway?."........
86c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
86e0 20 61 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 77 69 74 68 2d 74 65 6d 70 .afile)))).......(djvu-with-temp
8700 2d 66 69 6c 65 20 73 63 72 69 70 74 0a 20 20 20 20 20 20 20 20 28 69 66 20 61 6e 6e 6f 74 2d 6d -file.script.........(if.annot-m
8720 6f 64 69 66 69 65 64 20 28 64 6a 76 75 2d 73 61 76 65 2d 61 6e 6e 6f 74 20 73 63 72 69 70 74 20 odified.(djvu-save-annot.script.
8740 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 73 68 61 72 65 64 2d 6d 6f 64 69 66 69 65 doc)).........(if.shared-modifie
8760 64 20 28 64 6a 76 75 2d 73 61 76 65 2d 61 6e 6e 6f 74 20 73 63 72 69 70 74 20 64 6f 63 20 74 29 d.(djvu-save-annot.script.doc.t)
8780 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 74 65 78 74 2d 6d 6f 64 69 66 69 65 64 20 28 64 6a 76 ).........(if.text-modified.(djv
87a0 75 2d 73 61 76 65 2d 74 65 78 74 20 64 6f 63 20 73 63 72 69 70 74 29 29 20 3b 20 75 70 64 61 74 u-save-text.doc.script)).;.updat
87c0 65 73 20 52 65 61 64 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 69 66 20 62 6f 6f 6b 6d es.Read.buffer.........(if.bookm
87e0 61 72 6b 73 2d 6d 6f 64 69 66 69 65 64 20 28 64 6a 76 75 2d 73 61 76 65 2d 62 6f 6f 6b 6d 61 72 arks-modified.(djvu-save-bookmar
8800 6b 73 20 73 63 72 69 70 74 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 64 6a ks.script.doc)).........(djvu-dj
8820 76 75 73 65 64 20 64 6f 63 20 6e 69 6c 20 22 2d 66 22 20 73 63 72 69 70 74 20 22 2d 73 22 29 29 vused.doc.nil."-f".script."-s"))
8840 0a 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 61 6e 6e 6f 74 2d 6d 6f 64 69 66 69 65 64 20 28 .......(if.(and.annot-modified.(
8860 6e 6f 74 20 74 65 78 74 2d 6d 6f 64 69 66 69 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 not.text-modified))...........(d
8880 6a 76 75 2d 69 6e 69 74 2d 72 65 61 64 20 28 64 6a 76 75 2d 72 65 61 64 2d 74 65 78 74 20 64 6f jvu-init-read.(djvu-read-text.do
88a0 63 29 20 64 6f 63 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 61 6c 6c 2d 62 75 66 66 65 72 73 c).doc)).......(djvu-all-buffers
88c0 20 64 6f 63 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 .doc.........(set-buffer-modifie
88e0 64 2d 70 20 6e 69 6c 29 29 29 29 0a 20 20 74 29 20 3b 20 66 6f 72 20 60 77 72 69 74 65 2d 66 69 d-p.nil))))...t).;.for.`write-fi
8900 6c 65 2d 66 75 6e 63 74 69 6f 6e 27 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 6f 64 69 66 69 le-function'..(defun.djvu-modifi
8920 65 64 20 28 29 0a 20 20 22 4d 61 72 6b 20 44 6a 76 75 20 52 65 61 64 20 61 6e 64 20 4f 75 74 6c ed.()..."Mark.Djvu.Read.and.Outl
8940 69 6e 65 20 62 75 66 66 65 72 73 20 61 73 20 6d 6f 64 69 66 69 65 64 20 69 66 20 6e 65 63 65 73 ine.buffers.as.modified.if.neces
8960 73 61 72 79 2e 0a 55 73 65 64 20 69 6e 20 60 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b sary..Used.in.`post-command-hook
8980 27 20 6f 66 20 74 68 65 20 44 6a 76 75 20 52 65 61 64 2c 20 54 65 78 74 2c 20 41 6e 6e 6f 74 61 '.of.the.Djvu.Read,.Text,.Annota
89a0 74 69 6f 6e 73 2c 0a 42 6f 6f 6b 6d 61 72 6b 73 20 61 6e 64 20 4f 75 74 6c 69 6e 65 20 62 75 66 tions,.Bookmarks.and.Outline.buf
89c0 66 65 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 6f 64 69 66 69 65 64 20 28 6f 72 20 28 62 75 fers."...(let.((modified.(or.(bu
89e0 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f 6b 6d 61 ffer-modified-p.(djvu-ref.bookma
8a00 72 6b 73 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rks-buf)).......................
8a20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 (buffer-modified-p.(djvu-ref.tex
8a40 74 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 t-buf)).......................(b
8a60 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 uffer-modified-p.(djvu-ref.annot
8a80 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 -buf)).......................(bu
8aa0 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 72 65 64 ffer-modified-p.(djvu-ref.shared
8ac0 2d 62 75 66 29 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 -buf))))).....(with-current-buff
8ae0 65 72 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 2d 62 75 66 29 0a 20 20 20 20 20 20 28 73 65 er.(djvu-ref.read-buf).......(se
8b00 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6d 6f 64 69 66 69 65 64 29 29 0a 20 t-buffer-modified-p.modified))..
8b20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 ...(with-current-buffer.(djvu-re
8b40 66 20 6f 75 74 6c 69 6e 65 2d 62 75 66 29 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 f.outline-buf).......(set-buffer
8b60 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6d 6f 64 69 66 69 65 64 29 29 29 29 0a 0a 28 64 65 66 75 6e -modified-p.modified))))..(defun
8b80 20 64 6a 76 75 2d 71 75 69 74 2d 77 69 6e 64 6f 77 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6b 69 6c .djvu-quit-window.(&optional.kil
8ba0 6c 20 64 6f 63 29 0a 20 20 22 51 75 69 74 20 61 6c 6c 20 77 69 6e 64 6f 77 73 20 6f 66 20 44 6a l.doc)..."Quit.all.windows.of.Dj
8bc0 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 20 61 6e 64 20 62 75 72 79 20 69 74 73 20 62 75 66 vu.document.DOC.and.bury.its.buf
8be0 66 65 72 73 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 4b 49 4c 4c 20 6e 6f 6e 2d 6e 69 6c 2c 20 fers..With.prefix.KILL.non-nil,.
8c00 6b 69 6c 6c 20 74 68 65 20 62 75 66 66 65 72 73 20 69 6e 73 74 65 61 64 20 6f 66 20 62 75 72 79 kill.the.buffers.instead.of.bury
8c20 69 6e 67 20 74 68 65 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 ing.them."...(interactive."P")..
8c40 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 .(unless.doc.(setq.doc.djvu-doc)
8c60 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 20 28 64 6a 76 75 2d 62 75 66 66 65 72 73 20 64 )...(dolist.(buf.(djvu-buffers.d
8c80 6f 63 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 67 65 74 2d 62 75 66 66 oc)).....(let.((window.(get-buff
8ca0 65 72 2d 77 69 6e 64 6f 77 20 62 75 66 20 74 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 er-window.buf.t))).......(cond.(
8cc0 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 51 75 69 74 74 69 6e 67 20 window..............;;.Quitting.
8ce0 6f 6e 65 20 44 6a 76 75 20 77 69 6e 64 6f 77 20 6d 61 79 20 62 72 69 6e 67 20 75 70 20 61 67 61 one.Djvu.window.may.bring.up.aga
8d00 69 6e 20 74 68 65 20 44 6a 76 75 20 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 in.the.Djvu.window..............
8d20 3b 3b 20 6f 66 20 61 6e 6f 74 68 65 72 20 44 6a 76 75 20 62 75 66 66 65 72 20 66 6f 72 20 74 68 ;;.of.another.Djvu.buffer.for.th
8d40 65 20 73 61 6d 65 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 e.same.Djvu.document............
8d60 20 20 20 3b 3b 20 53 6f 20 77 65 20 66 69 72 73 74 20 72 65 6d 6f 76 65 20 74 68 65 73 65 20 44 ...;;.So.we.first.remove.these.D
8d80 6a 76 75 20 62 75 66 66 65 72 73 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 0a 20 20 20 20 20 20 jvu.buffers.from.the.list.......
8da0 20 20 20 20 20 20 20 3b 3b 20 6f 66 20 62 75 66 66 65 72 73 20 70 72 65 76 69 6f 75 73 6c 79 20 .......;;.of.buffers.previously.
8dc0 64 69 73 70 6c 61 79 65 64 20 69 6e 20 74 68 69 73 20 77 69 6e 64 6f 77 2e 0a 20 20 20 20 20 20 displayed.in.this.window........
8de0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 65 76 2d 62 75 66 66 65 72 73 20 28 77 69 6e 64 .......(let.((prev-buffers.(wind
8e00 6f 77 2d 70 72 65 76 2d 62 75 66 66 65 72 73 20 77 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 ow-prev-buffers.window))).......
8e20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 62 20 28 64 6a 76 75 2d 62 75 66 66 65 72 .........(dolist.(b.(djvu-buffer
8e40 73 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 s.doc))..................(setq.p
8e60 72 65 76 2d 62 75 66 66 65 72 73 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 62 20 70 rev-buffers.(assq-delete-all.b.p
8e80 72 65 76 2d 62 75 66 66 65 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 rev-buffers)))................(s
8ea0 65 74 2d 77 69 6e 64 6f 77 2d 70 72 65 76 2d 62 75 66 66 65 72 73 20 77 69 6e 64 6f 77 20 70 72 et-window-prev-buffers.window.pr
8ec0 65 76 2d 62 75 66 66 65 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 71 75 69 74 2d ev-buffers))..............(quit-
8ee0 77 69 6e 64 6f 77 20 6b 69 6c 6c 20 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 window.kill.window))............
8f00 20 28 6b 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 .(kill..............(kill-buffer
8f20 20 62 75 66 29 29 0a 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 .buf)).............(t...........
8f40 20 20 20 28 62 75 72 79 2d 62 75 66 66 65 72 20 62 75 66 29 29 29 29 29 29 0a 0a 28 64 65 66 75 ...(bury-buffer.buf))))))..(defu
8f60 6e 20 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 28 64 6f 63 20 62 75 66 66 65 72 20 26 72 65 73 74 n.djvu-djvused.(doc.buffer.&rest
8f80 20 61 72 67 73 29 0a 20 20 22 50 72 6f 63 65 73 73 20 44 6a 76 75 20 44 4f 43 20 62 79 20 72 75 .args)..."Process.Djvu.DOC.by.ru
8fa0 6e 6e 69 6e 67 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 64 6a 76 75 73 65 64 20 77 69 74 68 20 41 nning.the.command.djvused.with.A
8fc0 52 47 53 2e 0a 42 55 46 46 45 52 20 72 65 63 65 69 76 65 73 20 74 68 65 20 70 72 6f 63 65 73 73 RGS..BUFFER.receives.the.process
8fe0 20 6f 75 74 70 75 74 2c 20 74 20 6d 65 61 6e 73 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e .output,.t.means.current.buffer.
9000 0a 49 66 20 42 55 46 46 45 52 20 69 73 20 6e 69 6c 2c 20 64 69 73 63 61 72 64 20 74 68 65 20 70 .If.BUFFER.is.nil,.discard.the.p
9020 72 6f 63 65 73 73 20 6f 75 74 70 75 74 2c 20 61 73 73 75 6d 69 6e 67 20 74 68 61 74 0a 74 68 65 rocess.output,.assuming.that.the
9040 20 70 75 72 70 6f 73 65 20 6f 66 20 63 61 6c 6c 69 6e 67 20 64 6a 76 75 73 65 64 20 69 73 20 74 .purpose.of.calling.djvused.is.t
9060 6f 20 75 70 64 61 74 65 20 74 68 65 20 44 6a 76 75 20 66 69 6c 65 2e 22 0a 20 20 28 75 6e 6c 65 o.update.the.Djvu.file."...(unle
9080 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 28 75 ss.doc.(setq.doc.djvu-doc))...(u
90a0 6e 6c 65 73 73 20 28 6f 72 20 62 75 66 66 65 72 20 28 66 69 6c 65 2d 77 72 69 74 61 62 6c 65 2d nless.(or.buffer.(file-writable-
90c0 70 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 29 29 0a 20 20 20 20 28 75 73 65 p.(djvu-ref.file.doc))).....(use
90e0 72 2d 65 72 72 6f 72 20 22 46 69 6c 65 20 60 25 73 27 20 6e 6f 74 20 77 72 69 74 61 62 6c 65 22 r-error."File.`%s'.not.writable"
9100 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 62 62 72 65 76 69 61 74 65 2d 66 69 6c .................(abbreviate-fil
9120 65 2d 6e 61 6d 65 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 29 29 29 0a 20 20 e-name.(djvu-ref.file.doc))))...
9140 28 77 68 65 6e 20 28 6f 72 20 62 75 66 66 65 72 20 28 6e 6f 74 20 64 6a 76 75 2d 74 65 73 74 29 (when.(or.buffer.(not.djvu-test)
9160 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 64 6a 76 75 ).....(unless.buffer.......(djvu
9180 2d 62 61 63 6b 75 70 20 64 6f 63 29 29 0a 20 20 20 20 3b 3b 20 57 65 20 63 6f 75 6c 64 20 73 65 -backup.doc)).....;;.We.could.se
91a0 70 61 72 61 74 65 6c 79 20 70 72 65 73 65 72 76 65 20 74 68 65 20 65 72 72 6f 72 20 73 74 72 65 parately.preserve.the.error.stre
91c0 61 6d 2e 20 20 59 65 74 20 74 68 69 73 20 6d 75 73 74 20 67 6f 0a 20 20 20 20 3b 3b 20 69 6e 74 am...Yet.this.must.go.....;;.int
91e0 6f 20 61 20 66 69 6c 65 3b 20 69 74 20 63 61 6e 6e 6f 74 20 67 6f 20 69 6e 74 6f 20 61 20 62 75 o.a.file;.it.cannot.go.into.a.bu
9200 66 66 65 72 2e 20 20 53 6f 20 77 65 27 64 20 68 61 76 65 20 74 6f 20 63 68 65 63 6b 0a 20 20 20 ffer...So.we'd.have.to.check....
9220 20 3b 3b 20 69 6e 20 74 68 65 20 65 6e 64 20 77 68 65 74 68 65 72 20 74 68 65 20 66 69 6c 65 20 .;;.in.the.end.whether.the.file.
9240 77 61 73 20 6e 6f 6e 2d 65 6d 70 74 79 20 61 6e 64 20 74 68 65 6e 20 64 65 6c 65 74 65 20 69 74 was.non-empty.and.then.delete.it
9260 2e 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6e 68 69 62 69 74 2d 71 75 69 74 20 74 29 0a 20 20 ......(let*.((inhibit-quit.t)...
9280 20 20 20 20 20 20 20 20 20 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 .........(coding-system-for-read
92a0 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 75 73 20 28 61 70 70 .'utf-8)............(status.(app
92c0 6c 79 20 27 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 64 6a 76 75 73 65 64 22 20 6e 69 6c 20 62 ly.'call-process."djvused".nil.b
92e0 75 66 66 65 72 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uffer.nil.......................
9300 20 20 20 20 22 2d 75 22 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 20 61 72 67 ...."-u".(djvu-ref.file.doc).arg
9320 73 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 73 74 61 74 75 73 s))).......(unless.(zerop.status
9340 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 44 6a 76 75 73 65 64 20 65 72 72 6f 72 20 ).........(error."Djvused.error.
9360 25 73 20 28 61 72 67 73 3a 20 25 73 29 22 20 73 74 61 74 75 73 20 61 72 67 73 29 29 0a 20 20 20 %s.(args:.%s)".status.args))....
9380 20 20 20 28 75 6e 6c 65 73 73 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d ...(unless.buffer.........(djvu-
93a0 61 6c 6c 2d 62 75 66 66 65 72 73 20 64 6f 63 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 76 all-buffers.doc...........(set-v
93c0 69 73 69 74 65 64 2d 66 69 6c 65 2d 6d 6f 64 74 69 6d 65 29 29 29 29 29 29 0a 0a 28 64 65 66 75 isited-file-modtime))))))..(defu
93e0 6e 20 64 6a 76 75 2d 62 61 63 6b 75 70 20 28 64 6f 63 29 0a 20 20 22 4d 61 6b 65 20 61 20 62 61 n.djvu-backup.(doc)..."Make.a.ba
9400 63 6b 75 70 20 6f 66 20 74 68 65 20 64 69 73 6b 20 66 69 6c 65 20 66 6f 72 20 44 6a 76 75 20 64 ckup.of.the.disk.file.for.Djvu.d
9420 6f 63 75 6d 65 6e 74 20 44 4f 43 2c 20 69 66 20 61 70 70 72 6f 70 72 69 61 74 65 2e 22 0a 20 20 ocument.DOC,.if.appropriate."...
9440 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 64 6f 63 0a 20 20 20 20 28 75 6e (with-current-buffer.doc.....(un
9460 6c 65 73 73 20 62 75 66 66 65 72 2d 62 61 63 6b 65 64 2d 75 70 0a 20 20 20 20 20 20 28 6c 65 74 less.buffer-backed-up.......(let
9480 2a 20 28 28 66 69 6c 65 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 29 0a 20 20 *.((file.(djvu-ref.file.doc))...
94a0 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 6c 2d 66 69 6c 65 20 28 66 69 6c 65 2d 63 68 61 73 ...........(real-file.(file-chas
94c0 65 2d 6c 69 6e 6b 73 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 61 6c e-links.file))..............(val
94e0 20 28 62 61 63 6b 75 70 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e .(backup-buffer))).........(when
9500 20 62 75 66 66 65 72 2d 62 61 63 6b 65 64 2d 75 70 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 50 .buffer-backed-up...........;;.P
9520 72 6f 70 61 67 61 74 65 20 74 68 65 20 6e 65 77 73 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 ropagate.the.news...........(djv
9540 75 2d 61 6c 6c 2d 62 75 66 66 65 72 73 20 64 6f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 u-all-buffers.doc.............(s
9560 65 74 71 20 62 75 66 66 65 72 2d 62 61 63 6b 65 64 2d 75 70 20 74 29 29 0a 20 20 20 20 20 20 20 etq.buffer-backed-up.t))........
9580 20 20 20 3b 3b 20 48 6f 6e 6f 72 20 60 62 61 63 6b 75 70 2d 62 79 2d 63 6f 70 79 69 6e 67 27 20 ...;;.Honor.`backup-by-copying'.
95a0 61 6e 64 20 66 72 69 65 6e 64 73 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 59 65 74 20 69 66 and.friends............;;.Yet.if
95c0 20 46 49 4c 45 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 61 6e 79 6d 6f 72 65 20 62 65 63 .FILE.does.not.exist.anymore.bec
95e0 61 75 73 65 20 60 62 61 63 6b 75 70 2d 62 75 66 66 65 72 27 0a 20 20 20 20 20 20 20 20 20 20 3b ause.`backup-buffer'...........;
9600 3b 20 72 65 6e 61 6d 65 64 20 69 74 2c 20 77 65 20 6e 65 65 64 20 74 6f 20 72 65 63 72 65 61 74 ;.renamed.it,.we.need.to.recreat
9620 65 20 46 49 4c 45 20 66 6f 72 20 64 6a 76 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b e.FILE.for.djvused............;;
9640 20 53 74 72 69 63 74 6c 79 20 73 70 65 61 6b 69 6e 67 2c 20 77 65 20 72 65 63 72 65 61 74 65 20 .Strictly.speaking,.we.recreate.
9660 52 45 41 4c 2d 46 49 4c 45 20 62 65 63 61 75 73 65 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 20 REAL-FILE.because.that.is.......
9680 20 20 20 20 3b 3b 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 60 62 61 63 6b 75 70 2d 62 75 66 ....;;.the.file.that.`backup-buf
96a0 66 65 72 27 20 68 61 73 20 72 65 6e 61 6d 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 fer'.has.renamed............;;.T
96c0 68 65 6e 20 77 65 20 61 6c 73 6f 20 75 70 64 61 74 65 20 74 68 65 20 66 69 6c 65 2d 6e 75 6d 62 hen.we.also.update.the.file-numb
96e0 65 72 20 66 6f 72 20 46 49 4c 45 2e 20 20 59 65 74 20 77 65 0a 20 20 20 20 20 20 20 20 20 20 3b er.for.FILE...Yet.we...........;
9700 3b 20 6e 65 65 64 20 6e 6f 74 20 77 6f 72 72 79 20 68 65 72 65 20 61 62 6f 75 74 20 74 68 65 20 ;.need.not.worry.here.about.the.
9720 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 62 65 63 61 75 73 65 0a 20 20 20 20 20 20 modification.time.because.......
9740 20 20 20 20 3b 3b 20 77 65 20 63 61 6c 6c 65 64 20 60 64 6a 76 75 2d 62 61 63 6b 75 70 27 20 66 ....;;.we.called.`djvu-backup'.f
9760 72 6f 6d 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 60 64 6a 76 75 2d 64 6a 76 75 73 65 64 rom.something.like.`djvu-djvused
9780 27 2c 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 61 6e 79 77 61 79 20 6e 65 65 ',...........;;.which.anyway.nee
97a0 64 73 20 74 6f 20 75 70 64 61 74 65 20 74 68 65 20 72 65 63 6f 72 64 65 64 20 6d 6f 64 69 66 69 ds.to.update.the.recorded.modifi
97c0 63 61 74 69 6f 6e 20 74 69 6d 65 2e 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 cation.time............(unless.(
97e0 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 72 65 61 6c 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 file-exists-p.real-file)........
9800 20 20 20 20 20 28 62 61 63 6b 75 70 2d 62 75 66 66 65 72 2d 63 6f 70 79 20 28 6e 74 68 20 32 20 .....(backup-buffer-copy.(nth.2.
9820 76 61 6c 29 20 72 65 61 6c 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 val).real-file..................
9840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 30 20 76 61 6c 29 20 28 6e 74 68 20 ...............(nth.0.val).(nth.
9860 31 20 76 61 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 2d 1.val)).............(let.((file-
9880 6e 75 6d 62 65 72 20 28 6e 74 68 63 64 72 20 31 30 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 number.(nthcdr.10.(file-attribut
98a0 65 73 20 66 69 6c 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d es.file))))...............(djvu-
98c0 61 6c 6c 2d 62 75 66 66 65 72 73 20 64 6f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 all-buffers.doc.................
98e0 28 73 65 74 71 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 75 6d 62 65 72 20 66 69 6c 65 2d 6e 75 (setq.buffer-file-number.file-nu
9900 6d 62 65 72 29 29 29 29 29 29 29 29 29 0a 0a 3b 3b 20 54 68 65 20 45 6d 61 63 73 20 6c 69 73 70 mber)))))))))..;;.The.Emacs.lisp
9920 20 72 65 61 64 65 72 20 67 65 74 73 20 63 6f 6e 66 75 73 65 64 20 62 79 20 74 68 65 20 44 6a 76 .reader.gets.confused.by.the.Djv
9940 75 20 63 6f 6c 6f 72 20 73 79 6e 74 61 78 20 77 69 74 68 0a 3b 3b 20 73 79 6d 62 6f 6c 73 20 27 u.color.syntax.with.;;.symbols.'
9960 23 30 30 30 30 30 30 2e 20 20 53 6f 20 77 65 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 63 6f 6e 76 #000000...So.we.temporarily.conv
9980 65 72 74 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 20 74 6f 20 73 74 72 69 6e 67 73 2e 0a 28 64 ert.these.symbols.to.strings..(d
99a0 65 66 75 6e 20 64 6a 76 75 2d 63 6f 6e 76 65 72 74 2d 68 61 73 68 20 28 26 6f 70 74 69 6f 6e 61 efun.djvu-convert-hash.(&optiona
99c0 6c 20 72 65 76 65 72 73 65 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 63 6f 6c 6f 72 20 73 79 6d 62 l.reverse)..."Convert.color.symb
99e0 6f 6c 73 20 23 30 30 30 30 30 30 20 74 6f 20 73 74 72 69 6e 67 73 20 5c 22 23 30 30 30 30 30 30 ols.#000000.to.strings.\"#000000
9a00 5c 22 2e 0a 50 65 72 66 6f 72 6d 20 69 6e 76 65 72 73 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 \"..Perform.inverse.transformati
9a20 6f 6e 20 69 66 20 52 45 56 45 52 53 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 69 66 on.if.REVERSE.is.non-nil."...(if
9a40 20 72 65 76 65 72 73 65 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 20 28 66 6f 72 6d 61 74 .reverse.......(let.((re.(format
9a60 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 72 65 20 22 5c 22 22 20 22 23 22 20 22 5c 22 22 29 29 29 0a .djvu-color-re."\""."#"."\""))).
9a80 20 20 20 20 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 ........(goto-char.(point-min)).
9aa0 20 20 20 20 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 ........(while.(re-search-forwar
9ac0 64 20 72 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d d.re.nil.t)...........(replace-m
9ae0 61 74 63 68 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 29 20 6e 69 6c 20 6e 69 6c 20 6e 69 atch.(match-string.3).nil.nil.ni
9b00 6c 20 32 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 20 28 66 6f 72 6d 61 74 20 64 6a 76 l.2))).....(let.((re.(format.djv
9b20 75 2d 63 6f 6c 6f 72 2d 72 65 20 22 23 22 20 22 22 20 22 22 29 29 29 0a 20 20 20 20 20 20 28 67 u-color-re."#"."".""))).......(g
9b40 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 28 77 68 69 oto-char.(point-min)).......(whi
9b60 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 72 65 20 6e 69 6c 20 74 29 0a le.(re-search-forward.re.nil.t).
9b80 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 28 66 6f 72 6d 61 74 20 22 ........(replace-match.(format."
9ba0 5c 22 25 73 5c 22 22 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 29 29 20 6e 69 6c 20 6e 69 \"%s\"".(match-string.2)).nil.ni
9bc0 6c 20 6e 69 6c 20 32 29 29 29 29 29 0a 0a 3b 3b 20 57 69 74 68 6f 75 74 20 74 68 69 73 20 6d 61 l.nil.2)))))..;;.Without.this.ma
9be0 63 72 6f 2c 20 77 65 27 64 20 68 61 76 65 20 74 6f 20 64 65 61 63 74 69 76 61 74 65 20 74 68 65 cro,.we'd.have.to.deactivate.the
9c00 20 72 65 67 69 6f 6e 20 69 6d 6d 65 64 69 61 74 65 6c 79 2c 0a 3b 3b 20 62 65 66 6f 72 65 20 77 .region.immediately,.;;.before.w
9c20 65 20 68 61 76 65 20 64 65 63 69 64 65 64 20 77 68 61 74 20 74 6f 20 64 6f 20 77 69 74 68 20 69 e.have.decided.what.to.do.with.i
9c40 74 2e 20 20 54 68 61 74 20 77 6f 75 6c 64 20 62 65 20 61 6e 6e 6f 79 69 6e 67 2e 0a 3b 3b 20 4f t...That.would.be.annoying..;;.O
9c60 72 20 6c 65 61 76 65 20 74 68 65 20 72 65 67 69 6f 6e 20 61 63 74 69 76 65 20 2d 20 65 71 75 61 r.leave.the.region.active.-.equa
9c80 6c 6c 79 20 61 6e 6e 6f 79 69 6e 67 2e 0a 3b 3b 20 41 6c 73 6f 20 75 73 65 66 75 6c 20 6e 6f 77 lly.annoying..;;.Also.useful.now
9ca0 3a 20 74 68 65 20 72 65 67 69 6f 6e 20 72 65 6d 61 69 6e 73 20 61 63 74 69 76 65 20 69 66 20 77 :.the.region.remains.active.if.w
9cc0 65 20 61 62 6f 72 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 3b 3b 20 70 72 65 6d 61 74 75 72 65 e.abort.the.command.;;.premature
9ce0 6c 79 2e 0a 28 64 65 66 6d 61 63 72 6f 20 64 6a 76 75 2d 77 69 74 68 2d 72 65 67 69 6f 6e 20 28 ly..(defmacro.djvu-with-region.(
9d00 72 65 67 69 6f 6e 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 50 72 6f 76 69 64 65 20 52 45 region.&rest.body)..."Provide.RE
9d20 47 49 4f 4e 20 77 68 69 6c 65 20 65 78 65 63 75 74 69 6e 67 20 42 4f 44 59 2c 20 64 65 61 63 74 GION.while.executing.BODY,.deact
9d40 69 76 61 74 69 6e 67 20 52 45 47 49 4f 4e 20 61 66 74 65 72 77 61 72 64 73 2e 0a 54 68 69 73 20 ivating.REGION.afterwards..This.
9d60 69 73 20 75 73 65 66 75 6c 20 66 6f 72 20 74 68 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 73 70 is.useful.for.the.interactive.sp
9d80 65 63 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 6f 70 65 72 61 74 69 6e 67 20 6f 6e 20 52 45 47 49 ec.of.commands.operating.on.REGI
9da0 4f 4e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 ON."...(declare.(indent.1).(debu
9dc0 67 20 28 73 79 6d 62 6f 6c 70 20 62 6f 64 79 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 2c 72 65 g.(symbolp.body)))...`(let.((,re
9de0 67 69 6f 6e 20 28 6c 65 74 20 28 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 gion.(let.(beg.end).............
9e00 20 20 20 20 20 20 20 20 28 69 66 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 0a 20 20 20 20 20 ........(if.(use-region-p)......
9e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 72 65 ...................(setq.beg.(re
9e40 67 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gion-beginning).................
9e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 20 28 72 65 67 69 6f 6e 2d 65 6e 64 29 29 0a ..............end.(region-end)).
9e80 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 71 20 62 65 67 20 ......................(setq.beg.
9ea0 28 70 6f 69 6e 74 29 20 65 6e 64 20 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (point).end.beg))...............
9ec0 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 62 ......(setq.beg.(djvu-property-b
9ee0 65 67 20 62 65 67 20 27 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eg.beg.'word)...................
9f00 20 20 20 20 20 20 20 20 65 6e 64 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 65 6e 64 20 65 ........end.(djvu-property-end.e
9f20 6e 64 20 27 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 nd.'word)).....................(
9f40 63 6f 6e 73 20 62 65 67 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 28 70 72 6f 67 31 20 28 70 72 cons.beg.end))))......(prog1.(pr
9f60 6f 67 6e 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 74 72 61 6e ogn.,@body)........(if.(and.tran
9f80 73 69 65 6e 74 2d 6d 61 72 6b 2d 6d 6f 64 65 20 6d 61 72 6b 2d 61 63 74 69 76 65 29 20 28 64 65 sient-mark-mode.mark-active).(de
9fa0 61 63 74 69 76 61 74 65 2d 6d 61 72 6b 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d activate-mark)))))..(defun.djvu-
9fc0 72 65 67 69 6f 6e 2d 73 74 72 69 6e 67 20 28 72 65 67 69 6f 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 region-string.(region.&optional.
9fe0 6c 69 73 74 29 0a 20 20 22 52 65 74 75 72 6e 20 52 45 47 49 4f 4e 20 6f 66 20 63 75 72 72 65 6e list)..."Return.REGION.of.curren
a000 74 20 62 75 66 66 65 72 20 61 73 20 73 74 72 69 6e 67 2e 20 20 52 45 47 49 4f 4e 20 69 73 20 61 t.buffer.as.string...REGION.is.a
a020 20 63 6f 6e 73 20 28 42 45 47 20 2e 20 45 4e 44 29 2e 0a 41 70 70 6c 79 20 72 65 70 6c 61 63 65 .cons.(BEG...END)..Apply.replace
a040 6d 65 6e 74 73 20 4c 49 53 54 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 73 75 62 73 74 72 69 ments.LIST.to.the.buffer.substri
a060 6e 67 20 64 65 66 69 6e 65 64 20 62 79 20 52 45 47 49 4f 4e 2e 0a 45 61 63 68 20 65 6c 65 6d 65 ng.defined.by.REGION..Each.eleme
a080 6e 74 20 69 6e 20 4c 49 53 54 20 69 73 20 61 20 63 6f 6e 73 20 28 52 45 47 45 58 50 20 2e 20 52 nt.in.LIST.is.a.cons.(REGEXP...R
a0a0 45 50 29 2e 0a 4c 49 53 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 6a 76 75 2d 73 74 72 69 EP)..LIST.defaults.to.`djvu-stri
a0c0 6e 67 2d 72 65 70 6c 61 63 65 2d 6c 69 73 74 27 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 72 65 ng-replace-list'...Return.the.re
a0e0 73 75 6c 74 69 6e 67 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 72 69 6e 67 sulting.string."...(let.((string
a100 20 28 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 .(buffer-substring-no-properties
a120 20 28 63 61 72 20 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(car.region)...................
a140 20 20 20 20 20 20 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 ..............................(c
a160 64 72 20 72 65 67 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 63 61 73 65 2d 66 6f 6c 64 2d 73 dr.region))).........case-fold-s
a180 65 61 72 63 68 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 74 20 28 6f 72 20 6c 69 73 74 earch).....(dolist.(elt.(or.list
a1a0 20 64 6a 76 75 2d 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 2d 6c 69 73 74 29 29 0a 20 20 20 20 .djvu-string-replace-list)).....
a1c0 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 ..(setq.string.(replace-regexp-i
a1e0 6e 2d 73 74 72 69 6e 67 20 28 63 61 72 20 65 6c 74 29 20 28 63 64 72 20 65 6c 74 29 20 73 74 72 n-string.(car.elt).(cdr.elt).str
a200 69 6e 67 29 29 29 0a 20 20 20 20 73 74 72 69 6e 67 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 ing))).....string))..(defun.djvu
a220 2d 72 65 61 64 2d 73 74 72 69 6e 67 20 28 70 72 6f 6d 70 74 20 72 65 67 69 6f 6e 20 26 6f 70 74 -read-string.(prompt.region.&opt
a240 69 6f 6e 61 6c 20 69 6e 69 74 69 61 6c 2d 69 6e 70 75 74 29 0a 20 20 22 52 65 61 64 20 61 20 73 ional.initial-input)..."Read.a.s
a260 74 72 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2c 20 70 72 6f 6d 70 tring.from.the.minibuffer,.promp
a280 74 69 6e 67 20 77 69 74 68 20 73 74 72 69 6e 67 20 50 52 4f 4d 50 54 2e 0a 52 45 47 49 4f 4e 20 ting.with.string.PROMPT..REGION.
a2a0 69 73 20 61 20 63 6f 6e 73 20 28 42 45 47 20 2e 20 45 4e 44 29 20 74 68 61 74 20 64 65 66 69 6e is.a.cons.(BEG...END).that.defin
a2c0 65 73 20 74 68 65 20 64 65 66 61 75 6c 74 2e 0a 49 66 20 49 4e 49 54 49 41 4c 2d 49 4e 50 55 54 es.the.default..If.INITIAL-INPUT
a2e0 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 75 73 65 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 52 45 47 49 .is.non-nil.use.string.from.REGI
a300 4f 4e 20 61 73 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 2e 22 0a 20 20 28 69 66 20 69 6e 69 74 ON.as.initial.input."...(if.init
a320 69 61 6c 2d 69 6e 70 75 74 0a 20 20 20 20 20 20 3b 3b 20 4d 61 6b 65 20 74 68 65 20 73 74 72 69 ial-input.......;;.Make.the.stri
a340 6e 67 20 69 6e 20 52 45 47 49 4f 4e 20 74 68 65 20 69 6e 69 74 69 61 6c 20 69 6e 70 75 74 2e 0a ng.in.REGION.the.initial.input..
a360 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 70 72 6f 6d 70 74 20 28 64 6a 76 75 2d ......(read-string.prompt.(djvu-
a380 72 65 67 69 6f 6e 2d 73 74 72 69 6e 67 20 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 region-string.region)...........
a3a0 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 64 6a 76 75 2d 69 6e 68 65 72 69 74 2d 69 6e .........nil.nil.djvu-inherit-in
a3c0 70 75 74 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 70 72 6f put-method).....(read-string.pro
a3e0 6d 70 74 20 6e 69 6c 20 6e 69 6c 20 28 64 6a 76 75 2d 72 65 67 69 6f 6e 2d 73 74 72 69 6e 67 20 mpt.nil.nil.(djvu-region-string.
a400 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 69 6e region)..................djvu-in
a420 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a herit-input-method)))..(defun.dj
a440 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 20 28 63 6f 6c 6f 72 29 0a 20 20 22 vu-interactive-color.(color)..."
a460 52 65 74 75 72 6e 20 63 6f 6c 6f 72 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 66 6f 72 20 75 Return.color.specification.for.u
a480 73 65 20 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 61 6c 6c 73 2e 0a 54 68 65 20 63 6f 6c se.in.interactive.calls..The.col
a4a0 6f 72 20 69 73 20 74 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 60 64 6a 76 75 2d 63 or.is.the.Nth.element.of.`djvu-c
a4c0 6f 6c 6f 72 2d 61 6c 69 73 74 27 2e 0a 48 65 72 65 20 4e 20 69 73 20 60 63 75 72 72 65 6e 74 2d olor-alist'..Here.N.is.`current-
a4e0 70 72 65 66 69 78 2d 61 72 67 27 20 69 66 20 74 68 69 73 20 69 73 20 61 20 6e 6f 6e 2d 6e 65 67 prefix-arg'.if.this.is.a.non-neg
a500 61 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 4e 20 69 73 20 31 20 2d 20 60 63 75 72 72 65 6e 74 2d ative.number..N.is.1.-.`current-
a520 70 72 65 66 69 78 2d 61 72 67 27 20 2f 20 34 20 69 66 20 74 68 65 20 70 72 65 66 69 78 20 69 73 prefix-arg'./.4.if.the.prefix.is
a540 20 61 20 63 6f 6e 73 2c 0a 74 68 61 74 20 69 73 2c 20 60 43 2d 75 27 20 79 69 65 6c 64 73 20 4e .a.cons,.that.is,.`C-u'.yields.N
a560 20 3d 20 30 2e 0a 41 72 67 20 43 4f 4c 4f 52 20 64 65 66 69 6e 65 73 20 74 68 65 20 64 65 66 61 .=.0..Arg.COLOR.defines.the.defa
a580 75 6c 74 20 77 68 65 6e 20 74 68 65 72 65 20 69 73 20 6e 6f 20 70 72 65 66 69 78 20 61 72 67 2e ult.when.there.is.no.prefix.arg.
a5a0 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 60 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 .Return.nil.if.`current-prefix-a
a5c0 72 67 27 20 69 73 20 61 20 6e 65 67 61 74 69 76 65 20 6e 75 6d 62 65 72 2e 0a 53 65 65 20 61 6c rg'.is.a.negative.number..See.al
a5e0 73 6f 20 60 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 2d 72 65 61 64 27 so.`djvu-interactive-color-read'
a600 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6c 6e 75 6d 20 28 6f 72 20 28 61 6e 64 20 28 63 6f 6e ."...(let.((colnum.(or.(and.(con
a620 73 70 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 sp.current-prefix-arg)..........
a640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2d 20 28 2f 20 28 63 61 72 20 63 75 72 72 ................(1-.(/.(car.curr
a660 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ent-prefix-arg).4)))............
a680 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 69 6e 74 65 67 65 72 70 20 63 75 72 72 65 6e 74 2d .........(and.(integerp.current-
a6a0 70 72 65 66 69 78 2d 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 prefix-arg).....................
a6c0 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 29 29 0a 20 20 20 20 .....current-prefix-arg)))).....
a6e0 28 63 6f 6e 64 20 28 28 6e 6f 74 20 63 6f 6c 6e 75 6d 29 20 63 6f 6c 6f 72 29 20 3b 20 75 73 65 (cond.((not.colnum).color).;.use
a700 20 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 28 28 3e 3d 20 63 6f 6c 6e 75 6d 20 28 .default...........((>=.colnum.(
a720 6c 65 6e 67 74 68 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 length.djvu-color-alist)).......
a740 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 6f 6c 6f 72 20 75 6e 64 65 66 69 6e 65 .....(user-error."Color.undefine
a760 64 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3c 3d 20 30 20 63 6f 6c 6e 75 6d 29 0a 20 20 d"))...........((<=.0.colnum)...
a780 20 20 20 20 20 20 20 20 20 28 63 61 72 20 28 6e 74 68 20 63 6f 6c 6e 75 6d 20 64 6a 76 75 2d 63 .........(car.(nth.colnum.djvu-c
a7a0 6f 6c 6f 72 2d 61 6c 69 73 74 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e olor-alist))))))..(defun.djvu-in
a7c0 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 2d 72 65 61 64 20 28 29 0a 20 20 22 52 65 61 64 20 teractive-color-read.()..."Read.
a7e0 63 6f 6c 6f 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2e 0a 54 68 65 20 72 65 74 75 72 6e 20 color.interactively..The.return.
a800 76 61 6c 75 65 20 69 73 20 74 68 65 20 63 61 72 20 6f 66 20 61 6e 20 65 6c 65 6d 65 6e 74 20 6f value.is.the.car.of.an.element.o
a820 66 20 60 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 27 0a 6f 72 20 6e 69 6c 20 69 66 20 74 f.`djvu-color-alist'.or.nil.if.t
a840 68 65 20 75 73 65 72 20 73 65 6c 65 63 74 73 20 5c 22 74 72 61 6e 73 70 61 72 65 6e 74 5c 22 2e he.user.selects.\"transparent\".
a860 0a 53 65 65 20 61 6c 73 6f 20 60 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f .See.also.`djvu-interactive-colo
a880 72 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d r'."...(let.((color.(completing-
a8a0 72 65 61 64 20 22 4e 65 77 20 43 6f 6c 6f 72 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 read."New.Color:."..............
a8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 28 22 74 72 61 6e ...................(cons.'("tran
a8e0 73 70 61 72 65 6e 74 22 29 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 20 29 0a 20 20 20 sparent").djvu-color-alist.)....
a900 20 20 20 20 20 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 69 6c .............................nil
a920 20 74 29 29 29 0a 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 3d 20 63 6f 6c 6f .t)))......(unless.(string=.colo
a940 72 20 22 74 72 61 6e 73 70 61 72 65 6e 74 22 29 0a 20 20 20 20 20 20 20 63 6f 6c 6f 72 29 29 29 r."transparent")........color)))
a960 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 70 61 67 65 2d 75 72 6c 20 28 26 6f 70 74 69 6f 6e 61 ..(defun.djvu-page-url.(&optiona
a980 6c 20 70 61 67 65 20 64 69 72 20 64 6f 63 29 0a 20 20 22 46 6f 72 20 44 6a 76 75 20 44 4f 43 20 l.page.dir.doc)..."For.Djvu.DOC.
a9a0 72 65 74 75 72 6e 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 75 72 6c 20 66 6f 72 20 50 41 47 45 return.the.internal.url.for.PAGE
a9c0 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 60 64 6a 76 75 2d 75 ..This.is.the.inverse.of.`djvu-u
a9e0 72 6c 2d 70 61 67 65 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61 67 65 20 28 6f 72 20 70 61 67 rl-page'."...(let.((page.(or.pag
aa00 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 29 29 0a 20 20 20 20 28 66 6f e.(djvu-ref.page.doc)))).....(fo
aa20 72 6d 61 74 20 22 23 25 73 22 20 28 69 66 20 28 65 71 20 27 6c 6f 6e 67 20 28 6f 72 20 64 69 72 rmat."#%s".(if.(eq.'long.(or.dir
aa40 20 28 64 6a 76 75 2d 72 65 66 20 72 65 73 6f 6c 76 65 2d 75 72 6c 20 64 6f 63 29 29 29 0a 20 20 .(djvu-ref.resolve-url.doc)))...
aa60 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 70 ....................(cdr.(assq.p
aa80 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 29 0a 20 20 20 age.(djvu-ref.page-id.doc)))....
aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 29 29 29 29 0a 0a 28 64 65 66 75 .................page))))..(defu
aac0 6e 20 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 75 72 6c 20 28 63 6f 6c 6f 72 29 0a 20 n.djvu-interactive-url.(color)..
aae0 20 22 52 65 74 75 72 6e 20 55 52 4c 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 66 6f 72 20 75 ."Return.URL.specification.for.u
ab00 73 65 20 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 61 6c 6c 73 2e 22 0a 20 20 28 6c 65 74 se.in.interactive.calls."...(let
ab20 20 28 28 66 6d 74 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 20 55 52 4c 3a 20 22 20 28 6f 72 20 .((fmt.(format."(%s).URL:.".(or.
ab40 63 6f 6c 6f 72 20 22 6e 6f 20 63 6f 6c 6f 72 22 29 29 29 0a 20 20 20 20 20 20 20 20 76 61 6c 29 color."no.color"))).........val)
ab60 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 76 61 6c 29 0a 20 20 20 20 20 20 28 73 65 74 .....(while.(not.val).......(set
ab80 71 20 76 61 6c 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 66 6d 74 29 29 0a 20 20 20 20 20 20 28 q.val.(read-string.fmt)).......(
aba0 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 3f 5c 5c 28 5b 30 2d cond.((string-match."\\`#?\\([0-
abc0 39 5d 2b 5c 5c 29 5c 5c 27 22 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 9]+\\)\\'".val)..............(se
abe0 74 71 20 76 61 6c 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 31 20 76 61 6c 29 tq.val.(djvu-match-number.1.val)
ac00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 3d 20 31 20 76 61 6c 20 28 64 6a )..............(if.(<=.1.val.(dj
ac20 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vu-ref.pagemax))................
ac40 20 20 28 73 65 74 71 20 76 61 6c 20 28 64 6a 76 75 2d 70 61 67 65 2d 75 72 6c 20 76 61 6c 29 29 ..(setq.val.(djvu-page-url.val))
ac60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 50 61 67 65 20 6e ................(message."Page.n
ac80 75 6d 62 65 72 20 25 64 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 20 28 31 2d 25 64 29 22 0a 20 20 umber.%d.out.of.range.(1-%d)"...
aca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 20 28 64 6a 76 75 2d ......................val.(djvu-
acc0 72 65 66 20 70 61 67 65 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 69 ref.pagemax))................(si
ace0 74 2d 66 6f 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 61 t-for.1)................(setq.va
ad00 6c 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 73 74 72 69 l.nil))).............((not.(stri
ad20 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5b 61 2d 7a 5d 2b 3a 2f 2f 22 20 76 61 6c 29 29 0a 20 20 ng-match."\\`[a-z]+://".val))...
ad40 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 55 52 4c 20 60 25 73 27 20 6e 6f ...........(message."URL.`%s'.no
ad60 74 20 72 65 63 6f 67 6e 69 7a 65 64 22 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t.recognized".val)..............
ad80 28 73 69 74 2d 66 6f 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 (sit-for.1)..............(setq.v
ada0 61 6c 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 76 61 6c 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 al.nil)))).....val))..(defun.djv
adc0 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 20 28 63 6f 6c 6f 72 20 26 6f 70 74 69 6f u-color-background.(color.&optio
ade0 6e 61 6c 20 62 61 63 6b 67 72 6f 75 6e 64 20 6f 70 61 63 69 74 79 20 69 6e 76 65 72 74 29 0a 20 nal.background.opacity.invert)..
ae00 20 22 46 6f 72 20 72 67 62 20 43 4f 4c 4f 52 20 61 6e 64 20 42 41 43 4b 47 52 4f 55 4e 44 20 61 ."For.rgb.COLOR.and.BACKGROUND.a
ae20 70 70 6c 79 20 4f 50 41 43 49 54 59 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 6e 65 77 20 72 67 62 pply.OPACITY..Return.the.new.rgb
ae40 20 63 6f 6c 6f 72 20 73 74 72 69 6e 67 2e 0a 49 66 20 42 41 43 4b 47 52 4f 55 4e 44 20 69 73 20 .color.string..If.BACKGROUND.is.
ae60 6e 69 6c 2c 20 75 73 65 20 60 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 27 nil,.use.`djvu-color-background'
ae80 2e 0a 49 66 20 4f 50 41 43 49 54 59 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 60 64 6a 76 75 2d 6f ..If.OPACITY.is.nil,.use.`djvu-o
aea0 70 61 63 69 74 79 27 2e 0a 49 66 20 49 4e 56 45 52 54 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 61 70 pacity'..If.INVERT.is.non-nil.ap
aec0 70 6c 79 20 69 6e 76 65 72 73 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a 20 20 28 ply.inverse.transformation."...(
aee0 77 68 65 6e 20 63 6f 6c 6f 72 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 6c 6f 72 20 28 69 66 when.color.....(let*.((color.(if
af00 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 22 20 63 6f 6c 6f 72 29 20 63 6f 6c .(string-match."\\`#".color).col
af20 6f 72 0a 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 or.....................(cdr.(ass
af40 6f 63 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 29 29 29 29 0a 20 20 oc.color.djvu-color-alist))))...
af60 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 28 69 66 20 28 61 6e 64 20 62 61 .........(background.(if.(and.ba
af80 63 6b 67 72 6f 75 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 22 20 62 61 ckground.(string-match."\\`#".ba
afa0 63 6b 67 72 6f 75 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ckground))......................
afc0 20 20 20 20 20 20 62 61 63 6b 67 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......background................
afe0 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f 63 20 28 6f 72 20 62 61 63 6b 67 72 ..........(cdr.(assoc.(or.backgr
b000 6f 75 6e 64 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 29 0a 20 20 20 20 ound.djvu-color-background).....
b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b040 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .djvu-color-alist))))...........
b060 20 28 61 20 28 2f 20 28 66 6c 6f 61 74 20 28 6f 72 20 6f 70 61 63 69 74 79 20 64 6a 76 75 2d 6f .(a.(/.(float.(or.opacity.djvu-o
b080 70 61 63 69 74 79 29 29 20 32 30 30 29 29 20 3b 20 66 6f 72 65 67 72 6f 75 6e 64 0a 20 20 20 20 pacity)).200)).;.foreground.....
b0a0 20 20 20 20 20 20 20 28 62 20 28 2d 20 31 20 61 29 29 29 20 3b 20 62 61 63 6b 67 72 6f 75 6e 64 .......(b.(-.1.a))).;.background
b0c0 0a 20 20 20 20 20 20 28 69 66 20 69 6e 76 65 72 74 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d .......(if.invert...........(cl-
b0e0 66 6c 65 74 20 28 28 6d 69 78 20 28 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 flet.((mix.(beg.end)............
b100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 30 20 28 6d 69 6e 20 23 78 46 46 0a 20 ..............(max.0.(min.#xFF..
b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b140 20 20 20 20 28 72 6f 75 6e 64 20 28 2f 20 28 2d 20 28 64 6a 76 75 2d 73 75 62 73 74 72 69 6e 67 ....(round.(/.(-.(djvu-substring
b160 2d 6e 75 6d 62 65 72 20 63 6f 6c 6f 72 20 62 65 67 20 65 6e 64 20 31 36 29 0a 20 20 20 20 20 20 -number.color.beg.end.16).......
b180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b1a0 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 62 20 28 64 6a 76 75 2d 73 75 62 73 74 72 69 6e 67 ............(*.b.(djvu-substring
b1c0 2d 6e 75 6d 62 65 72 20 62 61 63 6b 67 72 6f 75 6e 64 20 62 65 67 20 65 6e 64 20 31 36 29 29 29 -number.background.beg.end.16)))
b1e0 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 ................................
b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 ................a)))))).........
b220 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23 25 30 32 58 25 30 32 58 25 30 32 58 22 0a 20 20 20 20 ....(format."#%02X%02X%02X".....
b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 78 20 31 20 33 29 20 28 6d 69 78 20 33 ................(mix.1.3).(mix.3
b260 20 35 29 20 28 6d 69 78 20 35 20 37 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 .5).(mix.5.7))).........(cl-flet
b280 20 28 28 6d 69 78 20 28 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .((mix.(beg.end)................
b2a0 20 20 20 20 20 20 20 20 28 6d 61 78 20 30 20 28 6d 69 6e 20 23 78 46 46 0a 20 20 20 20 20 20 20 ........(max.0.(min.#xFF........
b2c0 20 20 20 20 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 72 6f 75 ............................(rou
b2e0 6e 64 20 28 2b 20 28 2a 20 61 20 28 64 6a 76 75 2d 73 75 62 73 74 72 69 6e 67 2d 6e 75 6d 62 65 nd.(+.(*.a.(djvu-substring-numbe
b300 72 20 63 6f 6c 6f 72 20 62 65 67 20 65 6e 64 20 31 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.color.beg.end.16))............
b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b340 20 20 28 2a 20 62 20 28 64 6a 76 75 2d 73 75 62 73 74 72 69 6e 67 2d 6e 75 6d 62 65 72 20 62 61 ..(*.b.(djvu-substring-number.ba
b360 63 6b 67 72 6f 75 6e 64 20 62 65 67 20 65 6e 64 20 31 36 29 29 29 29 29 29 29 29 0a 20 20 20 20 ckground.beg.end.16)))))))).....
b380 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23 25 30 32 58 25 30 32 58 25 30 32 58 22 0a 20 20 ......(format."#%02X%02X%02X"...
b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 78 20 31 20 33 29 20 28 6d 69 78 20 33 ................(mix.1.3).(mix.3
b3c0 20 35 29 20 28 6d 69 78 20 35 20 37 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 44 6a 76 75 20 6d 6f .5).(mix.5.7)))))))..;;;.Djvu.mo
b3e0 64 65 73 0a 0a 28 64 65 66 76 61 72 20 64 6a 76 75 2d 72 65 61 64 2d 6d 6f 64 65 2d 6d 61 70 0a des..(defvar.djvu-read-mode-map.
b400 20 20 28 6c 65 74 20 28 28 6b 6d 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 ..(let.((km.(make-sparse-keymap)
b420 29 29 0a 20 20 20 20 3b 3b 20 60 73 70 65 63 69 61 6c 2d 6d 6f 64 65 2d 6d 61 70 27 0a 20 20 20 )).....;;.`special-mode-map'....
b440 20 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 3f 22 20 27 64 65 73 63 72 69 62 65 2d .;.(define-key.km."?".'describe-
b460 6d 6f 64 65 29 0a 20 20 20 20 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 3e 22 20 27 mode).....;.(define-key.km.">".'
b480 65 6e 64 2d 6f 66 2d 62 75 66 66 65 72 29 0a 20 20 20 20 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 end-of-buffer).....;.(define-key
b4a0 20 6b 6d 20 22 3c 22 20 27 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 75 66 66 65 72 29 0a 0a 20 .km."<".'beginning-of-buffer)...
b4c0 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 5b 72 65 6d 61 70 20 73 63 72 6f 6c 6c 2d ...(define-key.km.[remap.scroll-
b4e0 75 70 2d 63 6f 6d 6d 61 6e 64 5d 20 20 20 27 64 6a 76 75 2d 73 63 72 6f 6c 6c 2d 75 70 2d 63 6f up-command]...'djvu-scroll-up-co
b500 6d 6d 61 6e 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 5b 72 65 6d 61 70 mmand).....(define-key.km.[remap
b520 20 73 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 5d 20 27 64 6a 76 75 2d 73 63 72 6f .scroll-down-command].'djvu-scro
b540 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 ll-down-command).....(define-key
b560 20 6b 6d 20 5b 72 65 6d 61 70 20 6e 65 78 74 2d 6c 69 6e 65 5d 20 20 20 20 20 20 20 20 20 20 20 .km.[remap.next-line]...........
b580 27 64 6a 76 75 2d 6e 65 78 74 2d 6c 69 6e 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 'djvu-next-line).....(define-key
b5a0 20 6b 6d 20 5b 72 65 6d 61 70 20 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 5d 20 20 20 20 20 20 20 .km.[remap.previous-line].......
b5c0 27 64 6a 76 75 2d 70 72 65 76 2d 6c 69 6e 65 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 'djvu-prev-line)......(define-ke
b5e0 79 20 6b 6d 20 22 69 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 69 6d 61 67 65 2d 74 y.km."i"...........'djvu-image-t
b600 6f 67 67 6c 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 76 22 20 20 20 oggle).....(define-key.km."v"...
b620 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 76 69 65 77 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d ........'djvu-view).....(define-
b640 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 76 22 20 20 20 20 27 64 6a 76 75 2d 76 69 65 77 29 key.km."\C-c\C-v"....'djvu-view)
b660 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 6e 22 20 20 20 20 20 20 20 20 20 .....(define-key.km."n".........
b680 20 20 27 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b ..'djvu-next-page).....(define-k
b6a0 65 79 20 6b 6d 20 22 70 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 70 72 65 76 2d 70 ey.km."p"...........'djvu-prev-p
b6c0 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 67 22 20 20 20 20 20 age).....(define-key.km."g".....
b6e0 20 20 20 20 20 20 27 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 ......'djvu-goto-page).....(defi
b700 6e 65 2d 6b 65 79 20 6b 6d 20 22 66 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 68 69 ne-key.km."f"...........'djvu-hi
b720 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b story-forward).....(define-key.k
b740 6d 20 22 72 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 68 69 73 74 6f 72 79 2d 62 61 m."r"...........'djvu-history-ba
b760 63 6b 77 61 72 64 29 20 3b 20 22 72 65 74 75 72 6e 22 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b ckward).;."return".....(define-k
b780 65 79 20 6b 6d 20 22 6b 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 6b 69 6c 6c 2d 64 ey.km."k"...........'djvu-kill-d
b7a0 6f 63 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 73 22 20 20 20 20 20 20 oc).....(define-key.km."s"......
b7c0 20 20 20 20 20 27 64 6a 76 75 2d 73 61 76 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 .....'djvu-save).....(define-key
b7e0 20 6b 6d 20 22 5c 43 2d 78 5c 43 2d 73 22 20 20 20 20 27 64 6a 76 75 2d 73 61 76 65 29 0a 20 20 .km."\C-x\C-s"....'djvu-save)...
b800 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 71 22 20 20 20 20 20 20 20 20 20 20 20 27 ..(define-key.km."q"...........'
b820 64 6a 76 75 2d 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 djvu-quit-window).....(define-ke
b840 79 20 6b 6d 20 22 47 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 72 65 76 65 72 74 2d y.km."G"...........'djvu-revert-
b860 62 75 66 66 65 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 28 6b 62 64 20 buffer).....(define-key.km.(kbd.
b880 22 43 2d 63 20 43 2d 53 2d 67 22 29 20 27 64 6a 76 75 2d 72 65 76 65 72 74 2d 62 75 66 66 65 72 "C-c.C-S-g").'djvu-revert-buffer
b8a0 29 20 3b 20 5b 3f 5c 43 2d 63 20 3f 5c 43 2d 5c 53 2d 67 5d 0a 0a 20 20 20 20 3b 3b 20 46 6f 72 ).;.[?\C-c.?\C-\S-g]......;;.For
b8c0 20 73 77 69 74 63 68 20 63 6f 6d 6d 61 6e 64 73 20 77 65 20 67 69 76 65 20 73 68 6f 72 74 20 6b .switch.commands.we.give.short.k
b8e0 65 79 20 62 69 6e 64 69 6e 67 73 2c 0a 20 20 20 20 3b 3b 20 62 75 74 20 66 6f 72 20 63 6f 6e 73 ey.bindings,.....;;.but.for.cons
b900 69 73 74 65 6e 63 79 20 77 65 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 20 74 68 65 20 6c 6f 6e 67 istency.we.also.provide.the.long
b920 20 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 3b 3b 20 75 73 65 64 20 62 79 20 60 64 6a 76 75 2d 73 .bindings.....;;.used.by.`djvu-s
b940 63 72 69 70 74 2d 6d 6f 64 65 27 2e 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 cript-mode'......(define-key.km.
b960 22 74 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 74 65 78 74 29 "t"...........'djvu-switch-text)
b980 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 74 22 20 20 .....(define-key.km."\C-c\C-t"..
b9a0 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 74 65 78 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 ..'djvu-switch-text).....(define
b9c0 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 73 22 20 20 20 20 27 64 6a 76 75 2d 72 65 2d 73 -key.km."\C-c\C-s"....'djvu-re-s
b9e0 65 61 72 63 68 2d 66 6f 72 77 61 72 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b earch-forward).....(define-key.k
ba00 6d 20 22 5c 4d 2d 2c 22 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 72 65 2d 73 65 61 72 63 68 2d m."\M-,"........'djvu-re-search-
ba20 66 6f 72 77 61 72 64 2d 63 6f 6e 74 69 6e 75 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 forward-continue).....(define-ke
ba40 79 20 6b 6d 20 22 65 65 22 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 65 64 69 74 2d 77 6f y.km."ee"..........'djvu-edit-wo
ba60 72 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 65 73 22 20 20 20 20 20 rd).....(define-key.km."es".....
ba80 20 20 20 20 20 27 64 6a 76 75 2d 73 70 6c 69 74 2d 77 6f 72 64 29 0a 20 20 20 20 28 64 65 66 69 .....'djvu-split-word).....(defi
baa0 6e 65 2d 6b 65 79 20 6b 6d 20 22 65 77 22 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 6d 65 ne-key.km."ew"..........'djvu-me
bac0 72 67 65 2d 77 6f 72 64 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 65 rge-words).....(define-key.km."e
bae0 6c 22 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e 65 73 29 0a 20 l"..........'djvu-merge-lines)..
bb00 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 54 22 20 20 20 20 20 20 20 20 20 20 20 ...(define-key.km."T"...........
bb20 27 64 6a 76 75 2d 74 65 78 74 2d 73 63 72 69 70 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 'djvu-text-script).....(define-k
bb40 65 79 20 6b 6d 20 22 50 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 70 72 6f 63 65 73 ey.km."P"...........'djvu-proces
bb60 73 2d 73 63 72 69 70 74 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 61 s-script)......(define-key.km."a
bb80 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 61 6e 6e 6f 74 29 0a "...........'djvu-switch-annot).
bba0 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 61 22 20 20 20 ....(define-key.km."\C-c\C-a"...
bbc0 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 61 6e 6e 6f 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 .'djvu-switch-annot).....(define
bbe0 2d 6b 65 79 20 6b 6d 20 22 53 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 -key.km."S"...........'djvu-swit
bc00 63 68 2d 73 68 61 72 65 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 28 6b ch-shared).....(define-key.km.(k
bc20 62 64 20 22 43 2d 63 20 43 2d 53 2d 53 22 29 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 73 68 61 bd."C-c.C-S-S").'djvu-switch-sha
bc40 72 65 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 68 22 20 20 20 20 20 red).....(define-key.km."h".....
bc60 20 20 20 20 20 20 27 64 6a 76 75 2d 72 65 63 74 2d 72 65 67 69 6f 6e 29 20 3b 20 68 69 67 68 6c ......'djvu-rect-region).;.highl
bc80 69 67 68 74 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 75 22 20 20 20 20 20 ight.....(define-key.km."u".....
bca0 20 20 20 20 20 20 27 64 6a 76 75 2d 72 65 63 74 2d 72 65 67 69 6f 6e 2d 75 72 6c 29 0a 20 20 20 ......'djvu-rect-region-url)....
bcc0 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 41 22 20 20 20 20 20 20 20 20 20 20 20 27 64 .(define-key.km."A"...........'d
bce0 6a 76 75 2d 61 6e 6e 6f 74 2d 73 63 72 69 70 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 jvu-annot-script).....(define-ke
bd00 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 63 22 20 20 20 20 27 64 6a 76 75 2d 75 70 64 61 74 65 2d y.km."\C-c\C-c"....'djvu-update-
bd20 63 6f 6c 6f 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c color).....(define-key.km."\C-c\
bd40 43 2d 75 22 20 20 20 20 27 64 6a 76 75 2d 75 70 64 61 74 65 2d 75 72 6c 29 0a 0a 20 20 20 20 28 C-u"....'djvu-update-url)......(
bd60 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 6f 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 define-key.km."o"...........'djv
bd80 75 2d 73 77 69 74 63 68 2d 6f 75 74 6c 69 6e 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 u-switch-outline).....(define-ke
bda0 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 6f 22 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d y.km."\C-c\C-o"....'djvu-switch-
bdc0 6f 75 74 6c 69 6e 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 62 22 20 outline).....(define-key.km."b".
bde0 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 62 6f 6f 6b 6d 61 72 6b 73 ..........'djvu-switch-bookmarks
be00 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 62 22 20 ).....(define-key.km."\C-c\C-b".
be20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 62 6f 6f 6b 6d 61 72 6b 73 29 0a 20 20 20 20 28 ...'djvu-switch-bookmarks).....(
be40 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 6c 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 define-key.km."l"...........'djv
be60 75 2d 6d 61 72 6b 2d 6c 69 6e 65 2d 62 65 67 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 u-mark-line-beg).....(define-key
be80 20 6b 6d 20 22 42 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b .km."B"...........'djvu-bookmark
bea0 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 6d 22 20 20 20 20 20 20 20 20 ).....(define-key.km."m"........
bec0 20 20 20 27 64 6a 76 75 2d 68 69 6d 61 72 6b 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 ...'djvu-himark)......(define-ke
bee0 79 20 6b 6d 20 22 44 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 64 65 6c 65 74 65 2d y.km."D"...........'djvu-delete-
bf00 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 55 22 20 20 20 20 page).....(define-key.km."U"....
bf20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 61 6c 6c 2d 75 72 6c 73 29 0a 0a .......'djvu-resolve-all-urls)..
bf40 20 20 20 20 3b 3b 20 75 6e 75 73 65 64 3a 20 63 20 6a 20 77 20 78 20 79 20 7a 0a 20 20 20 20 6b ....;;.unused:.c.j.w.x.y.z.....k
bf60 6d 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 44 6a 76 75 20 52 65 61 64 20 4d 6f 64 65 2e m)..."Keymap.for.Djvu.Read.Mode.
bf80 0a 54 68 69 73 20 69 73 20 61 20 63 68 69 6c 64 20 6f 66 20 60 73 70 65 63 69 61 6c 2d 6d 6f 64 .This.is.a.child.of.`special-mod
bfa0 65 2d 6d 61 70 27 2e 22 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 0a 20 20 64 e-map'.")..(easy-menu-define...d
bfc0 6a 76 75 2d 72 65 61 64 2d 6d 65 6e 75 20 64 6a 76 75 2d 72 65 61 64 2d 6d 6f 64 65 2d 6d 61 70 jvu-read-menu.djvu-read-mode-map
bfe0 20 22 44 6a 76 75 20 4d 65 6e 75 22 0a 20 20 27 28 22 44 6a 76 75 22 0a 20 20 20 20 5b 22 44 6a ."Djvu.Menu"...'("Djvu".....["Dj
c000 76 69 65 77 20 46 69 6c 65 22 20 64 6a 76 75 2d 76 69 65 77 20 74 5d 0a 20 20 20 20 5b 22 54 6f view.File".djvu-view.t].....["To
c020 67 67 6c 65 20 49 6d 61 67 65 20 6d 6f 64 65 22 20 64 6a 76 75 2d 69 6d 61 67 65 2d 74 6f 67 67 ggle.Image.mode".djvu-image-togg
c040 6c 65 20 74 5d 0a 20 20 20 20 5b 22 47 6f 20 74 6f 20 50 61 67 65 22 20 64 6a 76 75 2d 67 6f 74 le.t].....["Go.to.Page".djvu-got
c060 6f 2d 70 61 67 65 20 74 5d 0a 20 20 20 20 5b 22 53 61 76 65 20 44 6f 63 22 20 64 6a 76 75 2d 73 o-page.t].....["Save.Doc".djvu-s
c080 61 76 65 20 74 5d 0a 20 20 20 20 5b 22 52 65 76 65 72 74 20 44 6f 63 22 20 64 6a 76 75 2d 72 65 ave.t].....["Revert.Doc".djvu-re
c0a0 76 65 72 74 2d 62 75 66 66 65 72 20 74 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 53 vert-buffer.t]....."---".....["S
c0c0 65 61 72 63 68 20 52 65 67 65 78 70 20 46 6f 72 77 61 72 64 22 20 64 6a 76 75 2d 72 65 2d 73 65 earch.Regexp.Forward".djvu-re-se
c0e0 61 72 63 68 2d 66 6f 72 77 61 72 64 20 74 5d 0a 20 20 20 20 5b 22 43 6f 6e 74 69 6e 75 65 20 53 arch-forward.t].....["Continue.S
c100 65 61 72 63 68 20 52 65 20 46 6f 72 77 61 72 64 22 20 64 6a 76 75 2d 72 65 2d 73 65 61 72 63 68 earch.Re.Forward".djvu-re-search
c120 2d 66 6f 72 77 61 72 64 2d 63 6f 6e 74 69 6e 75 65 20 74 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 -forward-continue.t]....."---"..
c140 20 20 20 28 22 4f 70 65 72 61 74 65 20 6f 6e 20 74 65 78 74 20 6c 61 79 65 72 22 0a 20 20 20 20 ...("Operate.on.text.layer".....
c160 20 5b 22 45 64 69 74 20 57 6f 72 64 22 20 64 6a 76 75 2d 65 64 69 74 2d 77 6f 72 64 20 74 5d 0a .["Edit.Word".djvu-edit-word.t].
c180 20 20 20 20 20 5b 22 53 70 6c 69 74 20 57 6f 72 64 22 20 64 6a 76 75 2d 73 70 6c 69 74 2d 77 6f .....["Split.Word".djvu-split-wo
c1a0 72 64 20 74 5d 0a 20 20 20 20 20 5b 22 4d 65 72 67 65 20 57 6f 72 64 73 22 20 64 6a 76 75 2d 6d rd.t]......["Merge.Words".djvu-m
c1c0 65 72 67 65 2d 77 6f 72 64 73 20 74 5d 0a 20 20 20 20 20 5b 22 4d 65 72 67 65 20 4c 69 6e 65 73 erge-words.t]......["Merge.Lines
c1e0 22 20 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e 65 73 20 74 5d 0a 20 20 20 20 20 5b 22 53 77 69 ".djvu-merge-lines.t]......["Swi
c200 74 63 68 20 74 6f 20 54 65 78 74 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 74 65 78 74 20 74 5d tch.to.Text".djvu-switch-text.t]
c220 29 0a 20 20 20 20 28 22 4f 70 65 72 61 74 65 20 6f 6e 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6c ).....("Operate.on.annotations.l
c240 61 79 65 72 22 0a 20 20 20 20 20 5b 22 48 69 67 68 6c 69 67 68 74 20 52 65 67 69 6f 6e 22 20 64 ayer"......["Highlight.Region".d
c260 6a 76 75 2d 72 65 63 74 2d 72 65 67 69 6f 6e 20 74 5d 0a 20 20 20 20 20 5b 22 50 61 67 65 20 55 jvu-rect-region.t]......["Page.U
c280 52 4c 20 6f 76 65 72 20 52 65 67 69 6f 6e 22 20 64 6a 76 75 2d 72 65 63 74 2d 72 65 67 69 6f 6e RL.over.Region".djvu-rect-region
c2a0 2d 75 72 6c 20 74 5d 0a 20 20 20 20 20 5b 22 48 69 6d 61 72 6b 20 52 65 67 69 6f 6e 22 20 64 6a -url.t]......["Himark.Region".dj
c2c0 76 75 2d 68 69 6d 61 72 6b 20 74 5d 0a 20 20 20 20 20 5b 22 4d 61 72 6b 20 70 6f 69 6e 74 22 20 vu-himark.t]......["Mark.point".
c2e0 64 6a 76 75 2d 6d 61 72 6b 2d 6c 69 6e 65 2d 62 65 67 20 74 5d 0a 20 20 20 20 20 5b 22 55 70 64 djvu-mark-line-beg.t]......["Upd
c300 61 74 65 20 63 6f 6c 6f 72 22 20 64 6a 76 75 2d 75 70 64 61 74 65 2d 63 6f 6c 6f 72 20 74 5d 0a ate.color".djvu-update-color.t].
c320 20 20 20 20 20 5b 22 55 70 64 61 74 65 20 75 72 6c 22 20 64 6a 76 75 2d 75 70 64 61 74 65 2d 75 .....["Update.url".djvu-update-u
c340 72 6c 20 74 5d 0a 20 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 41 6e 6e 6f 74 61 74 69 6f rl.t]......["Switch.to.Annotatio
c360 6e 73 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 61 6e 6e 6f 74 20 74 5d 0a 20 20 20 20 20 5b 22 ns".djvu-switch-annot.t]......["
c380 53 77 69 74 63 68 20 74 6f 20 53 68 61 72 65 64 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 22 20 64 6a Switch.to.Shared.Annotations".dj
c3a0 76 75 2d 73 77 69 74 63 68 2d 73 68 61 72 65 64 20 74 5d 29 0a 20 20 20 20 28 22 4f 70 65 72 61 vu-switch-shared.t]).....("Opera
c3c0 74 65 20 6f 6e 20 62 6f 6f 6b 6d 61 72 6b 73 20 6c 61 79 65 72 22 0a 20 20 20 20 20 5b 22 41 64 te.on.bookmarks.layer"......["Ad
c3e0 64 20 42 6f 6f 6b 6d 61 72 6b 22 20 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 20 74 5d 0a 20 20 20 d.Bookmark".djvu-bookmark.t]....
c400 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 42 6f 6f 6b 6d 61 72 6b 73 22 20 64 6a 76 75 2d 73 77 ..["Switch.to.Bookmarks".djvu-sw
c420 69 74 63 68 2d 62 6f 6f 6b 6d 61 72 6b 73 20 74 5d 0a 20 20 20 20 20 5b 22 53 77 69 74 63 68 20 itch-bookmarks.t]......["Switch.
c440 74 6f 20 4f 75 74 6c 69 6e 65 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 6f 75 74 6c 69 6e 65 20 to.Outline".djvu-switch-outline.
c460 74 5d 29 0a 20 20 20 20 28 22 45 64 69 74 69 6e 67 20 6d 75 6c 74 69 70 6c 65 20 70 61 67 65 73 t]).....("Editing.multiple.pages
c480 22 0a 20 20 20 20 20 5b 22 52 65 73 6f 6c 76 65 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c 73 22 20 "......["Resolve.internal.URLs".
c4a0 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 61 6c 6c 2d 75 72 6c 73 20 74 5d 0a 20 20 20 20 20 5b 22 djvu-resolve-all-urls.t]......["
c4c0 54 65 78 74 20 61 73 20 53 63 72 69 70 74 22 20 64 6a 76 75 2d 74 65 78 74 2d 73 63 72 69 70 74 Text.as.Script".djvu-text-script
c4e0 20 74 5d 0a 20 20 20 20 20 5b 22 41 6e 6e 6f 74 61 74 69 6f 6e 73 20 61 73 20 53 63 72 69 70 74 .t]......["Annotations.as.Script
c500 22 20 64 6a 76 75 2d 61 6e 6e 6f 74 2d 73 63 72 69 70 74 20 74 5d 0a 20 20 20 20 20 5b 22 50 72 ".djvu-annot-script.t]......["Pr
c520 6f 63 65 73 73 20 44 6a 76 75 73 65 64 20 53 63 72 69 70 74 22 20 64 6a 76 75 2d 70 72 6f 63 65 ocess.Djvused.Script".djvu-proce
c540 73 73 2d 73 63 72 69 70 74 20 74 5d 29 0a 20 20 20 20 28 22 44 65 73 74 72 75 63 74 69 76 65 20 ss-script.t]).....("Destructive.
c560 63 6f 6d 6d 61 6e 64 73 22 0a 20 20 20 20 20 5b 22 44 65 6c 65 74 65 20 63 75 72 72 65 6e 74 20 commands"......["Delete.current.
c580 70 61 67 65 22 20 64 6a 76 75 2d 64 65 6c 65 74 65 2d 70 61 67 65 20 74 5d 0a 20 20 20 20 20 5b page".djvu-delete-page.t]......[
c5a0 22 52 65 6d 6f 76 65 20 41 6e 6e 6f 74 20 2f 20 42 6f 6f 6b 6d 61 72 6b 73 22 20 64 6a 76 75 2d "Remove.Annot./.Bookmarks".djvu-
c5c0 6d 61 6b 65 2d 63 6c 65 61 6e 20 74 5d 29 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 51 make-clean.t])....."---".....["Q
c5e0 75 69 74 20 56 69 65 77 69 6e 67 22 20 64 6a 76 75 2d 71 75 69 74 2d 77 69 6e 64 6f 77 20 74 5d uit.Viewing".djvu-quit-window.t]
c600 0a 20 20 20 20 5b 22 4b 69 6c 6c 20 44 6a 76 75 20 62 75 66 66 65 72 73 22 20 64 6a 76 75 2d 6b .....["Kill.Djvu.buffers".djvu-k
c620 69 6c 6c 2d 64 6f 63 20 74 5d 29 29 0a 0a 28 64 65 66 76 61 72 20 62 6f 6f 6b 6d 61 72 6b 2d 6d ill-doc.t]))..(defvar.bookmark-m
c640 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 69 6f 6e 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 ake-record-function)..(define-de
c660 72 69 76 65 64 2d 6d 6f 64 65 20 64 6a 76 75 2d 72 65 61 64 2d 6d 6f 64 65 20 73 70 65 63 69 61 rived-mode.djvu-read-mode.specia
c680 6c 2d 6d 6f 64 65 20 22 44 6a 76 69 65 77 22 0a 20 20 22 4d 6f 64 65 20 66 6f 72 20 72 65 61 64 l-mode."Djview"..."Mode.for.read
c6a0 69 6e 67 20 44 6a 76 75 20 66 69 6c 65 73 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 64 6a 76 75 ing.Djvu.files."...(if.(not.djvu
c6c0 2d 69 6e 69 74 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 6d 6f 64 65 29 20 3b 20 -init).......(djvu-init-mode).;.
c6e0 46 6f 72 20 60 64 6f 63 2d 76 69 65 77 2d 74 6f 67 67 6c 65 2d 64 69 73 70 6c 61 79 27 20 61 6e For.`doc-view-toggle-display'.an
c700 64 20 60 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 27 0a 20 20 20 20 3b 3b 20 54 68 d.`major-mode-suspend'.....;;.Th
c720 65 20 52 65 61 64 20 62 75 66 66 65 72 20 69 73 20 6e 6f 74 20 65 64 69 74 61 62 6c 65 2e 20 20 e.Read.buffer.is.not.editable...
c740 53 6f 20 64 6f 20 6e 6f 74 20 63 72 65 61 74 65 20 61 75 74 6f 2d 73 61 76 65 20 66 69 6c 65 73 So.do.not.create.auto-save.files
c760 2e 0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 61 75 74 6f 2d 73 61 76 65 2d 66 69 6c ......(setq.buffer-auto-save-fil
c780 65 2d 6e 61 6d 65 20 6e 69 6c 20 3b 20 70 65 72 6d 61 6e 65 6e 74 20 62 75 66 66 65 72 2d 6c 6f e-name.nil.;.permanent.buffer-lo
c7a0 63 61 6c 0a 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 72 65 61 64 0a cal...........djvu-buffer.'read.
c7c0 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 20 74 29 0a 20 20 ..........buffer-undo-list.t)...
c7e0 20 20 28 6c 65 74 20 28 28 66 6d 74 20 28 63 6f 6e 63 61 74 20 28 63 61 72 20 28 70 72 6f 70 65 ..(let.((fmt.(concat.(car.(prope
c800 72 74 69 7a 65 64 2d 62 75 66 66 65 72 2d 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 20 22 25 73 rtized-buffer-identification."%s
c820 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 20 20 70 25 "))........................"..p%
c840 64 2f 25 64 22 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6c 69 6e 65 2d 62 d/%d"))).......(setq.mode-line-b
c860 75 66 66 65 72 2d 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 uffer-identification............
c880 20 60 28 32 34 20 28 3a 65 76 61 6c 20 28 66 6f 72 6d 61 74 20 2c 66 6d 74 20 28 62 75 66 66 65 .`(24.(:eval.(format.,fmt.(buffe
c8a0 72 2d 6e 61 6d 65 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 r-name).(djvu-ref.page).........
c8c0 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 64 6a 76 75 2d 72 65 ........................(djvu-re
c8e0 66 20 70 61 67 65 6d 61 78 29 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 f.pagemax)))))).....(setq-local.
c900 72 65 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 64 6a 76 75 2d 72 65 revert-buffer-function.#'djvu-re
c920 76 65 72 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 62 6f 6f vert-buffer).....(setq-local.boo
c940 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 69 6f 6e 20 23 27 64 6a 76 kmark-make-record-function.#'djv
c960 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 29 0a 20 20 20 20 28 69 66 20 u-bookmark-make-record).....(if.
c980 28 62 6f 75 6e 64 70 20 27 6d 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 2d 75 70 2d 66 75 6e 63 74 69 (boundp.'mwheel-scroll-up-functi
c9a0 6f 6e 29 20 3b 20 6e 6f 74 20 2d 2d 77 69 74 68 6f 75 74 2d 78 20 62 75 69 6c 64 0a 20 20 20 20 on).;.not.--without-x.build.....
c9c0 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6d 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 2d 75 70 ....(setq-local.mwheel-scroll-up
c9e0 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c -function.....................(l
ca00 61 6d 62 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(&optional.n).............
ca20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 20 28 64 ..........(if.djvu-image-mode.(d
ca40 6a 76 75 2d 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 75 70 20 6e 29 0a 20 20 20 20 20 20 20 20 20 jvu-image-scroll-up.n)..........
ca60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 63 72 6f 6c 6c 2d 75 70 2d 63 ...............(djvu-scroll-up-c
ca80 6f 6d 6d 61 6e 64 20 6e 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 62 6f 75 6e 64 70 20 27 6d ommand.n))))).....(if.(boundp.'m
caa0 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 wheel-scroll-down-function).....
cac0 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6d 77 68 65 65 6c 2d 73 63 72 6f 6c 6c 2d 64 6f ....(setq-local.mwheel-scroll-do
cae0 77 6e 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 wn-function.....................
cb00 28 6c 61 6d 62 64 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 29 0a 20 20 20 20 20 20 20 20 20 20 (lambda.(&optional.n)...........
cb20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 20 ............(if.djvu-image-mode.
cb40 28 64 6a 76 75 2d 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 6e 29 0a 20 20 20 20 20 (djvu-image-scroll-down.n)......
cb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 63 72 6f 6c 6c 2d ...................(djvu-scroll-
cb80 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 20 6e 29 29 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 64 down-command.n)))))))..(defvar.d
cba0 6a 76 75 2d 73 63 72 69 70 74 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6b 6d 20 jvu-script-mode-map...(let.((km.
cbc0 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 64 65 66 69 (make-sparse-keymap))).....(defi
cbe0 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 72 22 20 20 20 20 27 64 6a 76 75 2d 73 77 ne-key.km."\C-c\C-r"....'djvu-sw
cc00 69 74 63 68 2d 72 65 61 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c itch-read).....(define-key.km."\
cc20 43 2d 63 5c 43 2d 74 22 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 74 65 78 74 29 0a 20 C-c\C-t"....'djvu-switch-text)..
cc40 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 61 22 20 20 20 20 ...(define-key.km."\C-c\C-a"....
cc60 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 61 6e 6e 6f 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 'djvu-switch-annot).....(define-
cc80 6b 65 79 20 6b 6d 20 28 6b 62 64 20 22 43 2d 63 20 43 2d 53 2d 53 22 29 20 27 64 6a 76 75 2d 73 key.km.(kbd."C-c.C-S-S").'djvu-s
cca0 77 69 74 63 68 2d 73 68 61 72 65 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d witch-shared).....(define-key.km
ccc0 20 22 5c 43 2d 63 5c 43 2d 62 22 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 62 6f 6f 6b ."\C-c\C-b"....'djvu-switch-book
cce0 6d 61 72 6b 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c marks).....(define-key.km."\C-c\
cd00 43 2d 6f 22 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 6f 75 74 6c 69 6e 65 29 0a 20 20 C-o"....'djvu-switch-outline)...
cd20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 67 22 20 20 20 20 27 ..(define-key.km."\C-c\C-g"....'
cd40 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 djvu-goto-page).....(define-key.
cd60 6b 6d 20 22 5c 43 2d 63 5c 43 2d 70 22 20 20 20 20 27 64 6a 76 75 2d 70 72 65 76 2d 70 61 67 65 km."\C-c\C-p"....'djvu-prev-page
cd80 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 6e 22 20 ).....(define-key.km."\C-c\C-n".
cda0 20 20 20 27 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d ...'djvu-next-page).....(define-
cdc0 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 65 73 22 20 20 20 27 64 6a 76 75 2d 73 70 6c 69 74 key.km."\C-c\C-es"...'djvu-split
cde0 2d 77 6f 72 64 2d 69 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 -word-internal).....(define-key.
ce00 6b 6d 20 22 5c 43 2d 63 5c 43 2d 65 77 22 20 20 20 27 64 6a 76 75 2d 6d 65 72 67 65 2d 77 6f 72 km."\C-c\C-ew"...'djvu-merge-wor
ce20 64 73 2d 69 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 ds-internal).....(define-key.km.
ce40 22 5c 43 2d 63 5c 43 2d 65 6c 22 20 20 20 27 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e 65 73 2d "\C-c\C-el"...'djvu-merge-lines-
ce60 69 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 internal).....(define-key.km."\C
ce80 2d 63 5c 43 2d 6d 22 20 20 20 20 27 64 6a 76 75 2d 6d 65 72 67 65 2d 6d 61 70 61 72 65 61 73 29 -c\C-m"....'djvu-merge-mapareas)
cea0 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 63 22 20 20 .....(define-key.km."\C-c\C-c"..
cec0 20 20 27 64 6a 76 75 2d 75 70 64 61 74 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 29 0a 20 ..'djvu-update-color-internal)..
cee0 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 75 22 20 20 20 20 ...(define-key.km."\C-c\C-u"....
cf00 27 64 6a 76 75 2d 75 70 64 61 74 65 2d 75 72 6c 2d 69 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 28 'djvu-update-url-internal).....(
cf20 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 7a 22 20 20 20 20 27 64 6a 76 define-key.km."\C-c\C-z"....'djv
cf40 75 2d 72 65 73 69 7a 65 2d 69 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b u-resize-internal).....(define-k
cf60 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 6c 22 20 20 20 20 27 64 6a 76 75 2d 72 65 6d 6f 76 65 ey.km."\C-c\C-l"....'djvu-remove
cf80 2d 6c 69 6e 65 62 72 65 61 6b 73 2d 69 6e 74 65 72 6e 61 6c 29 0a 20 20 20 20 28 64 65 66 69 6e -linebreaks-internal).....(defin
cfa0 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 78 5c 43 2d 73 22 20 20 20 20 27 64 6a 76 75 2d 73 61 76 e-key.km."\C-x\C-s"....'djvu-sav
cfc0 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 76 22 e).....(define-key.km."\C-c\C-v"
cfe0 20 20 20 20 27 64 6a 76 75 2d 76 69 65 77 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 ....'djvu-view).....(define-key.
d000 6b 6d 20 22 5c 43 2d 63 5c 43 2d 71 22 20 20 20 20 27 64 6a 76 75 2d 71 75 69 74 2d 77 69 6e 64 km."\C-c\C-q"....'djvu-quit-wind
d020 6f 77 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 6b ow).....(define-key.km."\C-c\C-k
d040 22 20 20 20 20 27 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 29 0a 20 20 20 20 28 64 65 66 69 6e 65 "....'djvu-kill-doc).....(define
d060 2d 6b 65 79 20 6b 6d 20 28 6b 62 64 20 22 43 2d 63 20 43 2d 53 2d 67 22 29 20 27 64 6a 76 75 2d -key.km.(kbd."C-c.C-S-g").'djvu-
d080 72 65 76 65 72 74 2d 62 75 66 66 65 72 29 20 3b 20 5b 3f 5c 43 2d 63 20 3f 5c 43 2d 5c 53 2d 67 revert-buffer).;.[?\C-c.?\C-\S-g
d0a0 5d 0a 0a 20 20 20 20 6b 6d 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 44 6a 76 75 20 53 63 ]......km)..."Keymap.for.Djvu.Sc
d0c0 72 69 70 74 20 4d 6f 64 65 2e 0a 54 68 69 73 20 69 73 20 61 20 63 68 69 6c 64 20 6f 66 20 60 6c ript.Mode..This.is.a.child.of.`l
d0e0 69 73 70 2d 6d 6f 64 65 2d 6d 61 70 27 2e 22 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 isp-mode-map'.")..(easy-menu-def
d100 69 6e 65 0a 20 20 64 6a 76 75 2d 61 6e 6e 6f 74 2d 6d 65 6e 75 20 64 6a 76 75 2d 73 63 72 69 70 ine...djvu-annot-menu.djvu-scrip
d120 74 2d 6d 6f 64 65 2d 6d 61 70 20 22 44 6a 76 75 20 4d 65 6e 75 22 0a 20 20 27 28 22 44 6a 76 75 t-mode-map."Djvu.Menu"...'("Djvu
d140 22 0a 20 20 20 20 5b 22 47 6f 20 74 6f 20 50 61 67 65 22 20 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 ".....["Go.to.Page".djvu-goto-pa
d160 67 65 20 74 5d 0a 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 52 65 61 64 22 20 64 6a 76 75 ge.t].....["Switch.to.Read".djvu
d180 2d 73 77 69 74 63 68 2d 72 65 61 64 20 74 5d 0a 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 -switch-read.t].....["Switch.to.
d1a0 54 65 78 74 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 74 65 78 74 20 28 6e 6f 74 20 28 65 71 20 Text".djvu-switch-text.(not.(eq.
d1c0 64 6a 76 75 2d 62 75 66 66 65 72 20 27 74 65 78 74 29 29 5d 0a 20 20 20 20 5b 22 53 77 69 74 63 djvu-buffer.'text))].....["Switc
d1e0 68 20 74 6f 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 61 6e h.to.Annotations".djvu-switch-an
d200 6e 6f 74 20 28 6e 6f 74 20 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 61 6e 6e 6f 74 29 not.(not.(eq.djvu-buffer.'annot)
d220 29 5d 0a 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 53 68 61 72 65 64 20 41 6e 6e 6f 74 61 )].....["Switch.to.Shared.Annota
d240 74 69 6f 6e 73 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 73 68 61 72 65 64 20 28 6e 6f 74 20 28 tions".djvu-switch-shared.(not.(
d260 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 73 68 61 72 65 64 29 29 5d 0a 20 20 20 20 5b 22 eq.djvu-buffer.'shared))].....["
d280 53 77 69 74 63 68 20 74 6f 20 42 6f 6f 6b 6d 61 72 6b 73 22 20 64 6a 76 75 2d 73 77 69 74 63 68 Switch.to.Bookmarks".djvu-switch
d2a0 2d 62 6f 6f 6b 6d 61 72 6b 73 20 74 5d 0a 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 4f 75 -bookmarks.t].....["Switch.to.Ou
d2c0 74 6c 69 6e 65 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 6f 75 74 6c 69 6e 65 20 74 5d 0a 20 20 tline".djvu-switch-outline.t]...
d2e0 20 20 5b 22 53 61 76 65 20 44 6f 63 22 20 64 6a 76 75 2d 73 61 76 65 20 74 5d 0a 20 20 20 20 5b ..["Save.Doc".djvu-save.t].....[
d300 22 52 65 76 65 72 74 20 44 6f 63 22 20 64 6a 76 75 2d 72 65 76 65 72 74 2d 62 75 66 66 65 72 20 "Revert.Doc".djvu-revert-buffer.
d320 74 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 3b 3b 20 54 68 65 73 65 20 63 6f 6d 6d 61 6e t]....."---".....;;.These.comman
d340 64 73 20 6d 61 6b 65 20 73 65 6e 73 65 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 61 6e 6e 6f 74 61 ds.make.sense.only.in.the.annota
d360 74 69 6f 6e 73 20 62 75 66 66 65 72 0a 20 20 20 20 5b 22 4d 65 72 67 65 20 4d 61 70 61 72 65 61 tions.buffer.....["Merge.Maparea
d380 73 22 20 64 6a 76 75 2d 6d 65 72 67 65 2d 6d 61 70 61 72 65 61 73 20 28 65 71 20 64 6a 76 75 2d s".djvu-merge-mapareas.(eq.djvu-
d3a0 62 75 66 66 65 72 20 27 61 6e 6e 6f 74 29 5d 0a 20 20 20 20 5b 22 55 70 64 61 74 65 20 43 6f 6c buffer.'annot)].....["Update.Col
d3c0 6f 72 22 20 64 6a 76 75 2d 75 70 64 61 74 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 28 or".djvu-update-color-internal.(
d3e0 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 61 6e 6e 6f 74 29 5d 0a 20 20 20 20 5b 22 55 70 eq.djvu-buffer.'annot)].....["Up
d400 64 61 74 65 20 55 52 4c 22 20 64 6a 76 75 2d 75 70 64 61 74 65 2d 75 72 6c 2d 69 6e 74 65 72 6e date.URL".djvu-update-url-intern
d420 61 6c 20 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 61 6e 6e 6f 74 29 5d 0a 20 20 20 20 al.(eq.djvu-buffer.'annot)].....
d440 5b 22 52 65 73 69 7a 65 20 4d 61 70 61 72 65 61 22 20 64 6a 76 75 2d 72 65 73 69 7a 65 2d 69 6e ["Resize.Maparea".djvu-resize-in
d460 74 65 72 6e 61 6c 20 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 61 6e 6e 6f 74 29 5d 0a ternal.(eq.djvu-buffer.'annot)].
d480 20 20 20 20 5b 22 52 65 6d 6f 76 65 20 4c 69 6e 65 62 72 65 61 6b 73 22 20 64 6a 76 75 2d 72 65 ....["Remove.Linebreaks".djvu-re
d4a0 6d 6f 76 65 2d 6c 69 6e 65 62 72 65 61 6b 73 2d 69 6e 74 65 72 6e 61 6c 20 28 65 71 20 64 6a 76 move-linebreaks-internal.(eq.djv
d4c0 75 2d 62 75 66 66 65 72 20 27 61 6e 6e 6f 74 29 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 u-buffer.'annot)]....."---".....
d4e0 3b 3b 20 54 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 6d 61 6b 65 20 73 65 6e 73 65 20 6f 6e 6c ;;.These.commands.make.sense.onl
d500 79 20 69 6e 20 74 68 65 20 74 65 78 74 20 62 75 66 66 65 72 0a 20 20 20 20 5b 22 53 70 6c 69 74 y.in.the.text.buffer.....["Split
d520 20 57 6f 72 64 22 20 64 6a 76 75 2d 73 70 6c 69 74 2d 77 6f 72 64 2d 69 6e 74 65 72 6e 61 6c 20 .Word".djvu-split-word-internal.
d540 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 74 65 78 74 29 5d 0a 20 20 20 20 5b 22 4d 65 (eq.djvu-buffer.'text)].....["Me
d560 72 67 65 20 57 6f 72 64 73 22 20 64 6a 76 75 2d 6d 65 72 67 65 2d 77 6f 72 64 73 2d 69 6e 74 65 rge.Words".djvu-merge-words-inte
d580 72 6e 61 6c 20 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 74 65 78 74 29 5d 0a 20 20 20 rnal.(eq.djvu-buffer.'text)]....
d5a0 20 5b 22 4d 65 72 67 65 20 4c 69 6e 65 73 22 20 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e 65 73 .["Merge.Lines".djvu-merge-lines
d5c0 2d 69 6e 74 65 72 6e 61 6c 20 28 65 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 74 65 78 74 29 -internal.(eq.djvu-buffer.'text)
d5e0 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 51 75 69 74 20 44 6a 76 75 22 20 64 6a 76 ]....."---".....["Quit.Djvu".djv
d600 75 2d 71 75 69 74 2d 77 69 6e 64 6f 77 20 74 5d 0a 20 20 20 20 5b 22 4b 69 6c 6c 20 44 6a 76 75 u-quit-window.t].....["Kill.Djvu
d620 20 62 75 66 66 65 72 73 22 20 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 20 74 5d 29 29 0a 0a 28 64 .buffers".djvu-kill-doc.t]))..(d
d640 65 66 76 61 72 20 64 6a 76 75 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 0a 20 20 efvar.djvu-font-lock-keywords...
d660 60 28 28 2c 28 63 6f 6e 63 61 74 20 22 5e 5b 20 5c 74 5d 2a 28 22 0a 20 20 20 20 20 20 20 20 20 `((,(concat."^[.\t]*("..........
d680 20 20 20 20 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 62 61 63 6b 67 72 6f 75 6e 64 22 20 .....(regexp-opt.'("background".
d6a0 22 7a 6f 6f 6d 22 20 22 6d 6f 64 65 22 20 22 61 6c 69 67 6e 22 0a 20 20 20 20 20 20 20 20 20 20 "zoom"."mode"."align"...........
d6c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 6d 61 70 61 72 65 61 22 20 22 6d 65 74 .................."maparea"."met
d6e0 61 64 61 74 61 22 20 22 62 6f 6f 6b 6d 61 72 6b 73 22 20 22 78 6d 70 22 29 0a 20 20 20 20 20 20 adata"."bookmarks"."xmp").......
d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 0a 20 20 20 20 20 31 20 66 ....................t))......1.f
d720 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 28 2c 28 63 6f ont-lock-keyword-face).....(,(co
d740 6e 63 61 74 20 22 5c 5c 28 3f 3a 5b 20 5c 74 5d 2b 5c 5c 7c 5e 5c 5c 7c 28 5c 5c 29 28 22 0a 20 ncat."\\(?:[.\t]+\\|^\\|(\\)("..
d760 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 75 72 6c 22 .............(regexp-opt.'("url"
d780 20 22 72 65 63 74 22 20 22 6f 76 61 6c 22 20 22 70 6f 6c 79 22 20 22 74 65 78 74 22 20 22 6c 69 ."rect"."oval"."poly"."text"."li
d7a0 6e 65 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 20 ne".............................
d7c0 22 6e 6f 6e 65 22 20 22 78 6f 72 22 20 22 62 6f 72 64 65 72 22 20 22 73 68 61 64 6f 77 5f 69 6e "none"."xor"."border"."shadow_in
d7e0 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 20 22 73 "............................."s
d800 68 61 64 6f 77 5f 6f 75 74 22 20 22 73 68 61 64 6f 77 5f 65 69 6e 22 20 22 73 68 61 64 6f 77 5f hadow_out"."shadow_ein"."shadow_
d820 65 6f 75 74 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 eout"...........................
d840 20 20 22 62 6f 72 64 65 72 5f 61 76 69 73 22 20 22 68 69 6c 69 74 65 22 20 22 6f 70 61 63 69 74 .."border_avis"."hilite"."opacit
d860 79 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 20 22 y"............................."
d880 61 72 72 6f 77 22 20 22 77 69 64 74 68 22 20 22 6c 69 6e 65 63 6c 72 22 0a 20 20 20 20 20 20 20 arrow"."width"."lineclr"........
d8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 62 61 63 6b 63 6c 72 22 20 22 ....................."backclr"."
d8c0 74 65 78 74 63 6c 72 22 20 22 70 75 73 68 70 69 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 textclr"."pushpin"..............
d8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 70 61 67 65 22 20 22 63 6f 6c 75 6d 6e 22 20 22 ..............."page"."column"."
d900 72 65 67 69 6f 6e 22 20 22 70 61 72 61 22 20 22 6c 69 6e 65 22 0a 20 20 20 20 20 20 20 20 20 20 region"."para"."line"...........
d920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 77 6f 72 64 22 20 22 63 68 61 72 22 29 .................."word"."char")
d940 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 74 29 0a 20 20 ...........................t)...
d960 20 20 20 20 20 20 20 20 20 20 20 20 22 29 22 29 0a 20 20 20 20 20 31 20 66 6f 6e 74 2d 6c 6f 63 ............")")......1.font-loc
d980 6b 2d 66 75 6e 63 74 69 6f 6e 2d 6e 61 6d 65 2d 66 61 63 65 29 0a 20 20 20 20 3b 3b 20 75 72 6c k-function-name-face).....;;.url
d9a0 0a 20 20 20 20 28 64 6a 76 75 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 75 72 6c 29 29 0a 20 20 22 46 6f .....(djvu-font-lock-url))..."Fo
d9c0 6e 74 20 6c 6f 63 6b 20 6b 65 79 77 6f 72 64 73 20 66 6f 72 20 44 6a 76 75 20 62 75 66 66 65 72 nt.lock.keywords.for.Djvu.buffer
d9e0 73 2e 22 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 64 6a 76 75 2d s.")..(define-derived-mode.djvu-
da00 73 63 72 69 70 74 2d 6d 6f 64 65 20 6c 69 73 70 2d 6d 6f 64 65 20 22 44 6a 76 75 20 53 63 72 69 script-mode.lisp-mode."Djvu.Scri
da20 70 74 22 0a 20 20 22 4d 6f 64 65 20 66 6f 72 20 65 64 69 74 69 6e 67 20 44 6a 76 75 20 73 63 72 pt"..."Mode.for.editing.Djvu.scr
da40 69 70 74 73 2e 0a 54 68 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 73 68 61 72 65 64 20 61 6e ipts..The.annotations,.shared.an
da60 6e 6f 74 61 74 69 6f 6e 73 20 61 6e 64 20 62 6f 6f 6b 6d 61 72 6b 20 62 75 66 66 65 72 73 20 75 notations.and.bookmark.buffers.u
da80 73 65 20 74 68 69 73 20 6d 6f 64 65 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 64 6a 76 75 2d 69 se.this.mode."...(if.(not.djvu-i
daa0 6e 69 74 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 6d 6f 64 65 29 20 3b 20 46 6f nit).......(djvu-init-mode).;.Fo
dac0 72 20 60 64 6f 63 2d 76 69 65 77 2d 74 6f 67 67 6c 65 2d 64 69 73 70 6c 61 79 27 20 61 6e 64 20 r.`doc-view-toggle-display'.and.
dae0 60 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 27 0a 20 20 20 20 3b 3b 20 46 69 78 6d `major-mode-suspend'.....;;.Fixm
db00 65 3a 20 77 65 20 73 68 6f 75 6c 64 20 63 72 65 61 74 65 20 61 75 74 6f 2d 73 61 76 65 20 66 69 e:.we.should.create.auto-save.fi
db20 6c 65 73 20 66 6f 72 20 74 68 65 20 73 63 72 69 70 74 20 62 75 66 66 65 72 73 2e 0a 20 20 20 20 les.for.the.script.buffers......
db40 3b 3b 20 54 68 69 73 20 72 65 71 75 69 72 65 73 20 73 75 69 74 61 62 6c 65 20 6e 61 6d 65 73 20 ;;.This.requires.suitable.names.
db60 66 6f 72 20 74 68 65 20 61 75 74 6f 2d 73 61 76 65 20 66 69 6c 65 73 20 74 68 61 74 20 73 68 6f for.the.auto-save.files.that.sho
db80 75 6c 64 0a 20 20 20 20 3b 3b 20 62 65 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 60 62 75 66 66 uld.....;;.be.derived.from.`buff
dba0 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 27 2e 0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d er-file-name'......(setq.buffer-
dbc0 61 75 74 6f 2d 73 61 76 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 20 3b 20 70 65 72 6d 61 6e auto-save-file-name.nil.;.perman
dbe0 65 6e 74 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 0a 20 20 20 20 20 20 20 20 20 20 66 69 6c 6c 2d ent.buffer-local...........fill-
dc00 63 6f 6c 75 6d 6e 20 64 6a 76 75 2d 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 0a 20 20 20 20 20 20 20 20 column.djvu-fill-column.........
dc20 20 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 64 65 66 61 75 6c 74 73 20 27 28 64 6a 76 75 2d 66 6f 6e 74 ..font-lock-defaults.'(djvu-font
dc40 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 66 6d 74 -lock-keywords)).....(let*.((fmt
dc60 31 20 28 63 61 72 20 28 70 72 6f 70 65 72 74 69 7a 65 64 2d 62 75 66 66 65 72 2d 69 64 65 6e 74 1.(car.(propertized-buffer-ident
dc80 69 66 69 63 61 74 69 6f 6e 20 22 25 73 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6d ification."%s")))............(fm
dca0 74 32 20 28 63 6f 6e 63 61 74 20 66 6d 74 31 20 22 20 20 70 25 64 2f 25 64 22 29 29 29 0a 20 20 t2.(concat.fmt1."..p%d/%d")))...
dcc0 20 20 20 20 28 73 65 74 71 20 6d 6f 64 65 2d 6c 69 6e 65 2d 62 75 66 66 65 72 2d 69 64 65 6e 74 ....(setq.mode-line-buffer-ident
dce0 69 66 69 63 61 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 28 32 34 20 28 3a 65 76 61 ification.............`(24.(:eva
dd00 6c 20 28 69 66 20 64 6a 76 75 2d 64 6f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.(if.djvu-doc..................
dd20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 2c 66 6d 74 32 20 28 62 75 66 66 65 72 ...........(format.,fmt2.(buffer
dd40 2d 6e 61 6d 65 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 -name).(djvu-ref.page)..........
dd60 20 20 20 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 64 6a 76 75 ...........................(djvu
dd80 2d 72 65 66 20 70 61 67 65 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -ref.pagemax))..................
dda0 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 2c 66 6d 74 31 20 28 62 75 66 66 65 72 2d 6e .........(format.,fmt1.(buffer-n
ddc0 61 6d 65 29 29 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 72 65 76 65 72 ame))))))).....(setq-local.rever
dde0 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 64 6a 76 75 2d 72 65 76 65 72 74 2d t-buffer-function.#'djvu-revert-
de00 62 75 66 66 65 72 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 62 6f 6f 6b 6d 61 72 6b buffer).....(setq-local.bookmark
de20 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e 63 74 69 6f 6e 20 23 27 64 6a 76 75 2d 62 6f 6f -make-record-function.#'djvu-boo
de40 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 29 29 29 0a 0a 28 64 65 66 76 61 72 20 64 6a kmark-make-record)))..(defvar.dj
de60 76 75 2d 6f 75 74 6c 69 6e 65 2d 6d 6f 64 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 6b 6d 20 vu-outline-mode-map...(let.((km.
de80 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 3b 3b 20 60 73 (make-sparse-keymap))).....;;.`s
dea0 70 65 63 69 61 6c 2d 6d 6f 64 65 2d 6d 61 70 27 0a 20 20 20 20 3b 20 28 64 65 66 69 6e 65 2d 6b pecial-mode-map'.....;.(define-k
dec0 65 79 20 6b 6d 20 22 20 22 20 27 73 63 72 6f 6c 6c 2d 75 70 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 ey.km.".".'scroll-up-command)...
dee0 20 20 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 5b 3f 5c 53 2d 5c 20 5d 20 27 73 63 72 ..;.(define-key.km.[?\S-\.].'scr
df00 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 3b 20 28 64 65 66 69 6e 65 2d oll-down-command).....;.(define-
df20 6b 65 79 20 6b 6d 20 22 5c 43 2d 3f 22 20 27 73 63 72 6f 6c 6c 2d 64 6f 77 6e 2d 63 6f 6d 6d 61 key.km."\C-?".'scroll-down-comma
df40 6e 64 29 0a 20 20 20 20 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 3f 22 20 27 64 65 nd).....;.(define-key.km."?".'de
df60 73 63 72 69 62 65 2d 6d 6f 64 65 29 0a 20 20 20 20 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b scribe-mode).....;.(define-key.k
df80 6d 20 22 3e 22 20 27 65 6e 64 2d 6f 66 2d 62 75 66 66 65 72 29 0a 20 20 20 20 3b 20 28 64 65 66 m.">".'end-of-buffer).....;.(def
dfa0 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 3c 22 20 27 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 75 66 ine-key.km."<".'beginning-of-buf
dfc0 66 65 72 29 0a 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 76 22 20 20 20 20 fer)......(define-key.km."v"....
dfe0 20 20 20 20 20 20 20 27 64 6a 76 75 2d 76 69 65 77 2d 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 .......'djvu-view-page).....(def
e000 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 76 22 20 20 20 20 27 64 6a 76 75 2d 76 ine-key.km."\C-c\C-v"....'djvu-v
e020 69 65 77 2d 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 6e 22 iew-page).....(define-key.km."n"
e040 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 29 0a 20 20 20 20 ...........'djvu-next-page).....
e060 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 70 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a (define-key.km."p"...........'dj
e080 76 75 2d 70 72 65 76 2d 70 61 67 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d vu-prev-page).....(define-key.km
e0a0 20 22 67 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 29 0a ."g"...........'djvu-goto-page).
e0c0 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 6b 22 20 20 20 20 20 20 20 20 20 20 ....(define-key.km."k"..........
e0e0 20 27 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 .'djvu-kill-doc).....(define-key
e100 20 6b 6d 20 22 73 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 61 76 65 29 0a 20 20 .km."s"...........'djvu-save)...
e120 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 78 5c 43 2d 73 22 20 20 20 20 27 ..(define-key.km."\C-x\C-s"....'
e140 64 6a 76 75 2d 73 61 76 65 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 71 djvu-save).....(define-key.km."q
e160 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 20 "...........'djvu-quit-window)..
e180 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 47 22 20 20 20 20 20 20 20 20 20 20 20 ...(define-key.km."G"...........
e1a0 27 64 6a 76 75 2d 72 65 76 65 72 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 'djvu-revert-buffer).....(define
e1c0 2d 6b 65 79 20 6b 6d 20 28 6b 62 64 20 22 43 2d 63 20 43 2d 53 2d 67 22 29 20 27 64 6a 76 75 2d -key.km.(kbd."C-c.C-S-g").'djvu-
e1e0 72 65 76 65 72 74 2d 62 75 66 66 65 72 29 20 3b 20 5b 3f 5c 43 2d 63 20 3f 5c 43 2d 5c 53 2d 67 revert-buffer).;.[?\C-c.?\C-\S-g
e200 5d 0a 0a 20 20 20 20 3b 3b 20 46 6f 72 20 73 77 69 74 63 68 20 63 6f 6d 6d 61 6e 64 73 20 77 65 ]......;;.For.switch.commands.we
e220 20 67 69 76 65 20 73 68 6f 72 74 20 6b 65 79 20 62 69 6e 64 69 6e 67 73 2c 0a 20 20 20 20 3b 3b .give.short.key.bindings,.....;;
e240 20 62 75 74 20 66 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79 20 77 65 20 61 6c 73 6f 20 70 72 6f .but.for.consistency.we.also.pro
e260 76 69 64 65 20 74 68 65 20 6c 6f 6e 67 20 62 69 6e 64 69 6e 67 73 0a 20 20 20 20 3b 3b 20 75 73 vide.the.long.bindings.....;;.us
e280 65 64 20 62 79 20 60 64 6a 76 75 2d 73 63 72 69 70 74 2d 6d 6f 64 65 27 2e 0a 20 20 20 20 28 64 ed.by.`djvu-script-mode'......(d
e2a0 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 61 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 efine-key.km."a"...........'djvu
e2c0 2d 73 77 69 74 63 68 2d 61 6e 6e 6f 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b -switch-annot).....(define-key.k
e2e0 6d 20 22 5c 43 2d 63 5c 43 2d 61 22 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 61 6e 6e m."\C-c\C-a"....'djvu-switch-ann
e300 6f 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 53 22 20 20 20 20 20 20 ot).....(define-key.km."S"......
e320 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 73 68 61 72 65 64 29 0a 20 20 20 20 28 64 .....'djvu-switch-shared).....(d
e340 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 28 6b 62 64 20 22 43 2d 63 20 43 2d 53 2d 53 22 29 20 27 efine-key.km.(kbd."C-c.C-S-S").'
e360 64 6a 76 75 2d 73 77 69 74 63 68 2d 73 68 61 72 65 64 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d djvu-switch-shared).....(define-
e380 6b 65 79 20 6b 6d 20 22 62 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 key.km."b"...........'djvu-switc
e3a0 68 2d 62 6f 6f 6b 6d 61 72 6b 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 h-bookmarks).....(define-key.km.
e3c0 22 5c 43 2d 63 5c 43 2d 62 22 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 62 6f 6f 6b 6d "\C-c\C-b"....'djvu-switch-bookm
e3e0 61 72 6b 73 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 74 22 20 20 20 20 arks).....(define-key.km."t"....
e400 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 74 65 78 74 29 0a 20 20 20 20 28 64 .......'djvu-switch-text).....(d
e420 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 74 22 20 20 20 20 27 64 6a 76 75 efine-key.km."\C-c\C-t"....'djvu
e440 2d 73 77 69 74 63 68 2d 74 65 78 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d -switch-text).....(define-key.km
e460 20 22 72 22 20 20 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 72 65 61 64 ."r"...........'djvu-switch-read
e480 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 6d 20 22 5c 43 2d 63 5c 43 2d 72 22 20 ).....(define-key.km."\C-c\C-r".
e4a0 20 20 20 27 64 6a 76 75 2d 73 77 69 74 63 68 2d 72 65 61 64 29 0a 0a 20 20 20 20 6b 6d 29 0a 20 ...'djvu-switch-read)......km)..
e4c0 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 44 6a 76 75 20 4f 75 74 6c 69 6e 65 20 4d 6f 64 65 2e 0a ."Keymap.for.Djvu.Outline.Mode..
e4e0 54 68 69 73 20 69 73 20 61 20 63 68 69 6c 64 20 6f 66 20 60 73 70 65 63 69 61 6c 2d 6d 6f 64 65 This.is.a.child.of.`special-mode
e500 2d 6d 61 70 27 2e 22 29 0a 0a 28 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 0a 20 20 64 6a -map'.")..(easy-menu-define...dj
e520 76 75 2d 6f 75 74 6c 69 6e 65 2d 6d 65 6e 75 20 64 6a 76 75 2d 6f 75 74 6c 69 6e 65 2d 6d 6f 64 vu-outline-menu.djvu-outline-mod
e540 65 2d 6d 61 70 20 22 44 6a 76 75 20 4d 65 6e 75 22 0a 20 20 27 28 22 44 6a 76 75 22 0a 20 20 20 e-map."Djvu.Menu"...'("Djvu"....
e560 20 5b 22 44 6a 76 69 65 77 20 46 69 6c 65 22 20 64 6a 76 75 2d 76 69 65 77 2d 70 61 67 65 20 74 .["Djview.File".djvu-view-page.t
e580 5d 0a 20 20 20 20 5b 22 47 6f 20 74 6f 20 50 61 67 65 22 20 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 ].....["Go.to.Page".djvu-goto-pa
e5a0 67 65 20 74 5d 0a 20 20 20 20 5b 22 53 61 76 65 20 44 6f 63 22 20 64 6a 76 75 2d 73 61 76 65 20 ge.t].....["Save.Doc".djvu-save.
e5c0 74 5d 0a 20 20 20 20 5b 22 52 65 76 65 72 74 20 44 6f 63 22 20 64 6a 76 75 2d 72 65 76 65 72 74 t].....["Revert.Doc".djvu-revert
e5e0 2d 62 75 66 66 65 72 20 74 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 53 77 69 74 63 -buffer.t]....."---".....["Switc
e600 68 20 74 6f 20 52 65 61 64 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 72 65 61 64 20 74 5d 0a 20 h.to.Read".djvu-switch-read.t]..
e620 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 54 65 78 74 22 20 64 6a 76 75 2d 73 77 69 74 63 68 ...["Switch.to.Text".djvu-switch
e640 2d 74 65 78 74 20 74 5d 0a 20 20 20 20 5b 22 53 77 69 74 63 68 20 74 6f 20 41 6e 6e 6f 74 61 74 -text.t].....["Switch.to.Annotat
e660 69 6f 6e 73 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 61 6e 6e 6f 74 20 74 5d 0a 20 20 20 20 5b ions".djvu-switch-annot.t].....[
e680 22 53 77 69 74 63 68 20 74 6f 20 53 68 61 72 65 64 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 22 20 64 "Switch.to.Shared.Annotations".d
e6a0 6a 76 75 2d 73 77 69 74 63 68 2d 73 68 61 72 65 64 20 74 5d 0a 20 20 20 20 5b 22 53 77 69 74 63 jvu-switch-shared.t].....["Switc
e6c0 68 20 74 6f 20 42 6f 6f 6b 6d 61 72 6b 73 22 20 64 6a 76 75 2d 73 77 69 74 63 68 2d 62 6f 6f 6b h.to.Bookmarks".djvu-switch-book
e6e0 6d 61 72 6b 73 20 74 5d 0a 20 20 20 20 22 2d 2d 2d 22 0a 20 20 20 20 5b 22 51 75 69 74 20 56 69 marks.t]....."---".....["Quit.Vi
e700 65 77 69 6e 67 22 20 64 6a 76 75 2d 71 75 69 74 2d 77 69 6e 64 6f 77 20 74 5d 0a 20 20 20 20 5b ewing".djvu-quit-window.t].....[
e720 22 4b 69 6c 6c 20 44 6a 76 75 20 62 75 66 66 65 72 73 22 20 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f "Kill.Djvu.buffers".djvu-kill-do
e740 63 20 74 5d 29 29 0a 0a 28 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 20 64 6a 76 c.t]))..(define-derived-mode.djv
e760 75 2d 6f 75 74 6c 69 6e 65 2d 6d 6f 64 65 20 73 70 65 63 69 61 6c 2d 6d 6f 64 65 20 22 44 6a 76 u-outline-mode.special-mode."Djv
e780 75 20 4f 4c 22 0a 20 20 22 4d 6f 64 65 20 66 6f 72 20 72 65 61 64 69 6e 67 20 74 68 65 20 6f 75 u.OL"..."Mode.for.reading.the.ou
e7a0 74 6c 69 6e 65 20 6f 66 20 44 6a 76 75 20 66 69 6c 65 73 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 tline.of.Djvu.files."...(if.(not
e7c0 20 64 6a 76 75 2d 69 6e 69 74 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 6d 6f 64 .djvu-init).......(djvu-init-mod
e7e0 65 29 20 3b 20 46 6f 72 20 60 64 6f 63 2d 76 69 65 77 2d 74 6f 67 67 6c 65 2d 64 69 73 70 6c 61 e).;.For.`doc-view-toggle-displa
e800 79 27 20 61 6e 64 20 60 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 27 0a 20 20 20 20 y'.and.`major-mode-suspend'.....
e820 3b 3b 20 54 68 65 20 4f 75 74 6c 69 6e 65 20 62 75 66 66 65 72 20 69 73 20 6e 6f 74 20 65 64 69 ;;.The.Outline.buffer.is.not.edi
e840 74 61 62 6c 65 2e 20 20 53 6f 20 64 6f 20 6e 6f 74 20 63 72 65 61 74 65 20 61 75 74 6f 2d 73 61 table...So.do.not.create.auto-sa
e860 76 65 20 66 69 6c 65 73 2e 0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 61 75 74 6f 2d ve.files......(setq.buffer-auto-
e880 73 61 76 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 20 3b 20 70 65 72 6d 61 6e 65 6e 74 20 62 save-file-name.nil.;.permanent.b
e8a0 75 66 66 65 72 2d 6c 6f 63 61 6c 0a 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 62 75 66 66 65 uffer-local...........djvu-buffe
e8c0 72 20 27 6f 75 74 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 75 6e 64 6f r.'outline...........buffer-undo
e8e0 2d 6c 69 73 74 20 74 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 6d 74 20 28 63 6f 6e 63 61 74 20 -list.t).....(let.((fmt.(concat.
e900 28 63 61 72 20 28 70 72 6f 70 65 72 74 69 7a 65 64 2d 62 75 66 66 65 72 2d 69 64 65 6e 74 69 66 (car.(propertized-buffer-identif
e920 69 63 61 74 69 6f 6e 20 22 25 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ication."%s"))..................
e940 20 20 20 20 20 20 22 20 20 70 25 64 2f 25 64 22 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 ......"..p%d/%d"))).......(setq.
e960 6d 6f 64 65 2d 6c 69 6e 65 2d 62 75 66 66 65 72 2d 69 64 65 6e 74 69 66 69 63 61 74 69 6f 6e 0a mode-line-buffer-identification.
e980 20 20 20 20 20 20 20 20 20 20 20 20 60 28 32 34 20 28 3a 65 76 61 6c 20 28 66 6f 72 6d 61 74 20 ............`(24.(:eval.(format.
e9a0 2c 66 6d 74 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 ,fmt.(buffer-name).(djvu-ref.pag
e9c0 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 20 e)..............................
e9e0 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 29 29 29 29 29 29 0a 20 20 20 20 28 ...(djvu-ref.pagemax)))))).....(
ea00 73 65 74 71 2d 6c 6f 63 61 6c 20 72 65 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f setq-local.revert-buffer-functio
ea20 6e 20 23 27 64 6a 76 75 2d 72 65 76 65 72 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 73 65 74 n.#'djvu-revert-buffer).....(set
ea40 71 2d 6c 6f 63 61 6c 20 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 66 75 6e q-local.bookmark-make-record-fun
ea60 63 74 69 6f 6e 20 23 27 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 ction.#'djvu-bookmark-make-recor
ea80 64 29 29 29 0a 0a 3b 3b 3b 20 47 65 6e 65 72 61 6c 20 53 65 74 75 70 0a 0a 3b 3b 3b 23 23 23 61 d)))..;;;.General.Setup..;;;###a
eaa0 75 74 6f 6c 6f 61 64 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 20 27 61 75 74 6f 2d 6d 6f 64 65 2d utoload.(add-to-list.'auto-mode-
eac0 61 6c 69 73 74 20 27 28 22 5c 5c 2e 64 6a 76 75 5c 5c 27 22 20 2e 20 64 6a 76 75 2d 69 6e 69 74 alist.'("\\.djvu\\'"...djvu-init
eae0 2d 6d 6f 64 65 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 64 -mode))..;;;###autoload.(defun.d
eb00 6a 76 75 2d 69 6e 69 74 2d 6d 6f 64 65 20 28 29 0a 20 20 22 44 75 6d 6d 79 20 6d 6f 64 65 20 66 jvu-init-mode.()..."Dummy.mode.f
eb20 6f 72 20 69 6e 69 74 69 61 6c 69 7a 69 6e 67 20 44 6a 76 75 20 6d 6f 64 65 2e 0a 54 68 69 73 20 or.initializing.Djvu.mode..This.
eb40 63 61 6e 20 62 65 20 75 73 65 64 20 61 73 20 61 6e 20 65 6c 65 6d 65 6e 74 20 66 6f 72 20 60 61 can.be.used.as.an.element.for.`a
eb60 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 27 2e 0a 54 68 69 73 20 63 61 6e 20 61 6c 73 6f 20 62 uto-mode-alist'..This.can.also.b
eb80 65 20 75 73 65 64 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 76 69 73 e.used.if.the.current.buffer.vis
eba0 69 74 73 20 61 20 44 6a 76 75 20 66 69 6c 65 0a 75 73 69 6e 67 20 73 6f 6d 65 20 6f 74 68 65 72 its.a.Djvu.file.using.some.other
ebc0 20 6d 6f 64 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 6a 76 75 2d .mode."...(interactive)...(djvu-
ebe0 66 69 6e 64 2d 66 69 6c 65 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 20 6e find-file.buffer-file-name.nil.n
ec00 69 6c 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 61 64 2d 66 69 6c 65 2d 6e 61 il.t))..(defun.djvu-read-file-na
ec20 6d 65 20 28 29 0a 20 20 22 52 65 61 64 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66 20 44 6a 76 75 20 me.()..."Read.file.name.of.Djvu.
ec40 66 69 6c 65 2e 0a 54 68 65 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 20 6f 66 20 60 63 75 72 72 file..The.numeric.value.of.`curr
ec60 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 27 20 69 73 20 74 68 65 20 70 61 67 65 20 6e 75 6d 62 ent-prefix-arg'.is.the.page.numb
ec80 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61 67 65 20 28 70 72 65 66 69 78 2d 6e 75 6d 65 72 er."...(let.((page.(prefix-numer
eca0 69 63 2d 76 61 6c 75 65 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 29 0a 20 ic-value.current-prefix-arg)))..
ecc0 20 20 20 3b 3b 20 57 65 20 63 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 61 20 64 6a 76 75 20 66 69 ...;;.We.cannot.create.a.djvu.fi
ece0 6c 65 2e 20 20 54 68 65 20 66 69 6c 65 20 6d 75 73 74 20 65 78 69 73 74 20 77 68 65 6e 20 77 65 le...The.file.must.exist.when.we
ed00 20 6f 70 65 6e 20 69 74 2e 0a 20 20 20 20 28 6c 69 73 74 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e .open.it......(list.(read-file-n
ed20 61 6d 65 20 22 46 69 6e 64 20 44 6a 76 75 20 66 69 6c 65 3a 20 22 20 6e 69 6c 20 6e 69 6c 20 74 ame."Find.Djvu.file:.".nil.nil.t
ed40 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .nil...........................(
ed60 6c 61 6d 62 64 61 20 28 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lambda.(f)......................
ed80 20 20 20 20 20 20 20 28 6f 72 20 28 65 71 75 61 6c 20 22 64 6a 76 75 22 20 28 66 69 6c 65 2d 6e .......(or.(equal."djvu".(file-n
eda0 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ame-extension.f))...............
edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 ..................(file-director
ede0 79 2d 70 20 66 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 70 61 67 65 29 29 29 0a 0a 3b 3b 3b y-p.f))))...........page)))..;;;
ee00 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 66 69 6e 64 2d 66 69 6c ###autoload.(defun.djvu-find-fil
ee20 65 20 28 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 67 65 20 76 69 65 77 20 6e 6f 73 65 e.(file.&optional.page.view.nose
ee40 6c 65 63 74 20 6e 6f 63 6f 6e 66 69 72 6d 29 0a 20 20 22 52 65 61 64 20 61 6e 64 20 65 64 69 74 lect.noconfirm)..."Read.and.edit
ee60 20 44 6a 76 75 20 46 49 4c 45 20 6f 6e 20 50 41 47 45 2e 20 20 52 65 74 75 72 6e 20 52 65 61 64 .Djvu.FILE.on.PAGE...Return.Read
ee80 20 62 75 66 66 65 72 2e 0a 49 66 20 56 49 45 57 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 73 74 61 72 .buffer..If.VIEW.is.non-nil.star
eea0 74 20 65 78 74 65 72 6e 61 6c 20 76 69 65 77 65 72 2e 0a 49 66 20 4e 4f 53 45 4c 45 43 54 20 69 t.external.viewer..If.NOSELECT.i
eec0 73 20 6e 6f 6e 2d 6e 69 6c 20 76 69 73 69 74 20 46 49 4c 45 2c 20 62 75 74 20 64 6f 20 6e 6f 74 s.non-nil.visit.FILE,.but.do.not
eee0 20 6d 61 6b 65 20 69 74 20 63 75 72 72 65 6e 74 2e 0a 49 66 20 4e 4f 43 4f 4e 46 49 52 4d 20 69 .make.it.current..If.NOCONFIRM.i
ef00 73 20 6e 6f 6e 2d 6e 69 6c 20 64 6f 6e 27 74 20 61 73 6b 20 66 6f 72 20 63 6f 6e 66 69 72 6d 61 s.non-nil.don't.ask.for.confirma
ef20 74 69 6f 6e 20 77 68 65 6e 20 72 65 76 65 72 74 69 6e 67 20 62 75 66 66 65 72 0a 66 72 6f 6d 20 tion.when.reverting.buffer.from.
ef40 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 64 6a 76 75 2d 72 65 61 64 file."...(interactive.(djvu-read
ef60 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 70 61 67 65 20 28 73 65 74 -file-name))...(unless.page.(set
ef80 71 20 70 61 67 65 20 31 29 29 0a 20 20 28 73 65 74 71 20 66 69 6c 65 20 28 65 78 70 61 6e 64 2d q.page.1))...(setq.file.(expand-
efa0 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 0a 20 20 3b 3b 20 44 6a 76 75 20 6d 6f 64 65 20 file-name.file))...;;.Djvu.mode.
efc0 6e 65 65 64 73 20 61 20 6c 6f 63 61 6c 20 66 69 6c 65 2e 20 20 49 66 20 46 49 4c 45 20 69 73 20 needs.a.local.file...If.FILE.is.
efe0 6c 6f 63 61 74 65 64 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 73 79 73 74 65 6d 2c 0a 20 20 3b 3b located.on.a.remote.system,...;;
f000 20 79 6f 75 20 63 61 6e 20 75 73 65 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 60 66 69 6c .you.can.use.something.like.`fil
f020 65 2d 6c 6f 63 61 6c 2d 63 6f 70 79 27 20 74 6f 20 65 64 69 74 20 46 49 4c 45 2e 0a 20 20 28 69 e-local-copy'.to.edit.FILE....(i
f040 66 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 75 73 f.(file-remote-p.file).......(us
f060 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 68 61 6e 64 6c 65 20 72 65 6d 6f 74 65 20 44 er-error."Cannot.handle.remote.D
f080 6a 76 75 20 66 69 6c 65 20 60 25 73 27 22 20 66 69 6c 65 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 jvu.file.`%s'".file))...(unless.
f0a0 28 61 6e 64 20 28 66 69 6c 65 2d 72 65 67 75 6c 61 72 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 (and.(file-regular-p.file)......
f0c0 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 72 65 61 64 61 62 6c 65 2d 70 20 66 69 6c 65 29 ..........(file-readable-p.file)
f0e0 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 6f 70 65 6e 20 44 ).....(user-error."Cannot.open.D
f100 6a 76 75 20 66 69 6c 65 20 60 25 73 27 22 20 66 69 6c 65 29 29 0a 20 20 28 77 69 74 68 2d 74 65 jvu.file.`%s'".file))...(with-te
f120 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 mp-buffer.....(insert-file-conte
f140 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 66 69 6c 65 20 6e 69 6c 20 30 20 34 29 0a 20 20 20 20 nts-literally.file.nil.0.4).....
f160 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 28 75 6e 6c (goto-char.(point-min)).....(unl
f180 65 73 73 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5c 5c 60 41 54 26 54 22 29 20 3b 20 6d 61 67 ess.(looking-at."\\`AT&T").;.mag
f1a0 69 63 20 6e 75 6d 62 65 72 20 66 6f 72 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 73 0a 20 20 20 ic.number.for.Djvu.documents....
f1c0 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 60 25 73 27 20 6e 6f 74 20 61 20 44 6a 76 75 20 ...(user-error."`%s'.not.a.Djvu.
f1e0 64 6f 63 75 6d 65 6e 74 22 20 66 69 6c 65 29 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 69 6e 68 69 document".file)))...(let*.((inhi
f200 62 69 74 2d 71 75 69 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 2d 62 61 73 65 6e 61 bit-quit.t)..........(buf-basena
f220 6d 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 me.(file-name-nondirectory.file)
f240 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 28 61 62 62 72 65 )..........(file-truename.(abbre
f260 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 66 viate-file-name.(file-truename.f
f280 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 75 6d 62 65 72 20 28 6e 74 ile)))..........(file-number.(nt
f2a0 68 63 64 72 20 31 30 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 20 66 69 6c 65 29 29 29 hcdr.10.(file-attributes.file)))
f2c0 0a 20 20 20 20 20 20 20 20 20 28 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 ..........(dir.(file-name-direct
f2e0 6f 72 79 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 6f 6e 6c 79 20 28 ory.file))..........(read-only.(
f300 6e 6f 74 20 28 66 69 6c 65 2d 77 72 69 74 61 62 6c 65 2d 70 20 66 69 6c 65 29 29 29 0a 20 20 20 not.(file-writable-p.file)))....
f320 20 20 20 20 20 20 28 64 6f 63 20 28 69 66 20 28 65 71 75 61 6c 20 62 75 66 66 65 72 2d 66 69 6c ......(doc.(if.(equal.buffer-fil
f340 65 2d 74 72 75 65 6e 61 6d 65 20 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 e-truename.file-truename).......
f360 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 0a 20 20 20 ............(current-buffer)....
f380 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 62 75 66 66 65 72 2d 76 69 73 69 74 69 .............(find-buffer-visiti
f3a0 6e 67 20 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 6c ng.file-truename)))..........(ol
f3c0 64 2d 62 75 66 73 20 28 61 6e 64 20 64 6f 63 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 d-bufs.(and.doc.(buffer-local-va
f3e0 6c 75 65 20 27 64 6a 76 75 2d 64 6f 63 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lue.'djvu-doc.doc)..............
f400 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 62 75 66 66 65 72 2d 6c 69 76 65 ...........(mapcar.#'buffer-live
f420 2d 70 20 28 64 6a 76 75 2d 62 75 66 66 65 72 73 20 64 6f 63 29 29 29 29 0a 20 20 20 20 20 20 20 -p.(djvu-buffers.doc))))........
f440 20 20 28 64 6a 76 75 2d 69 6e 69 74 20 74 29 29 0a 20 20 20 20 3b 3b 20 53 61 6e 69 74 79 20 63 ..(djvu-init.t)).....;;.Sanity.c
f460 68 65 63 6b 2e 20 20 57 65 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 6e 65 65 64 20 74 68 69 73 heck...We.should.never.need.this
f480 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6f 6c 64 2d 62 75 66 73 20 28 6d 65 6d 71 20 ......(when.(and.old-bufs.(memq.
f4a0 6e 69 6c 20 6f 6c 64 2d 62 75 66 73 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4b nil.old-bufs)).......(message."K
f4c0 69 6c 6c 69 6e 67 20 64 61 6e 67 6c 69 6e 67 20 44 6a 76 75 20 62 75 66 66 65 72 73 2e 2e 2e 22 illing.dangling.Djvu.buffers..."
f4e0 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 64 6f 63 ).......(with-current-buffer.doc
f500 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 2d 61 6c 6c 29 29 0a 20 20 .........(djvu-kill-doc-all))...
f520 20 20 20 20 28 73 65 74 71 20 6f 6c 64 2d 62 75 66 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 6d ....(setq.old-bufs.nil).......(m
f540 65 73 73 61 67 65 20 22 4b 69 6c 6c 69 6e 67 20 64 61 6e 67 6c 69 6e 67 20 44 6a 76 75 20 62 75 essage."Killing.dangling.Djvu.bu
f560 66 66 65 72 73 2e 2e 2e 44 6f 6e 65 22 29 0a 20 20 20 20 20 20 28 73 69 74 2d 66 6f 72 20 32 29 ffers...Done").......(sit-for.2)
f580 29 0a 20 20 20 20 3b 3b 20 44 6f 20 6e 6f 74 68 69 6e 67 20 69 66 20 77 65 20 61 72 65 20 61 6c ).....;;.Do.nothing.if.we.are.al
f5a0 72 65 61 64 79 20 76 69 73 69 74 69 6e 67 20 46 49 4c 45 20 73 75 63 68 20 74 68 61 74 20 61 6c ready.visiting.FILE.such.that.al
f5c0 6c 20 62 75 66 66 65 72 73 0a 20 20 20 20 3b 3b 20 61 72 65 20 70 72 6f 70 65 72 6c 79 20 64 65 l.buffers.....;;.are.properly.de
f5e0 66 69 6e 65 64 20 61 6e 64 20 46 49 4c 45 27 73 20 6d 6f 64 74 69 6d 65 20 6d 61 74 63 68 65 73 fined.and.FILE's.modtime.matches
f600 20 77 68 61 74 20 77 65 20 65 78 70 65 63 74 2e 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e .what.we.expect......(unless.(an
f620 64 20 6f 6c 64 2d 62 75 66 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 d.old-bufs..................(or.
f640 28 61 6e 64 20 28 65 71 75 61 6c 20 66 69 6c 65 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 (and.(equal.file-number.........
f660 20 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 62 75 66 66 65 72 .........................(buffer
f680 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 27 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 75 6d 62 65 72 -local-value.'buffer-file-number
f6a0 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .doc))..........................
f6c0 20 28 76 65 72 69 66 79 2d 76 69 73 69 74 65 64 2d 66 69 6c 65 2d 6d 6f 64 74 69 6d 65 20 64 6f .(verify-visited-file-modtime.do
f6e0 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 61 c))......................;;.If.a
f700 20 66 69 6c 65 20 6f 6e 20 64 69 73 6b 20 61 6e 64 20 61 20 44 6a 76 75 20 73 65 73 73 69 6f 6e .file.on.disk.and.a.Djvu.session
f720 20 61 72 65 20 6f 75 74 20 6f 66 20 73 79 6e 63 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .are.out.of.sync,...............
f740 20 20 20 20 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 6f 6e 6c 79 20 63 6f 6e 74 69 6e 75 65 20 69 .......;;.we.can.only.continue.i
f760 6e 20 68 61 69 72 79 2c 20 6c 69 6d 69 74 65 64 20 77 61 79 73 20 62 65 63 61 75 73 65 0a 20 20 n.hairy,.limited.ways.because...
f780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 64 6f 65 73 ...................;;.Emacs.does
f7a0 20 6e 6f 74 20 63 6f 70 79 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 46 49 4c 45 20 69 .not.copy.the.contents.of.FILE.i
f7c0 6e 74 6f 20 61 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nto.a.buffer....................
f7e0 20 20 20 3b 3b 20 49 6e 73 74 65 61 64 2c 20 77 65 20 65 6e 74 69 72 65 6c 79 20 72 65 6c 79 20 ...;;.Instead,.we.entirely.rely.
f800 6f 6e 20 64 6a 76 75 73 65 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.djvused......................
f820 20 28 6e 6f 74 20 28 6f 72 20 6e 6f 63 6f 6e 66 69 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(not.(or.noconfirm.............
f840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 0a 20 ..................(yes-or-no-p..
f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 ..............................(f
f880 6f 72 6d 61 74 20 22 52 65 76 65 72 74 20 62 75 66 66 65 72 20 66 72 6f 6d 20 66 69 6c 65 20 25 ormat."Revert.buffer.from.file.%
f8a0 73 3f 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 s?."............................
f8c0 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 29 ............(djvu-ref.file.doc))
f8e0 29 29 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 6f 6c 64 2d 62 75 66 73 0a 20 20 20 ))))).......(unless.old-bufs....
f900 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 66 75 6e 20 28 6e 29 0a 20 20 20 20 20 20 20 20 .....(cl-flet.((fun.(n).........
f920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 73 74 65 61 64 20 6f 66 20 60 67 65 ...............;;.Instead.of.`ge
f940 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 27 2c 20 77 65 20 74 61 6b 65 20 61 20 64 65 nerate-new-buffer',.we.take.a.de
f960 74 6f 75 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 76 tour........................;;.v
f980 69 61 20 60 63 72 65 61 74 65 2d 66 69 6c 65 2d 62 75 66 66 65 72 27 20 73 6f 20 74 68 61 74 20 ia.`create-file-buffer'.so.that.
f9a0 75 6e 69 71 75 69 66 79 20 63 61 6e 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uniquify.can.do.................
f9c0 20 20 20 20 20 20 20 3b 3b 20 69 74 73 20 6a 6f 62 2c 20 74 6f 6f 2e 20 20 49 74 20 64 6f 65 73 .......;;.its.job,.too...It.does
f9e0 20 6e 6f 74 20 6d 61 74 74 65 72 20 74 68 61 74 20 74 68 65 20 61 72 67 20 6f 66 0a 20 20 20 20 .not.matter.that.the.arg.of.....
fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 63 72 65 61 74 65 2d 66 69 ...................;;.`create-fi
fa20 6c 65 2d 62 75 66 66 65 72 27 20 64 6f 65 73 20 6e 6f 74 20 6d 61 74 63 68 20 60 62 75 66 66 65 le-buffer'.does.not.match.`buffe
fa40 72 2d 66 69 6c 65 2d 6e 61 6d 65 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-file-name'....................
fa60 20 20 20 20 3b 3b 20 62 65 63 61 75 73 65 20 60 75 6e 69 71 75 69 66 79 2d 62 75 66 66 65 72 2d ....;;.because.`uniquify-buffer-
fa80 66 69 6c 65 2d 6e 61 6d 65 27 20 6f 6e 6c 79 20 63 61 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 file-name'.only.cares...........
faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 62 6f 75 74 20 44 49 52 2e 0a 20 20 20 20 20 .............;;.about.DIR.......
fac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 72 65 61 74 65 2d 66 69 6c 65 2d 62 ..................(create-file-b
fae0 75 66 66 65 72 20 3b 20 6e 65 65 64 65 64 20 62 79 20 75 6e 69 71 75 69 66 79 0a 20 20 20 20 20 uffer.;.needed.by.uniquify......
fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d ...................(expand-file-
fb20 6e 61 6d 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 28 63 name..........................(c
fb40 6f 6e 63 61 74 20 62 75 66 2d 62 61 73 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 oncat.buf-basename..............
fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 6e 20 64 6a 76 75 2d ....................(nth.n.djvu-
fb80 62 75 66 66 65 72 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 buffer-name-extensions))........
fba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 72 29 29 29 29 0a 20 20 20 20 20 20 ..................dir)))).......
fbc0 20 20 20 20 28 69 66 20 64 6f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 ....(if.doc...............;;.Thi
fbe0 73 20 61 70 70 6c 69 65 73 20 69 66 20 60 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 s.applies.if.`find-file-noselect
fc00 27 20 63 72 65 61 74 65 64 20 4f 4c 44 2d 42 55 46 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 '.created.OLD-BUF...............
fc20 3b 3b 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 76 69 73 69 74 20 46 49 4c 45 2e 20 20 48 65 6e 63 ;;.in.order.to.visit.FILE...Henc
fc40 65 20 72 65 63 79 63 6c 65 20 4f 4c 44 2d 42 55 46 20 61 73 20 52 65 61 64 0a 20 20 20 20 20 20 e.recycle.OLD-BUF.as.Read.......
fc60 20 20 20 20 20 20 20 20 3b 3b 20 62 75 66 66 65 72 2e 20 20 54 68 69 73 20 61 70 70 6c 69 65 73 ........;;.buffer...This.applies
fc80 20 61 6c 73 6f 20 69 66 20 77 65 20 73 77 69 74 63 68 20 66 72 6f 6d 20 73 6f 6d 65 20 6f 74 68 .also.if.we.switch.from.some.oth
fca0 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 6f 64 65 20 74 6f 20 44 6a 76 69 er...............;;.mode.to.Djvi
fcc0 65 77 20 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 ew.mode................(with-cur
fce0 72 65 6e 74 2d 62 75 66 66 65 72 20 64 6f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rent-buffer.doc.................
fd00 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20 20 (let.((inhibit-read-only.t).....
fd20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c ..................(buffer-undo-l
fd40 69 73 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 61 73 65 ist.t))...................(erase
fd60 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 -buffer)).................(setq.
fd80 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 20 27 70 72 65 66 65 buffer-file-coding-system.'prefe
fda0 72 2d 75 74 66 2d 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 72 65 6e r-utf-8).................;;.`ren
fdc0 61 6d 65 2d 62 75 66 66 65 72 27 20 6f 62 65 79 73 20 75 6e 69 71 75 69 66 79 2e 0a 20 20 20 20 ame-buffer'.obeys.uniquify......
fde0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 62 75 66 66 65 72 20 28 63 6f 6e 63 ............(rename-buffer.(conc
fe00 61 74 20 62 75 66 2d 62 61 73 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 at.buf-basename.................
fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 30 20 64 6a .......................(nth.0.dj
fe40 76 75 2d 62 75 66 66 65 72 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 73 29 29 0a 20 20 20 20 vu-buffer-name-extensions)).....
fe60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 0a 20 ...........................t))..
fe80 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 6e 65 65 64 20 74 68 69 73 20 77 68 65 6e 20 ...........;;.We.need.this.when.
fea0 6d 69 6d 69 63 6b 69 6e 67 20 60 66 69 6e 64 2d 66 69 6c 65 27 0a 20 20 20 20 20 20 20 20 20 20 mimicking.`find-file'...........
fec0 20 20 3b 3b 20 73 6f 20 74 68 61 74 20 46 49 4c 45 20 64 6f 65 73 20 6e 6f 74 20 79 65 74 20 68 ..;;.so.that.FILE.does.not.yet.h
fee0 61 76 65 20 61 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 ave.a.buffer..............(setq.
ff00 64 6f 63 20 28 66 75 6e 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 doc.(fun.0)))...........(djvu-se
ff20 74 20 72 65 61 64 2d 62 75 66 20 64 6f 63 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 t.read-buf.doc.doc)...........(d
ff40 6a 76 75 2d 73 65 74 20 74 65 78 74 2d 62 75 66 20 28 66 75 6e 20 31 29 20 64 6f 63 29 0a 20 20 jvu-set.text-buf.(fun.1).doc)...
ff60 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 61 6e 6e 6f 74 2d 62 75 66 20 28 66 75 6e ........(djvu-set.annot-buf.(fun
ff80 20 32 29 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 73 68 61 .2).doc)...........(djvu-set.sha
ffa0 72 65 64 2d 62 75 66 20 28 66 75 6e 20 33 29 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 red-buf.(fun.3).doc)...........(
ffc0 64 6a 76 75 2d 73 65 74 20 62 6f 6f 6b 6d 61 72 6b 73 2d 62 75 66 20 28 66 75 6e 20 34 29 20 64 djvu-set.bookmarks-buf.(fun.4).d
ffe0 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 6f 75 74 6c 69 6e 65 2d oc)...........(djvu-set.outline-
10000 62 75 66 20 28 66 75 6e 20 35 29 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 4f 66 20 63 buf.(fun.5).doc))).......;;.Of.c
10020 6f 75 72 73 65 2c 20 77 65 20 68 61 76 65 0a 20 20 20 20 20 20 3b 3b 20 60 64 6a 76 75 2d 64 6f ourse,.we.have.......;;.`djvu-do
10040 63 2d 72 65 61 64 2d 62 75 66 27 20 3d 20 60 64 6a 76 75 2d 64 6f 63 27 0a 20 20 20 20 20 20 3b c-read-buf'.=.`djvu-doc'.......;
10060 3b 20 60 64 6a 76 75 2d 64 6f 63 2d 66 69 6c 65 27 20 3d 20 60 62 75 66 66 65 72 2d 66 69 6c 65 ;.`djvu-doc-file'.=.`buffer-file
10080 2d 6e 61 6d 65 27 2e 20 20 42 6f 74 68 65 72 3f 0a 20 20 20 20 20 20 3b 3b 20 49 74 20 73 65 65 -name'...Bother?.......;;.It.see
100a0 6d 73 20 45 6d 61 63 73 20 64 6f 65 73 20 6e 6f 74 20 6c 69 6b 65 20 61 6c 69 61 73 65 73 20 66 ms.Emacs.does.not.like.aliases.f
100c0 6f 72 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 or.buffer-local.variables.......
100e0 20 28 64 6a 76 75 2d 73 65 74 20 66 69 6c 65 20 66 69 6c 65 20 64 6f 63 29 0a 20 20 20 20 20 20 .(djvu-set.file.file.doc).......
10100 3b 3b 20 57 65 20 63 6f 75 6c 64 20 73 65 74 20 74 68 65 20 72 65 73 6f 6c 76 65 2d 75 72 6c 20 ;;.We.could.set.the.resolve-url.
10120 66 6c 61 67 20 68 65 75 72 69 73 74 69 63 61 6c 6c 79 2c 20 69 66 20 74 68 65 20 44 6a 76 75 20 flag.heuristically,.if.the.Djvu.
10140 66 69 6c 65 0a 20 20 20 20 20 20 3b 3b 20 68 61 70 70 65 6e 73 20 74 6f 20 68 61 76 65 20 62 6f file.......;;.happens.to.have.bo
10160 6f 6b 6d 61 72 6b 73 20 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 72 6c 73 20 6f 6e 20 74 68 65 20 okmarks.or.internal.urls.on.the.
10180 63 75 72 72 65 6e 74 20 70 61 67 65 2e 0a 20 20 20 20 20 20 3b 3b 20 28 64 6a 76 75 2d 73 65 74 current.page........;;.(djvu-set
101a0 20 72 65 73 6f 6c 76 65 2d 75 72 6c 20 6e 69 6c 20 64 6f 63 29 0a 0a 20 20 20 20 20 20 3b 3b 20 .resolve-url.nil.doc)........;;.
101c0 28 52 65 2d 29 49 6e 69 74 69 61 6c 69 7a 65 20 61 6c 6c 20 62 75 66 66 65 72 73 2e 0a 20 20 20 (Re-)Initialize.all.buffers.....
101e0 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 ...(with-current-buffer.(djvu-re
10200 66 20 72 65 61 64 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 f.read-buf.doc).........(djvu-re
10220 61 64 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 ad-mode)).......(with-current-bu
10240 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 6f 75 74 6c 69 6e 65 2d 62 75 66 20 64 6f 63 29 0a ffer.(djvu-ref.outline-buf.doc).
10260 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6f 75 74 6c 69 6e 65 2d 6d 6f 64 65 29 29 0a 20 20 20 ........(djvu-outline-mode))....
10280 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 ...(with-current-buffer.(djvu-re
102a0 66 20 74 65 78 74 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 63 f.text-buf.doc).........(djvu-sc
102c0 72 69 70 74 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 2d 62 75 ript-mode).........(setq.djvu-bu
102e0 66 66 65 72 20 27 74 65 78 74 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 ffer.'text)).......(with-current
10300 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 64 6f 63 29 -buffer.(djvu-ref.annot-buf.doc)
10320 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 63 72 69 70 74 2d 6d 6f 64 65 29 0a 20 20 20 20 .........(djvu-script-mode).....
10340 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 61 6e 6e 6f 74 0a 20 20 20 ....(setq.djvu-buffer.'annot....
10360 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 27 28 ...........header-line-format.'(
10380 3a 65 76 61 6c 20 28 64 6a 76 75 2d 68 65 61 64 65 72 2d 6c 69 6e 65 20 22 70 61 67 65 20 61 6e :eval.(djvu-header-line."page.an
103a0 6e 6f 74 61 74 69 6f 6e 73 22 29 29 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 notations")))).......(with-curre
103c0 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 72 65 64 2d 62 75 66 20 64 nt-buffer.(djvu-ref.shared-buf.d
103e0 6f 63 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 63 72 69 70 74 2d 6d 6f 64 65 29 0a 20 oc).........(djvu-script-mode)..
10400 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 73 68 61 72 65 64 .......(setq.djvu-buffer.'shared
10420 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 ...............header-line-forma
10440 74 20 27 28 3a 65 76 61 6c 20 28 64 6a 76 75 2d 68 65 61 64 65 72 2d 6c 69 6e 65 20 22 73 68 61 t.'(:eval.(djvu-header-line."sha
10460 72 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 22 29 29 29 29 0a 20 20 20 20 20 20 28 77 69 74 68 red.annotations")))).......(with
10480 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f 6b 6d 61 -current-buffer.(djvu-ref.bookma
104a0 72 6b 73 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 63 72 69 70 rks-buf.doc).........(djvu-scrip
104c0 74 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 2d 62 75 66 66 65 t-mode).........(setq.djvu-buffe
104e0 72 20 27 62 6f 6f 6b 6d 61 72 6b 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 65 r.'bookmarks...............heade
10500 72 2d 6c 69 6e 65 2d 66 6f 72 6d 61 74 20 27 28 3a 65 76 61 6c 20 28 64 6a 76 75 2d 68 65 61 64 r-line-format.'(:eval.(djvu-head
10520 65 72 2d 6c 69 6e 65 20 22 62 6f 6f 6b 6d 61 72 6b 73 22 29 29 29 29 0a 20 20 20 20 20 20 28 64 er-line."bookmarks")))).......(d
10540 6a 76 75 2d 61 6c 6c 2d 62 75 66 66 65 72 73 20 64 6f 63 0a 20 20 20 20 20 20 20 20 3b 3b 20 70 jvu-all-buffers.doc.........;;.p
10560 65 72 6d 61 6e 65 6e 74 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 0a ermanent.buffer-local.variables.
10580 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 2d 64 6f 63 20 64 6f 63 20 3b 20 70 72 6f ........(setq.djvu-doc.doc.;.pro
105a0 70 61 67 61 74 65 20 44 4f 43 20 74 6f 20 61 6c 6c 20 62 75 66 66 65 72 73 0a 20 20 20 20 20 20 pagate.DOC.to.all.buffers.......
105c0 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 0a 20 20 ........buffer-file-name.file...
105e0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 6f ............;;.A.non-nil.value.o
10600 66 20 60 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 27 20 65 6e 61 62 6c 65 73 f.`buffer-file-truename'.enables
10620 20 66 69 6c 65 2d 6c 6f 63 6b 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 .file-locking,...............;;.
10640 73 65 65 20 63 61 6c 6c 20 6f 66 20 60 6c 6f 63 6b 5f 66 69 6c 65 27 20 69 6e 20 60 70 72 65 70 see.call.of.`lock_file'.in.`prep
10660 61 72 65 5f 74 6f 5f 6d 6f 64 69 66 79 5f 62 75 66 66 65 72 5f 31 27 0a 20 20 20 20 20 20 20 20 are_to_modify_buffer_1'.........
10680 20 20 20 20 20 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 66 69 6c 65 2d ......buffer-file-truename.file-
106a0 74 72 75 65 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 66 69 truename...............buffer-fi
106c0 6c 65 2d 6e 75 6d 62 65 72 20 66 69 6c 65 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 le-number.file-number...........
106e0 20 20 20 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 0a 20 20 20 20 20 ....default-directory.dir)......
10700 20 20 20 3b 3b 20 6f 74 68 65 72 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 73 74 75 66 66 0a 20 ...;;.other.buffer-local.stuff..
10720 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 72 65 61 64 2d 6f 6e .......(setq.buffer-file-read-on
10740 6c 79 20 72 65 61 64 2d 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 ly.read-only...............;;.We
10760 20 61 73 73 75 6d 65 20 74 68 61 74 20 61 6c 6c 20 62 75 66 66 65 72 73 20 66 6f 72 20 61 20 44 .assume.that.all.buffers.for.a.D
10780 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 jvu.document.have.the.same......
107a0 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 61 64 2d 6f 6e 6c 79 20 73 74 61 74 75 73 2e 20 20 53 .........;;.read-only.status...S
107c0 68 6f 75 6c 64 20 77 65 20 61 6c 6c 6f 77 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 20 hould.we.allow.different.values.
107e0 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 75 66 66 65 72 73 for.the...............;;.buffers
10800 20 6f 66 20 6f 6e 65 20 64 6f 63 75 6d 65 6e 74 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .of.one.document?...............
10820 3b 3b 20 4f 72 20 64 6f 20 77 65 20 6e 65 65 64 20 61 20 60 64 6a 76 75 2d 72 65 61 64 2d 6f 6e ;;.Or.do.we.need.a.`djvu-read-on
10840 6c 79 2d 6d 6f 64 65 27 3f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 ly-mode'?...............buffer-r
10860 65 61 64 2d 6f 6e 6c 79 20 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 ead-only.read-only).........(set
10880 71 2d 6c 6f 63 61 6c 20 77 72 69 74 65 2d 66 69 6c 65 2d 66 75 6e 63 74 69 6f 6e 73 20 23 27 64 q-local.write-file-functions.#'d
108a0 6a 76 75 2d 73 61 76 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 76 69 73 69 74 65 64 2d 66 jvu-save).........(set-visited-f
108c0 69 6c 65 2d 6d 6f 64 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 ile-modtime).........(add-hook.'
108e0 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 64 6a 76 75 2d 6d 6f 64 69 66 69 65 post-command-hook.#'djvu-modifie
10900 64 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c d.nil.t).........(add-hook.'kill
10920 2d 62 75 66 66 65 72 2d 68 6f 6f 6b 20 23 27 64 6a 76 75 2d 6b 69 6c 6c 2d 64 6f 63 2d 61 6c 6c -buffer-hook.#'djvu-kill-doc-all
10940 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 63 68 61 6e 67 .nil.t).........(add-hook.'chang
10960 65 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 64 6a 76 75 2d 63 68 61 6e 67 65 2d e-major-mode-hook.#'djvu-change-
10980 6d 61 6a 6f 72 2d 6d 6f 64 65 20 6e 69 6c 20 74 29 29 0a 0a 20 20 20 20 20 20 28 77 69 74 68 2d major-mode.nil.t))........(with-
109a0 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 temp-buffer.........(djvu-djvuse
109c0 64 20 64 6f 63 20 74 20 22 2d 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.doc.t."-e"....................
109e0 20 20 20 22 63 72 65 61 74 65 2d 73 68 61 72 65 64 2d 61 6e 74 3b 20 70 72 69 6e 74 2d 61 6e 74 ..."create-shared-ant;.print-ant
10a00 3b 20 6e 3b 20 6c 73 3b 20 70 72 69 6e 74 2d 6f 75 74 6c 69 6e 65 3b 22 29 0a 20 20 20 20 20 20 ;.n;.ls;.print-outline;").......
10a20 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 0a 20 20 20 20 20 ..(goto-char.(point-min)).......
10a40 20 20 20 3b 3b 20 73 68 61 72 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 ...;;.shared.annotations........
10a60 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6e 61 .(save-restriction...........(na
10a80 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 rrow-to-region............(point
10aa0 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 72 65 20 69 73 20 6e 6f 20 64 65 6c 69 )............;;.There.is.no.deli
10ac0 6d 69 74 65 72 20 69 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 6f 75 74 70 75 74 20 73 74 72 69 miter.in.between.the.output.stri
10ae0 6e 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 20 6d 75 6c 74 69 70 6c 65 20 64 6a ngs............;;.of.multiple.dj
10b00 76 75 73 65 64 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 64 69 63 61 74 69 6e 67 20 73 6f 6d 65 74 68 vused.commands.indicating.someth
10b20 69 6e 67 20 6c 69 6b 65 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 6c 61 73 74 20 ing.like............;;.the.last.
10b40 73 68 61 72 65 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b shared.annotation.............;;
10b60 20 53 6f 20 77 65 20 73 69 6d 70 6c 79 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 66 61 63 74 20 74 .So.we.simply.rely.on.the.fact.t
10b80 68 61 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 68 61 76 65 20 61 0a 20 20 20 20 20 20 20 20 20 hat.annotations.have.a..........
10ba0 20 20 3b 3b 20 70 61 72 73 61 62 6c 65 20 6c 69 73 70 2d 6c 69 6b 65 20 73 79 6e 74 61 78 20 73 ..;;.parsable.lisp-like.syntax.s
10bc0 75 72 72 6f 75 6e 64 65 64 20 62 79 20 62 72 61 63 65 73 2c 0a 20 20 20 20 20 20 20 20 20 20 20 urrounded.by.braces,............
10be0 3b 3b 20 77 68 65 72 65 61 73 20 74 68 65 20 6e 65 78 74 20 64 6a 76 75 73 65 64 20 63 6f 6d 6d ;;.whereas.the.next.djvused.comm
10c00 61 6e 64 20 69 73 20 60 6e 27 2c 20 74 68 65 20 6f 75 74 70 75 74 0a 20 20 20 20 20 20 20 20 20 and.is.`n',.the.output..........
10c20 20 20 3b 3b 20 6f 66 20 77 68 69 63 68 20 69 73 20 61 20 70 6c 61 69 6e 20 6e 75 6d 62 65 72 2e ..;;.of.which.is.a.plain.number.
10c40 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 ............(save-excursion.....
10c60 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 70 72 6f 67 6e 20 28 73 6b 69 70 2d 63 68 61 .........(while.(progn.(skip-cha
10c80 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rs-forward.".\t\n").............
10ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 28 22 29 29 ...............(looking-at."("))
10cc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 29 0a ................(forward-sexp)).
10ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 .............(point)))..........
10d00 20 28 64 6a 76 75 2d 69 6e 69 74 2d 61 6e 6e 6f 74 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 72 .(djvu-init-annot.(djvu-ref.shar
10d20 65 64 2d 62 75 66 20 64 6f 63 29 20 64 6f 63 20 74 29 29 0a 0a 20 20 20 20 20 20 20 20 3b 3b 20 ed-buf.doc).doc.t))..........;;.
10d40 70 61 67 65 20 6d 61 78 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 70 61 67 65 6d page.max.........(djvu-set.pagem
10d60 61 78 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 20 64 6f 63 29 0a ax.(read.(current-buffer)).doc).
10d80 0a 20 20 20 20 20 20 20 20 3b 3b 20 70 61 67 65 20 69 64 3a 0a 20 20 20 20 20 20 20 20 3b 3b 20 .........;;.page.id:.........;;.
10da0 54 68 65 20 6f 75 74 70 75 74 20 6c 69 6e 65 73 20 6f 66 20 64 6a 76 75 73 65 64 20 2d 65 20 22 The.output.lines.of.djvused.-e."
10dc0 6c 73 3b 22 20 63 6f 6e 73 69 73 74 73 20 6f 66 20 73 65 76 65 72 61 6c 20 70 61 72 74 73 0a 20 ls;".consists.of.several.parts..
10de0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 67 65 78 70 20 28 63 6f 6e 63 61 74 20 22 5c 5c .......(let.((regexp.(concat."\\
10e00 28 3f 3a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5b 20 5c 74 5d 2b 5c 5c 29 3f 22 20 3b 20 70 61 67 (?:\\([0-9]+\\)[.\t]+\\)?".;.pag
10e20 65 20 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e.number........................
10e40 20 20 20 20 20 20 20 22 5c 5c 28 5b 50 49 41 54 5d 5c 5c 29 5b 20 5c 74 5d 2b 22 20 20 20 20 20 ......."\\([PIAT]\\)[.\t]+".....
10e60 20 20 20 20 20 3b 20 66 69 6c 65 20 69 64 65 6e 74 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 .....;.file.identifier..........
10e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 28 5b 30 2d 39 5d 2b 5c ....................."\\([0-9]+\
10ea0 5c 29 5b 20 5c 74 5d 2b 22 20 20 20 20 20 20 20 20 20 20 3b 20 66 69 6c 65 20 73 69 7a 65 0a 20 \)[.\t]+"..........;.file.size..
10ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 .............................;;.
10ee0 57 65 20 68 61 76 65 20 61 20 70 72 6f 62 6c 65 6d 20 77 68 65 6e 20 70 61 72 73 69 6e 67 20 74 We.have.a.problem.when.parsing.t
10f00 68 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 he..............................
10f20 20 3b 3b 20 63 6f 6d 70 6f 6e 65 6e 74 20 66 69 6c 65 20 6e 61 6d 65 20 66 6f 6c 6c 6f 77 65 64 .;;.component.file.name.followed
10f40 20 62 79 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .by.the.optional................
10f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 61 67 65 20 74 69 74 6c 65 3a 20 74 68 ...............;;.page.title:.th
10f80 65 72 65 20 69 73 20 6e 6f 20 75 6e 61 6d 62 69 67 75 6f 75 73 20 73 65 70 61 72 61 74 6f 72 0a ere.is.no.unambiguous.separator.
10fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ..............................;;
10fc0 20 69 6e 20 62 65 74 77 65 65 6e 20 74 68 65 20 74 77 6f 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 .in.between.the.two...Note.that.
10fe0 74 68 65 20 63 6f 6d 70 6f 6e 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 the.component...................
11000 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 69 6c 65 20 6e 61 6d 65 20 6d 61 79 20 63 6f 6e ............;;.file.name.may.con
11020 74 61 69 6e 20 77 68 69 74 65 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 tain.whitespace.characters......
11040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 .........................;;.and.
11060 69 74 73 20 66 69 6c 65 20 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 20 69 73 20 6e 6f 74 20 75 its.file.name.extension.is.not.u
11080 6e 69 71 75 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 nique...........................
110a0 20 20 20 20 3b 3b 20 28 69 66 20 70 72 65 73 65 6e 74 20 61 74 20 61 6c 6c 29 2e 0a 20 20 20 20 ....;;.(if.present.at.all)......
110c0 20 20 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 5c 5c 28 5b 5e .........................."\\([^
110e0 3d 5c 6e 5d 2b 5c 5c 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 =\n]+\\)".......................
11100 20 20 20 20 20 20 20 20 22 5c 5c 28 3f 3a 5b 20 5c 74 5d 2b 54 3d 5b 5e 5c 74 5c 6e 5d 2b 5c 5c ........"\\(?:[.\t]+T=[^\t\n]+\\
11120 29 3f 22 20 20 3b 20 74 69 74 6c 65 20 28 6f 70 74 69 6f 6e 61 6c 29 0a 20 20 20 20 20 20 20 20 )?"..;.title.(optional).........
11140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 24 22 29 29 20 3b 20 6d 61 ......................"$")).;.ma
11160 74 63 68 20 61 20 73 69 6e 67 6c 65 20 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tch.a.single.line...............
11180 70 61 67 65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 70 72 6f 67 6e page-id)...........(while.(progn
111a0 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 .(skip-chars-forward.".\t\n")...
111c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 ......................(looking-a
111e0 74 20 72 65 67 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 61 74 63 t.regexp)).............(if.(matc
11200 68 2d 73 74 72 69 6e 67 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 h-string.1).................;;.p
11220 61 67 65 2d 69 64 20 69 73 20 61 6e 20 61 6c 69 73 74 20 77 69 74 68 20 65 6c 65 6d 65 6e 74 73 age-id.is.an.alist.with.elements
11240 20 28 50 41 47 45 2d 4e 55 4d 20 2e 20 46 49 4c 45 2d 49 44 29 2e 0a 20 20 20 20 20 20 20 20 20 .(PAGE-NUM...FILE-ID)...........
11260 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 72 65 6d 61 69 6e 64 65 72 20 6f 66 20 74 68 65 20 63 .......;;.The.remainder.of.the.c
11280 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 61 74 20 64 6a 76 75 73 65 64 20 73 65 74 73 20 75 70 ode.assumes.that.djvused.sets.up
112a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 69 73 20 61 73 73 6f 63 69 61 .................;;.this.associa
112c0 74 69 6f 6e 20 6c 69 73 74 20 70 72 6f 70 65 72 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 tion.list.properly..............
112e0 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 ....(push.(cons.(djvu-match-numb
11300 65 72 20 31 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 er.1)...........................
11320 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 34 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(match-string.4)).............
11340 20 20 20 20 20 20 20 20 20 20 70 61 67 65 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........page-id)).............
11360 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 29 0a 20 20 20 20 20 (goto-char.(match-end.0)))......
11380 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d .....(unless.(eq.(djvu-ref.pagem
113a0 61 78 20 64 6f 63 29 20 28 6c 65 6e 67 74 68 20 70 61 67 65 2d 69 64 29 29 0a 20 20 20 20 20 20 ax.doc).(length.page-id)).......
113c0 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 50 61 67 65 20 69 64 20 6c 69 73 74 20 62 72 6f 6b 65 ......(error."Page.id.list.broke
113e0 6e 20 25 73 20 2d 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 n.%s.-.%s"....................(d
11400 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 20 28 6c 65 6e 67 74 68 20 70 61 67 jvu-ref.pagemax.doc).(length.pag
11420 65 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 70 61 67 65 e-id)))...........(djvu-set.page
11440 2d 69 64 20 28 6e 72 65 76 65 72 73 65 20 70 61 67 65 2d 69 64 29 20 64 6f 63 29 29 0a 0a 20 20 -id.(nreverse.page-id).doc))....
11460 20 20 20 20 20 20 3b 3b 20 62 6f 6f 6b 6d 61 72 6b 73 0a 20 20 20 20 20 20 20 20 28 73 6b 69 70 ......;;.bookmarks.........(skip
11480 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 -chars-forward.".\t\n").........
114a0 28 77 68 65 6e 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 28 62 6f 6f 6b 6d 61 72 6b 73 22 29 0a (when.(looking-at."(bookmarks").
114c0 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 62 6a 65 63 74 20 28 72 65 61 64 20 28 63 ..........(let.((object.(read.(c
114e0 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 urrent-buffer)))).............(w
11500 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f ith-current-buffer.(djvu-ref.boo
11520 6b 6d 61 72 6b 73 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c kmarks-buf.doc)...............(l
11540 65 74 20 28 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 20 20 et.(buffer-read-only)...........
11560 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(erase-buffer)............
11580 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 28 62 6f 6f 6b 6d 61 72 6b 73 22 29 0a 20 20 20 20 20 .....(insert."(bookmarks")......
115a0 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 62 6f 6f 6b 6d 61 72 6b ...........(djvu-insert-bookmark
115c0 73 20 28 63 64 72 20 6f 62 6a 65 63 74 29 20 22 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 s.(cdr.object).".").............
115e0 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(insert.")\n")..............
11600 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 20 ...(goto-char.(point-min))......
11620 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d ...........(set-buffer-modified-
11640 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 p.nil).................(setq.buf
11660 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 fer-undo-list.nil)))............
11680 20 28 64 6a 76 75 2d 69 6e 69 74 2d 6f 75 74 6c 69 6e 65 20 28 63 64 72 20 6f 62 6a 65 63 74 29 .(djvu-init-outline.(cdr.object)
116a0 20 64 6f 63 29 29 29 29 0a 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 70 61 67 65 20 .doc))))........(djvu-init-page.
116c0 70 61 67 65 20 64 6f 63 29 29 0a 0a 20 20 20 20 28 69 66 20 76 69 65 77 20 28 64 6a 76 75 2d 76 page.doc))......(if.view.(djvu-v
116e0 69 65 77 20 64 6f 63 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 6e 6f 73 65 6c 65 63 74 20 28 iew.doc)).....(unless.noselect.(
11700 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 2d switch-to-buffer.(djvu-ref.read-
11720 62 75 66 20 64 6f 63 29 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 2d 62 75 buf.doc))).....(djvu-ref.read-bu
11740 66 20 64 6f 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 76 65 72 74 2d 62 75 66 f.doc)))..(defun.djvu-revert-buf
11760 66 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 5f 69 67 6e 6f 72 65 2d 61 75 74 6f 20 6e 6f 63 6f fer.(&optional._ignore-auto.noco
11780 6e 66 69 72 6d 20 5f 70 72 65 73 65 72 76 65 2d 6d 6f 64 65 73 29 0a 20 20 22 52 65 76 65 72 74 nfirm._preserve-modes)..."Revert
117a0 20 62 75 66 66 65 72 73 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 44 6a 76 75 20 64 6f .buffers.for.the.current.Djvu.do
117c0 63 75 6d 65 6e 74 2e 0a 4e 6f 74 65 3a 20 44 6a 76 75 20 6d 6f 64 65 20 6e 65 76 65 72 20 76 69 cument..Note:.Djvu.mode.never.vi
117e0 73 69 74 73 20 74 68 65 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 69 6e 20 74 68 65 20 75 73 sits.the.Djvu.document.in.the.us
11800 75 61 6c 20 45 6d 61 63 73 20 73 65 6e 73 65 20 6f 66 0a 63 6f 70 79 69 6e 67 20 74 68 65 20 63 ual.Emacs.sense.of.copying.the.c
11820 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 66 69 6c 65 20 69 6e 74 6f 20 61 20 62 75 66 66 65 ontents.of.the.file.into.a.buffe
11840 72 20 74 6f 20 6d 61 6e 69 70 75 6c 61 74 65 20 69 74 2e 20 20 49 6e 73 74 65 61 64 2c 0a 64 6a r.to.manipulate.it...Instead,.dj
11860 76 75 20 6d 6f 64 65 20 63 6f 6d 70 6c 65 74 65 6c 79 20 72 65 6c 69 65 73 20 6f 6e 20 64 6a 76 vu.mode.completely.relies.on.djv
11880 75 73 65 64 20 61 6e 64 20 74 68 65 20 66 69 6c 65 20 6f 6e 20 64 69 73 6b 2e 20 20 54 68 65 72 used.and.the.file.on.disk...Ther
118a0 65 66 6f 72 65 2c 0a 77 65 20 61 72 65 20 69 6e 20 74 72 6f 75 62 6c 65 20 69 66 20 74 68 65 20 efore,.we.are.in.trouble.if.the.
118c0 66 69 6c 65 20 6f 6e 20 64 69 73 6b 20 68 61 70 70 65 6e 73 20 74 6f 20 62 65 20 6e 6f 74 20 69 file.on.disk.happens.to.be.not.i
118e0 6e 20 73 79 6e 63 20 61 6e 79 6d 6f 72 65 0a 77 69 74 68 20 77 68 61 74 20 44 6a 76 75 20 6d 6f n.sync.anymore.with.what.Djvu.mo
11900 64 65 20 62 65 6c 69 65 76 65 73 20 69 74 20 69 73 2e 20 20 52 65 76 65 72 74 69 6e 67 20 74 68 de.believes.it.is...Reverting.th
11920 65 20 62 75 66 66 65 72 73 20 66 6f 72 20 74 68 65 20 44 6a 76 75 0a 64 6f 63 75 6d 65 6e 74 20 e.buffers.for.the.Djvu.document.
11940 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 6f 6e 6c 79 20 77 61 79 20 6f 75 74 2e 22 0a 20 20 is.usually.the.only.way.out."...
11960 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 64 6a 76 75 2d 64 6f 63 (interactive)...(unless.djvu-doc
11980 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 64 6a 76 75 2d 64 6f 63 22 29 29 0a 20 20 3b .(user-error."No.djvu-doc"))...;
119a0 3b 20 46 6f 72 63 65 20 72 65 76 65 72 73 61 6c 2e 20 20 49 73 20 74 68 65 72 65 20 61 20 62 65 ;.Force.reversal...Is.there.a.be
119c0 74 74 65 72 20 77 61 79 20 74 6f 20 61 63 68 69 65 76 65 20 74 68 69 73 3f 0a 20 20 3b 3b 20 45 tter.way.to.achieve.this?...;;.E
119e0 6d 61 63 73 20 77 69 6c 6c 20 61 73 6b 20 61 20 66 65 77 20 71 75 65 73 74 69 6f 6e 73 20 69 66 macs.will.ask.a.few.questions.if
11a00 20 73 6f 6d 65 20 62 75 66 66 65 72 73 20 61 72 65 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 28 77 .some.buffers.are.modified....(w
11a20 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 64 6a 76 75 2d 64 6f 63 0a 20 20 20 20 ith-current-buffer.djvu-doc.....
11a40 28 73 65 74 71 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 75 6d 62 65 72 20 6e 69 6c 29 29 0a 20 (setq.buffer-file-number.nil))..
11a60 20 28 64 6a 76 75 2d 66 69 6e 64 2d 66 69 6c 65 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 .(djvu-find-file.(djvu-ref.file.
11a80 64 6a 76 75 2d 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 djvu-doc)...................(djv
11aa0 75 2d 72 65 66 20 70 61 67 65 20 64 6a 76 75 2d 64 6f 63 29 20 6e 69 6c 20 6e 69 6c 20 6e 6f 63 u-ref.page.djvu-doc).nil.nil.noc
11ac0 6f 6e 66 69 72 6d 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 69 74 2d 70 61 67 65 20 onfirm))..(defun.djvu-init-page.
11ae0 28 26 6f 70 74 69 6f 6e 61 6c 20 70 61 67 65 20 64 6f 63 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 (&optional.page.doc)..."Initiali
11b00 7a 65 20 50 41 47 45 20 66 6f 72 20 44 6a 76 75 20 44 4f 43 2e 0a 50 41 47 45 20 69 73 20 72 65 ze.PAGE.for.Djvu.DOC..PAGE.is.re
11b20 2d 69 6e 69 74 69 61 6c 69 7a 65 64 20 69 66 20 77 65 20 61 72 65 20 61 6c 72 65 61 64 79 20 76 -initialized.if.we.are.already.v
11b40 69 65 77 69 6e 67 20 69 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 iewing.it."...(interactive.(list
11b60 20 28 64 6a 76 75 2d 72 65 61 64 2d 70 61 67 65 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 64 6f .(djvu-read-page)))...(unless.do
11b80 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 3b 3b 20 4e 6f 20 6e c.(setq.doc.djvu-doc))...;;.No.n
11ba0 65 65 64 20 74 6f 20 73 61 76 65 20 69 66 20 6f 6e 6c 79 20 74 68 65 20 62 6f 6f 6b 6d 61 72 6b eed.to.save.if.only.the.bookmark
11bc0 73 20 62 75 66 66 65 72 0a 20 20 3b 3b 20 6f 72 20 73 68 61 72 65 64 20 61 6e 6e 6f 74 61 74 69 s.buffer...;;.or.shared.annotati
11be0 6f 6e 73 20 62 75 66 66 65 72 20 67 6f 74 20 6d 6f 64 69 66 69 65 64 2e 0a 20 20 28 69 66 20 28 ons.buffer.got.modified....(if.(
11c00 6f 72 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 or.(buffer-modified-p.(djvu-ref.
11c20 74 65 78 74 2d 62 75 66 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 text-buf.doc))...........(buffer
11c40 2d 6d 6f 64 69 66 69 65 64 2d 70 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 -modified-p.(djvu-ref.annot-buf.
11c60 64 6f 63 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 29 0a doc))).......(djvu-save.doc.t)).
11c80 20 20 3b 3b 20 57 65 20 70 72 6f 63 65 73 73 20 50 41 47 45 20 75 6e 63 6f 6e 64 69 74 69 6f 6e ..;;.We.process.PAGE.uncondition
11ca0 61 6c 6c 79 2c 20 65 76 65 6e 20 69 66 20 69 74 20 65 71 75 61 6c 73 20 74 68 65 20 70 61 67 65 ally,.even.if.it.equals.the.page
11cc0 0a 20 20 3b 3b 20 63 75 72 72 65 6e 74 6c 79 20 64 69 73 70 6c 61 79 65 64 2e 20 20 4d 6f 73 74 ...;;.currently.displayed...Most
11ce0 20 6f 66 74 65 6e 2c 20 50 41 47 45 20 65 71 75 61 6c 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 .often,.PAGE.equals.the.current.
11d00 70 61 67 65 0a 20 20 3b 3b 20 69 66 20 77 65 20 77 61 6e 74 20 74 6f 20 72 65 64 69 73 70 6c 61 page...;;.if.we.want.to.redispla
11d20 79 20 50 41 47 45 2e 0a 20 20 28 75 6e 6c 65 73 73 20 28 69 6e 74 65 67 65 72 70 20 70 61 67 65 y.PAGE....(unless.(integerp.page
11d40 29 0a 20 20 20 20 28 73 65 74 71 20 70 61 67 65 20 28 6f 72 20 28 64 6a 76 75 2d 72 65 66 20 70 ).....(setq.page.(or.(djvu-ref.p
11d60 61 67 65 20 64 6f 63 29 20 31 29 29 29 0a 20 20 28 69 66 20 28 6f 72 20 28 3c 20 70 61 67 65 20 age.doc).1)))...(if.(or.(<.page.
11d80 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 1)...........(<.(djvu-ref.pagema
11da0 78 20 64 6f 63 29 20 70 61 67 65 29 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 x.doc).page)).......(user-error.
11dc0 22 50 61 67 65 20 60 25 73 27 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 20 70 61 67 65 29 29 0a "Page.`%s'.out.of.range".page)).
11de0 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 71 75 69 74 20 74 29 29 0a 20 20 20 20 28 ...(let.((inhibit-quit.t)).....(
11e00 69 66 20 28 61 6e 64 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 0a 20 20 20 20 if.(and.(djvu-ref.page.doc).....
11e20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 70 61 67 65 20 28 64 6a 76 75 2d .........(not.(equal.page.(djvu-
11e40 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 ref.page.doc)))).........(djvu-s
11e60 65 74 20 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 20 28 63 6f 6e 73 20 28 64 6a 76 75 2d et.history-backward.(cons.(djvu-
11e80 72 65 66 20 70 61 67 65 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ref.page.doc)...................
11ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 .......................(djvu-ref
11ec0 20 68 69 73 74 6f 72 79 2d 62 61 63 6b 77 61 72 64 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 .history-backward.doc)).........
11ee0 20 20 20 20 20 20 20 20 20 20 64 6f 63 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 68 69 ..........doc)).....(djvu-set.hi
11f00 73 74 6f 72 79 2d 66 6f 72 77 61 72 64 20 6e 69 6c 20 64 6f 63 29 0a 20 20 20 20 28 64 6a 76 75 story-forward.nil.doc).....(djvu
11f20 2d 73 65 74 20 70 61 67 65 20 70 61 67 65 20 64 6f 63 29 0a 20 20 20 20 3b 3b 20 46 69 78 20 6d -set.page.page.doc).....;;.Fix.m
11f40 65 3a 20 52 65 73 74 6f 72 65 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 73 20 69 66 20 77 e:.Restore.buffer.positions.if.w
11f60 65 20 72 65 76 69 73 69 74 20 74 68 65 20 73 61 6d 65 20 70 61 67 65 2e 0a 20 20 20 20 28 64 6a e.revisit.the.same.page......(dj
11f80 76 75 2d 73 65 74 20 72 65 61 64 2d 70 6f 73 20 6e 69 6c 20 64 6f 63 29 0a 20 20 20 20 28 77 69 vu-set.read-pos.nil.doc).....(wi
11fa0 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 th-temp-buffer.......(djvu-djvus
11fc0 65 64 20 64 6f 63 20 74 20 22 2d 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed.doc.t."-e"...................
11fe0 20 20 28 66 6f 72 6d 61 74 20 22 73 65 6c 65 63 74 20 25 64 3b 20 73 69 7a 65 3b 20 70 72 69 6e ..(format."select.%d;.size;.prin
12000 74 2d 74 78 74 3b 20 70 72 69 6e 74 2d 61 6e 74 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t-txt;.print-ant;"..............
12020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f ...............(djvu-ref.page.do
12040 63 29 29 29 0a 20 20 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 c))).......(goto-char.(point-min
12060 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 70 61 67 65 20 73 69 7a 65 0a 20 20 20 20 20 20 28 73 6b ))........;;.page.size.......(sk
12080 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 ip-chars-forward.".\t\n").......
120a0 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 77 69 64 74 68 3d 5c 5c 28 5b 5b 3a 64 69 67 (if.(looking-at."width=\\([[:dig
120c0 69 74 3a 5d 5d 2b 5c 5c 29 5b 20 5c 74 5d 2b 68 65 69 67 68 74 3d 5c 5c 28 5b 5b 3a 64 69 67 69 it:]]+\\)[.\t]+height=\\([[:digi
120e0 74 3a 5d 5d 2b 5c 5c 29 5c 5c 28 3f 3a 5b 20 5c 74 5d 2b 72 6f 74 61 74 69 6f 6e 3d 5c 5c 28 5b t:]]+\\)\\(?:[.\t]+rotation=\\([
12100 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 5c 5c 29 3f 24 22 29 0a 20 20 20 20 20 20 20 20 20 20 [:digit:]]+\\)\\)?$")...........
12120 28 64 6a 76 75 2d 73 65 74 20 70 61 67 65 73 69 7a 65 20 28 63 6f 6e 73 20 28 64 6a 76 75 2d 6d (djvu-set.pagesize.(cons.(djvu-m
12140 61 74 63 68 2d 6e 75 6d 62 65 72 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 atch-number.1)..................
12160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 ..................(djvu-match-nu
12180 6d 62 65 72 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 mber.2)).....................doc
121a0 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 6d 61 79 20 66 61 69 6c 20 69 66 20 74 68 ).........;;.This.may.fail.if.th
121c0 65 20 66 69 6c 65 20 6c 69 73 74 20 77 65 20 72 65 61 64 20 70 72 65 76 69 6f 75 73 6c 79 20 63 e.file.list.we.read.previously.c
121e0 6f 6e 74 61 69 6e 65 64 0a 20 20 20 20 20 20 20 20 3b 3b 20 74 68 75 6d 62 6e 61 69 6c 73 2e 20 ontained.........;;.thumbnails..
12200 20 57 65 20 73 68 6f 75 6c 64 20 72 65 61 6c 6c 79 20 69 67 6e 6f 72 65 20 74 68 65 73 65 20 74 .We.should.really.ignore.these.t
12220 68 75 6d 62 6e 61 69 6c 73 2e 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 70 61 humbnails..........(error."No.pa
12240 67 65 20 73 69 7a 65 22 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 52 61 77 20 74 65 78 74 3a 0a 20 ge.size"))........;;.Raw.text:..
12260 20 20 20 20 20 3b 3b 20 54 68 69 73 20 69 73 20 65 78 61 63 74 6c 79 20 6f 6e 65 20 6f 62 6a 65 .....;;.This.is.exactly.one.obje
12280 63 74 20 74 68 61 74 20 77 65 20 63 61 6e 20 73 77 61 6c 6c 6f 77 20 69 6e 20 6f 6e 65 20 62 69 ct.that.we.can.swallow.in.one.bi
122a0 74 65 2e 0a 20 20 20 20 20 20 3b 3b 20 48 65 6e 63 65 20 77 65 20 64 6f 20 74 68 69 73 20 62 65 te........;;.Hence.we.do.this.be
122c0 66 6f 72 65 20 77 65 20 73 77 61 6c 6c 6f 77 20 74 68 65 20 75 6e 6b 6e 6f 77 6e 20 6e 75 6d 62 fore.we.swallow.the.unknown.numb
122e0 65 72 20 6f 66 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 er.of.annotations........(goto-c
12300 68 61 72 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 28 73 6b 69 70 2d 63 har.(match-end.0)).......(skip-c
12320 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 28 6c 65 74 hars-forward.".\t\n").......(let
12340 20 28 28 6f 62 6a 65 63 74 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 28 5c 5c 28 70 .((object.(if.(looking-at."(\\(p
12360 61 67 65 5c 5c 7c 63 6f 6c 75 6d 6e 5c 5c 7c 72 65 67 69 6f 6e 5c 5c 7c 70 61 72 61 5c 5c 7c 6c age\\|column\\|region\\|para\\|l
12380 69 6e 65 5c 5c 7c 77 6f 72 64 5c 5c 7c 63 68 61 72 5c 5c 29 22 29 0a 20 20 20 20 20 20 20 20 20 ine\\|word\\|char\\)")..........
123a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 ...............(read.(current-bu
123c0 66 66 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 53 65 74 20 75 70 20 61 6e 6e 6f ffer))))).........;;.Set.up.anno
123e0 74 61 74 69 6f 6e 73 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 tations.buffer..........;;.This.
12400 61 6c 73 6f 20 69 6e 69 74 69 61 6c 69 7a 65 73 20 60 64 6a 76 75 2d 64 6f 63 2d 72 65 63 74 2d also.initializes.`djvu-doc-rect-
12420 6c 69 73 74 27 20 74 68 61 74 20 77 65 20 6e 65 65 64 0a 20 20 20 20 20 20 20 20 3b 3b 20 66 6f list'.that.we.need.........;;.fo
12440 72 20 70 72 6f 70 65 72 74 69 7a 69 6e 67 20 74 68 65 20 72 65 61 64 20 62 75 66 66 65 72 2e 0a r.propertizing.the.read.buffer..
12460 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 ........(save-restriction.......
12480 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 70 ....(narrow-to-region.(point).(p
124a0 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d oint-max))...........(djvu-init-
124c0 61 6e 6e 6f 74 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 64 6f 63 29 20 64 annot.(djvu-ref.annot-buf.doc).d
124e0 6f 63 29 29 0a 0a 20 20 20 20 20 20 20 20 3b 3b 20 53 65 74 20 75 70 20 74 65 78 74 20 62 75 66 oc))..........;;.Set.up.text.buf
12500 66 65 72 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 74 65 78 74 20 6f 62 6a 65 fer.........(djvu-init-text.obje
12520 63 74 20 64 6f 63 20 74 29 0a 0a 20 20 20 20 20 20 20 20 3b 3b 20 53 65 74 20 75 70 20 72 65 61 ct.doc.t)..........;;.Set.up.rea
12540 64 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 72 65 61 64 d.buffer.........(djvu-init-read
12560 20 6f 62 6a 65 63 74 20 64 6f 63 20 74 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 64 .object.doc.t)))))..(defalias.'d
12580 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 20 27 64 6a 76 75 2d 69 6e 69 74 2d 70 61 67 65 0a 20 20 jvu-goto-page.'djvu-init-page...
125a0 22 47 6f 74 6f 20 50 41 47 45 20 6f 66 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e "Goto.PAGE.of.Djvu.document.DOC.
125c0 22 29 0a 0a 28 64 65 66 73 75 62 73 74 20 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c ")..(defsubst.djvu-unresolve-url
125e0 20 28 75 72 6c 29 0a 20 20 22 55 6e 72 65 73 6f 6c 76 65 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c .(url)..."Unresolve.internal.URL
12600 2e 0a 54 68 69 73 20 69 73 73 75 65 73 20 61 20 77 61 72 6e 69 6e 67 20 6d 65 73 73 61 67 65 20 ..This.issues.a.warning.message.
12620 69 66 20 55 52 4c 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 73 6f 6c 76 65 64 2e 0a 59 65 74 20 69 if.URL.cannot.be.resolved..Yet.i
12640 74 20 64 6f 65 73 20 6e 6f 74 20 74 68 72 6f 77 20 61 6e 20 65 72 72 6f 72 20 74 68 61 74 20 77 t.does.not.throw.an.error.that.w
12660 6f 75 6c 64 20 70 75 74 20 74 68 65 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 0a 69 6e 74 6f 20 ould.put.the.Djvu.document.into.
12680 61 6e 20 75 6e 64 65 66 69 6e 65 64 20 73 74 61 74 65 2e 22 0a 20 20 28 6d 65 73 73 61 67 65 20 an.undefined.state."...(message.
126a0 22 57 61 72 6e 69 6e 67 3a 20 50 61 67 65 20 69 64 20 60 25 73 27 20 62 72 6f 6b 65 6e 22 20 75 "Warning:.Page.id.`%s'.broken".u
126c0 72 6c 29 0a 20 20 28 73 69 74 2d 66 6f 72 20 31 29 0a 20 20 75 72 6c 29 0a 0a 28 64 65 66 75 6e rl)...(sit-for.1)...url)..(defun
126e0 20 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 20 28 75 72 6c 20 26 6f 70 74 69 6f 6e 61 6c .djvu-resolve-url.(url.&optional
12700 20 64 6f 63 29 0a 20 20 22 52 65 73 6f 6c 76 65 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c 73 2e 20 .doc)..."Resolve.internal.URLs..
12720 20 53 65 65 20 76 61 72 69 61 62 6c 65 20 60 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 27 .See.variable.`djvu-resolve-url'
12740 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 65 71 20 27 6c 6f 6e 67 20 64 6a 76 75 2d 72 65 73 6f 6c ."...(cond.((eq.'long.djvu-resol
12760 76 65 2d 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 70 6c 61 63 65 20 70 61 67 65 ve-url)..........;;.Replace.page
12780 20 6e 75 6d 62 65 72 20 62 79 20 66 69 6c 65 20 69 64 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e .number.by.file.id..........(con
127a0 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 5b 30 2d 39 5d 2b 5c 5c 27 22 d.((string-match."\\`#[0-9]+\\'"
127c0 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 67 .url).................(let.((pag
127e0 65 2d 69 64 20 28 61 73 73 71 20 28 64 6a 76 75 2d 73 75 62 73 74 72 69 6e 67 2d 6e 75 6d 62 65 e-id.(assq.(djvu-substring-numbe
12800 72 20 75 72 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.url.1)........................
12820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 ..............(djvu-ref.page-id.
12840 64 6f 63 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 61 doc))))...................(if.pa
12860 67 65 2d 69 64 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 6f 72 ge-id.......................(for
12880 6d 61 74 20 22 23 25 73 22 20 28 63 64 72 20 70 61 67 65 2d 69 64 29 29 0a 20 20 20 20 20 20 20 mat."#%s".(cdr.page-id))........
128a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c .............(djvu-unresolve-url
128c0 20 75 72 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 .url))))................((string
128e0 2d 6d 61 74 63 68 20 22 5c 5c 60 23 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -match."\\`#".url)..............
12900 20 20 20 28 69 66 20 28 72 61 73 73 6f 63 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f ...(if.(rassoc.(substring-no-pro
12920 70 65 72 74 69 65 73 20 75 72 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 perties.url.1)..................
12940 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 ...........(djvu-ref.page-id.doc
12960 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20 20 )).....................url......
12980 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c .............(djvu-unresolve-url
129a0 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 75 72 6c 29 29 29 .url)))................(t.url)))
129c0 20 3b 20 73 6f 6d 65 20 6f 74 68 65 72 20 55 52 4c 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 27 .;.some.other.URL.........((eq.'
129e0 73 68 6f 72 74 20 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 29 0a 20 20 20 20 20 20 20 20 short.djvu-resolve-url).........
12a00 20 3b 3b 20 52 65 70 6c 61 63 65 20 66 69 6c 65 20 69 64 20 62 79 20 70 61 67 65 20 6e 75 6d 62 .;;.Replace.file.id.by.page.numb
12a20 65 72 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 er..........(cond.((string-match
12a40 20 22 5c 5c 60 23 5b 30 2d 39 5d 2b 5c 5c 27 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 ."\\`#[0-9]+\\'".url)...........
12a60 20 20 20 20 20 20 28 69 66 20 28 61 73 73 71 20 28 64 6a 76 75 2d 73 75 62 73 74 72 69 6e 67 2d ......(if.(assq.(djvu-substring-
12a80 6e 75 6d 62 65 72 20 75 72 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 number.url.1)...................
12aa0 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 0a ........(djvu-ref.page-id.doc)).
12ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 0a 20 20 20 20 20 20 20 20 ....................url.........
12ae0 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c 20 75 72 ..........(djvu-unresolve-url.ur
12b00 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 l)))................((string-mat
12b20 63 68 20 22 5c 5c 60 23 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ch."\\`#".url).................(
12b40 6c 65 74 20 28 28 70 61 67 65 2d 69 64 20 28 72 61 73 73 6f 63 20 28 73 75 62 73 74 72 69 6e 67 let.((page-id.(rassoc.(substring
12b60 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 75 72 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 -no-properties.url.1)...........
12b80 20 20 20 20 20 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 64 6a .............................(dj
12ba0 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 vu-ref.page-id.doc))))..........
12bc0 20 20 20 20 20 20 20 20 20 28 69 66 20 70 61 67 65 2d 69 64 0a 20 20 20 20 20 20 20 20 20 20 20 .........(if.page-id............
12be0 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 23 25 64 22 20 28 63 61 72 20 70 61 ...........(format."#%d".(car.pa
12c00 67 65 2d 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 ge-id)).....................(djv
12c20 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c 20 75 72 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 u-unresolve-url.url)))).........
12c40 20 20 20 20 20 20 20 28 74 20 22 23 31 22 29 29 29 20 3b 20 73 6f 6d 65 20 6f 74 68 65 72 20 55 .......(t."#1"))).;.some.other.U
12c60 52 4c 20 28 70 6f 73 73 69 62 6c 79 20 65 6d 70 74 79 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 RL.(possibly.empty.string)......
12c80 20 20 20 28 74 20 3b 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 55 52 4c 20 63 61 6e 20 62 65 ...(t.;.check.whether.URL.can.be
12ca0 20 72 65 73 6f 6c 76 65 64 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e .resolved..........(cond.((strin
12cc0 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 5b 30 2d 39 5d 2b 5c 5c 27 22 20 75 72 6c 29 0a 20 20 20 g-match."\\`#[0-9]+\\'".url)....
12ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 73 73 71 20 28 64 6a 76 75 2d 73 75 62 .............(if.(assq.(djvu-sub
12d00 73 74 72 69 6e 67 2d 6e 75 6d 62 65 72 20 75 72 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 string-number.url.1)............
12d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 ...............(djvu-ref.page-id
12d40 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 0a 20 .doc)).....................url..
12d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 .................(djvu-unresolve
12d80 2d 75 72 6c 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 -url.url)))................((str
12da0 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 ing-match."\\`#".url)...........
12dc0 20 20 20 20 20 20 28 69 66 20 28 72 61 73 73 6f 63 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d ......(if.(rassoc.(substring-no-
12de0 70 72 6f 70 65 72 74 69 65 73 20 75 72 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 properties.url.1)...............
12e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 ..............(djvu-ref.page-id.
12e20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 0a 20 20 doc)).....................url...
12e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 2d ................(djvu-unresolve-
12e60 75 72 6c 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 75 72 6c url.url)))................(t.url
12e80 29 29 29 29 29 20 3b 20 73 6f 6d 65 20 6f 74 68 65 72 20 55 52 4c 0a 0a 28 64 65 66 75 6e 20 64 ))))).;.some.other.URL..(defun.d
12ea0 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 61 6c 6c 2d 75 72 6c 73 20 28 64 69 72 20 26 6f 70 74 69 6f jvu-resolve-all-urls.(dir.&optio
12ec0 6e 61 6c 20 64 6f 63 29 0a 20 20 22 52 65 73 6f 6c 76 65 20 61 6c 6c 20 69 6e 74 65 72 6e 61 6c nal.doc)..."Resolve.all.internal
12ee0 20 55 52 4c 73 20 69 6e 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e 22 0a 20 20 28 .URLs.in.Djvu.document.DOC."...(
12f00 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e 20 28 63 6f interactive....(list.(intern.(co
12f20 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 44 69 72 65 63 74 69 6f 6e 3a 20 22 20 27 28 28 6c mpleting-read."Direction:.".'((l
12f40 6f 6e 67 29 20 28 73 68 6f 72 74 29 29 20 6e 69 6c 20 74 29 29 29 29 0a 20 20 28 75 6e 6c 65 73 ong).(short)).nil.t))))...(unles
12f60 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 28 64 6a s.doc.(setq.doc.djvu-doc))...(dj
12f80 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 64 69 72 vu-save.doc.t)...(unless.(eq.dir
12fa0 20 28 64 6a 76 75 2d 72 65 66 20 72 65 73 6f 6c 76 65 2d 75 72 6c 20 64 6f 63 29 29 0a 20 20 20 .(djvu-ref.resolve-url.doc))....
12fc0 20 28 69 66 20 28 64 6a 76 75 2d 6d 6f 64 69 66 69 65 64 29 20 28 75 73 65 72 2d 65 72 72 6f 72 .(if.(djvu-modified).(user-error
12fe0 20 22 44 6a 76 75 20 66 69 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 73 61 76 65 64 22 29 29 0a 20 ."Djvu.file.should.be.saved"))..
13000 20 20 20 3b 3b 20 52 65 73 6f 6c 76 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 0a 20 20 20 20 28 77 ...;;.Resolve.annotations.....(w
13020 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 67 ith-temp-buffer.......(let.((pag
13040 65 2d 69 64 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 0a 20 20 20 e-id.(djvu-ref.page-id.doc))....
13060 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 20 64 69 72 29 29 .........(djvu-resolve-url.dir))
13080 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 61 6e 6e 6f 74 2d 73 63 72 69 70 74 20 64 6f 63 20 .........(djvu-annot-script.doc.
130a0 74 29 0a 20 20 20 20 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 t).........(goto-char.(point-min
130c0 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 65 67 65 )).........;;.The.following.rege
130e0 78 70 20 69 67 6e 6f 72 65 73 20 65 78 74 65 72 6e 61 6c 20 55 52 4c 73 0a 20 20 20 20 20 20 20 xp.ignores.external.URLs........
13100 20 3b 3b 20 77 68 69 63 68 20 64 6f 20 6e 6f 74 20 73 74 61 72 74 20 77 69 74 68 20 22 23 22 2e .;;.which.do.not.start.with."#".
13120 0a 20 20 20 20 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 .........(while.(re-search-forwa
13140 72 64 20 22 5e 28 6d 61 70 61 72 65 61 5b 20 5c 74 5d 2b 5c 22 23 5c 5c 28 5c 5c 28 5b 30 2d 39 rd."^(maparea[.\t]+\"#\\(\\([0-9
13160 5d 2b 5c 5c 29 5c 5c 7c 5b 5e 5c 22 5d 2a 5b 5e 30 2d 39 5c 22 5d 5b 5e 5c 22 5d 2a 5c 5c 29 5c ]+\\)\\|[^\"]*[^0-9\"][^\"]*\\)\
13180 22 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 75 72 6c 20 "".nil.t)...........(let*.((url.
131a0 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (match-string.1))...............
131c0 20 20 20 28 6e 75 6d 20 28 61 6e 64 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 29 0a 20 20 ...(num.(and.(match-string.2)...
131e0 20 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 64 6a 76 75 2d 6d .........................(djvu-m
13200 61 74 63 68 2d 6e 75 6d 62 65 72 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 atch-number.2)))................
13220 20 20 72 65 70 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 64 ..repl).............(cond.((eq.d
13240 69 72 20 27 6c 6f 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 ir.'long)....................(if
13260 20 6e 75 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 .num........................(if.
13280 28 73 65 74 71 20 72 65 70 6c 20 28 63 64 72 20 28 61 73 73 71 20 6e 75 6d 20 70 61 67 65 2d 69 (setq.repl.(cdr.(assq.num.page-i
132a0 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d)))............................
132c0 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 72 65 70 6c 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 (replace-match.repl.nil.nil.nil.
132e0 31 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 28 64 6a 76 1)..........................(djv
13300 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 u-unresolve-url.url))...........
13320 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 61 6c 72 65 61 64 79 20 68 61 76 65 20 61 20 ...........;;.We.already.have.a.
13340 6c 6f 6e 67 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 long.url......................(u
13360 6e 6c 65 73 73 20 28 72 61 73 73 6f 63 20 75 72 6c 20 70 61 67 65 2d 69 64 29 0a 20 20 20 20 20 nless.(rassoc.url.page-id)......
13380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 ..................(djvu-unresolv
133a0 65 2d 75 72 6c 20 75 72 6c 29 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-url.url))))...................
133c0 20 3b 3b 20 28 65 71 20 64 69 72 20 27 73 68 6f 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .;;.(eq.dir.'short).............
133e0 20 20 20 20 20 20 28 6e 75 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ......(num....................;;
13400 20 57 65 20 61 6c 72 65 61 64 79 20 68 61 76 65 20 61 20 73 68 6f 72 74 20 75 72 6c 0a 20 20 20 .We.already.have.a.short.url....
13420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 73 73 71 20 6e 75 ................(unless.(assq.nu
13440 6d 20 70 61 67 65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m.page-id)......................
13460 28 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c 20 75 72 6c 29 29 29 0a 20 20 20 20 20 (djvu-unresolve-url.url)))......
13480 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 65 74 71 20 72 65 70 6c 20 28 63 61 72 20 28 72 .............((setq.repl.(car.(r
134a0 61 73 73 6f 63 20 75 72 6c 20 70 61 67 65 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 assoc.url.page-id)))............
134c0 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 28 6e 75 6d 62 65 72 2d 74 ........(replace-match.(number-t
134e0 6f 2d 73 74 72 69 6e 67 20 72 65 70 6c 29 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 31 29 29 0a 20 o-string.repl).nil.nil.nil.1))..
13500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 64 6a 76 75 2d 75 6e 72 65 73 6f .................(t.(djvu-unreso
13520 6c 76 65 2d 75 72 6c 20 75 72 6c 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 70 lve-url.url))))).........(djvu-p
13540 72 6f 63 65 73 73 2d 73 63 72 69 70 74 20 64 6f 63 20 74 29 29 29 0a 0a 20 20 20 20 3b 3b 20 75 rocess-script.doc.t)))......;;.u
13560 70 64 61 74 65 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c 73 20 6f 66 20 63 75 72 72 65 6e 74 20 70 pdate.internal.URLs.of.current.p
13580 61 67 65 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 20 20 20 age.....(with-temp-buffer.......
135a0 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 6f 63 20 74 20 22 2d 65 22 0a 20 20 20 20 20 20 20 (djvu-djvused.doc.t."-e"........
135c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 73 65 6c 65 63 74 20 25 64 3b .............(format."select.%d;
135e0 20 70 72 69 6e 74 2d 61 6e 74 3b 22 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 .print-ant;".(djvu-ref.page.doc)
13600 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 61 6e 6e 6f 74 20 28 64 6a 76 75 2d )).......(djvu-init-annot.(djvu-
13620 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 64 6f 63 29 20 64 6f 63 29 29 0a 0a 20 20 20 20 3b 3b ref.annot-buf.doc).doc))......;;
13640 20 52 65 73 6f 6c 76 65 20 62 6f 6f 6b 6d 61 72 6b 73 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 62 .Resolve.bookmarks.....(let.((ob
13660 6a 65 63 74 20 28 64 6a 76 75 2d 72 65 61 64 2d 62 6f 6f 6b 6d 61 72 6b 73 20 64 6f 63 29 29 0a ject.(djvu-read-bookmarks.doc)).
13680 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 20 64 69 72 29 ..........(djvu-resolve-url.dir)
136a0 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 28 77 69 ).......(when.object.........(wi
136c0 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f 6b th-current-buffer.(djvu-ref.book
136e0 6d 61 72 6b 73 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d marks-buf.doc)...........(erase-
13700 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 28 62 6f 6f 6b buffer)...........(insert."(book
13720 6d 61 72 6b 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 62 marks")...........(djvu-insert-b
13740 6f 6f 6b 6d 61 72 6b 73 20 28 63 64 72 20 6f 62 6a 65 63 74 29 20 22 20 22 29 0a 20 20 20 20 20 ookmarks.(cdr.object).".")......
13760 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a .....(insert.")\n")).........(dj
13780 76 75 2d 73 61 76 65 20 64 6f 63 29 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 72 65 73 vu-save.doc))).....(djvu-set.res
137a0 6f 6c 76 65 2d 75 72 6c 20 64 69 72 20 64 6f 63 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 olve-url.dir.doc)))..(defun.djvu
137c0 2d 61 72 65 61 20 28 61 72 65 61 20 26 6f 70 74 69 6f 6e 61 6c 20 62 61 63 6b 29 0a 20 20 22 43 -area.(area.&optional.back)..."C
137e0 6f 6e 76 65 72 74 20 28 61 72 65 61 20 78 6d 69 6e 20 79 6d 69 6e 20 77 69 64 74 68 20 68 65 69 onvert.(area.xmin.ymin.width.hei
13800 67 68 74 29 20 74 6f 20 28 61 72 65 61 20 78 6d 69 6e 20 79 6d 69 6e 20 78 6d 61 78 20 79 6d 61 ght).to.(area.xmin.ymin.xmax.yma
13820 78 29 2e 0a 49 66 20 42 41 43 4b 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 64 6f 20 69 6e 76 65 72 73 x)..If.BACK.is.non-nil.do.invers
13840 65 20 74 72 61 6e 73 66 6f 72 6d 61 74 69 6f 6e 2e 22 0a 20 20 28 69 66 20 62 61 63 6b 0a 20 20 e.transformation."...(if.back...
13860 20 20 20 20 28 6c 65 74 20 28 28 6c 73 74 20 28 6c 69 73 74 20 28 6e 74 68 20 30 20 61 72 65 61 ....(let.((lst.(list.(nth.0.area
13880 29 20 28 6e 74 68 20 31 20 61 72 65 61 29 20 28 6e 74 68 20 32 20 61 72 65 61 29 0a 20 20 20 20 ).(nth.1.area).(nth.2.area).....
138a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 6e 74 68 20 33 20 61 72 65 ...................(-.(nth.3.are
138c0 61 29 20 28 6e 74 68 20 31 20 61 72 65 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a).(nth.1.area))................
138e0 20 20 20 20 20 20 20 20 28 2d 20 28 6e 74 68 20 34 20 61 72 65 61 29 20 28 6e 74 68 20 32 20 61 ........(-.(nth.4.area).(nth.2.a
13900 72 65 61 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 4f 6e 6c 79 20 66 6f 72 20 62 61 63 rea))))).........;;.Only.for.bac
13920 6b 20 74 72 61 6e 73 66 6f 72 6d 73 20 77 65 20 6d 69 67 68 74 20 67 65 74 20 61 6e 20 65 72 72 k.transforms.we.might.get.an.err
13940 6f 72 2e 2e 2e 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3e 20 30 20 28 6e 74 68 20 or............(if.(or.(>.0.(nth.
13960 33 20 6c 73 74 29 29 20 28 3e 20 30 20 28 6e 74 68 20 34 20 6c 73 74 29 29 29 0a 20 20 20 20 20 3.lst)).(>.0.(nth.4.lst)))......
13980 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 41 6e 6e 6f 74 61 74 69 6f 6e 20 61 72 65 61 .......(message."Annotation.area
139a0 20 64 69 6d 65 6e 73 69 6f 6e 73 20 25 73 2c 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 .dimensions.%s,.%s".............
139c0 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 33 20 6c 73 74 29 20 28 6e 74 68 20 34 20 6c 73 74 29 .........(nth.3.lst).(nth.4.lst)
139e0 29 29 0a 20 20 20 20 20 20 20 20 6c 73 74 29 0a 20 20 20 20 28 6c 69 73 74 20 28 6e 74 68 20 30 )).........lst).....(list.(nth.0
13a00 20 61 72 65 61 29 20 28 6e 74 68 20 31 20 61 72 65 61 29 20 28 6e 74 68 20 32 20 61 72 65 61 29 .area).(nth.1.area).(nth.2.area)
13a20 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6e 74 68 20 33 20 61 72 65 61 29 20 28 6e 74 68 20 ...........(+.(nth.3.area).(nth.
13a40 31 20 61 72 65 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6e 74 68 20 34 20 61 72 65 1.area))...........(+.(nth.4.are
13a60 61 29 20 28 6e 74 68 20 32 20 61 72 65 61 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 a).(nth.2.area)))))..(defun.djvu
13a80 2d 76 69 65 77 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 6e 65 77 29 0a 20 20 22 28 52 65 -view.(&optional.doc.new)..."(Re
13aa0 29 53 74 61 72 74 20 44 6a 76 69 65 77 20 66 6f 72 20 44 4f 43 2e 0a 49 66 20 70 72 65 66 69 78 )Start.Djview.for.DOC..If.prefix
13ac0 20 4e 45 57 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 6c 77 61 79 73 20 63 72 65 61 74 65 20 61 .NEW.is.non-nil,.always.create.a
13ae0 20 6e 65 77 20 44 6a 76 69 65 77 20 70 72 6f 63 65 73 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 .new.Djview.process."...(interac
13b00 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 tive.(list.nil.current-prefix-ar
13b20 67 29 29 0a 20 20 28 69 66 20 28 6e 6f 74 20 28 64 69 73 70 6c 61 79 2d 67 72 61 70 68 69 63 2d g))...(if.(not.(display-graphic-
13b40 70 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 20 67 72 61 70 68 69 63 20 64 p)).......(message."No.graphic.d
13b60 69 73 70 6c 61 79 20 61 76 61 69 6c 61 62 6c 65 22 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 64 isplay.available").....(let*.((d
13b80 6f 63 20 28 6f 72 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 20 3b 20 6e 65 65 64 65 64 20 62 oc.(or.doc.djvu-doc)).;.needed.b
13ba0 79 20 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 y.process-sentinel............(d
13bc0 70 6f 73 20 28 64 6a 76 75 2d 6d 65 61 6e 2d 64 70 6f 73 20 28 64 6a 76 75 2d 72 65 61 64 2d 64 pos.(djvu-mean-dpos.(djvu-read-d
13be0 70 6f 73 20 6e 69 6c 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 78 20 28 2f pos.nil.doc)))............(px.(/
13c00 20 28 66 6c 6f 61 74 20 28 6e 74 68 20 30 20 64 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(float.(nth.0.dpos))...........
13c20 20 20 20 20 20 20 20 20 28 66 6c 6f 61 74 20 28 63 61 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 ........(float.(car.(djvu-ref.pa
13c40 67 65 73 69 7a 65 20 64 6f 63 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 79 20 28 gesize.doc)))))............(py.(
13c60 2d 20 31 20 28 2f 20 28 66 6c 6f 61 74 20 28 6e 74 68 20 31 20 64 70 6f 73 29 29 0a 20 20 20 20 -.1.(/.(float.(nth.1.dpos)).....
13c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6c 6f 61 74 20 28 63 64 72 20 28 ...................(float.(cdr.(
13ca0 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f 63 29 29 29 29 29 29 0a 20 20 20 20 djvu-ref.pagesize.doc)))))).....
13cc0 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2d 63 6f 6e 6e 65 63 74 69 6f 6e 2d 74 79 70 65 29 20 .......process-connection-type).
13ce0 20 3b 20 55 73 65 20 61 20 70 69 70 65 2e 0a 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 3c 20 .;.Use.a.pipe........(if.(or.(<.
13d00 70 78 20 30 29 20 28 3c 20 31 20 70 78 29 20 28 3c 20 70 79 20 30 29 20 28 3c 20 31 20 70 79 29 px.0).(<.1.px).(<.py.0).(<.1.py)
13d20 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 70 78 3d 25 73 2c 20 70 79 3d 25 73 )...........(error."px=%s,.py=%s
13d40 20 6f 75 74 20 6f 66 20 72 61 6e 67 65 22 20 70 78 20 70 79 29 29 0a 20 20 20 20 20 20 28 75 6e .out.of.range".px.py)).......(un
13d60 6c 65 73 73 20 6e 65 77 20 28 64 6a 76 75 2d 6b 69 6c 6c 2d 76 69 65 77 20 64 6f 63 29 29 0a 20 less.new.(djvu-kill-view.doc))..
13d80 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f 63 65 73 73 20 28 61 70 70 6c 79 20 27 73 74 61 72 .....(let.((process.(apply.'star
13da0 74 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 64 t-process....................."d
13dc0 6a 76 69 65 77 22 20 6e 69 6c 20 64 6a 76 75 2d 64 6a 76 69 65 77 2d 63 6f 6d 6d 61 6e 64 0a 20 jview".nil.djvu-djview-command..
13de0 20 20 20 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 2d 70 61 67 ...................(format."-pag
13e00 65 3d 25 73 22 20 28 63 64 72 20 28 61 73 73 71 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 e=%s".(cdr.(assq.(djvu-ref.page.
13e20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 doc)............................
13e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 .......................(djvu-ref
13e60 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .page-id.doc))))................
13e80 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2d 73 68 6f 77 70 6f 73 69 74 69 6f 6e 3d 25 30 36 66 .....(format."-showposition=%06f
13ea0 2c 25 30 36 66 22 20 70 78 20 70 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,%06f".px.py)...................
13ec0 20 20 28 61 70 70 65 6e 64 20 64 6a 76 75 2d 64 6a 76 69 65 77 2d 6f 70 74 69 6f 6e 73 20 28 6c ..(append.djvu-djview-options.(l
13ee0 69 73 74 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 29 29 29 29 29 0a 20 20 20 ist.(djvu-ref.file.doc))))))....
13f00 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 69 6e 65 6c 0a 20 20 20 20 20 .....(set-process-sentinel......
13f20 20 20 20 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 60 28 6c 61 6d 62 64 61 20 28 70 ....process..........`(lambda.(p
13f40 72 6f 63 65 73 73 20 65 76 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 rocess.event).............(when.
13f60 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 28 3f 3a 66 69 6e 69 73 68 65 64 5c 5c 7c (string-match."^\\(?:finished\\|
13f80 65 78 69 74 65 64 5c 5c 7c 71 75 69 74 5c 5c 7c 6b 69 6c 6c 65 64 5c 5c 7c 74 65 72 6d 69 6e 61 exited\\|quit\\|killed\\|termina
13fa0 74 65 64 5c 5c 29 22 20 65 76 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 ted\\)".event)...............;;.
13fc0 54 68 69 73 20 63 6f 64 65 20 72 75 6e 73 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2e 20 20 This.code.runs.asynchronously...
13fe0 54 68 65 20 62 75 66 66 65 72 20 44 4f 43 20 6e 65 65 64 20 6e 6f 74 0a 20 20 20 20 20 20 20 20 The.buffer.DOC.need.not.........
14000 20 20 20 20 20 20 3b 3b 20 62 65 20 61 6c 69 76 65 20 61 6e 79 6d 6f 72 65 20 77 68 65 6e 20 77 ......;;.be.alive.anymore.when.w
14020 65 20 72 75 6e 20 60 64 6a 76 75 2d 72 65 66 27 20 61 6e 64 20 60 64 6a 76 75 2d 73 65 74 27 2e e.run.`djvu-ref'.and.`djvu-set'.
14040 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d ...............(if.(buffer-live-
14060 70 20 2c 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d p.,doc)...................(djvu-
14080 73 65 74 20 76 69 65 77 2d 70 72 6f 63 20 28 64 65 6c 71 20 70 72 6f 63 65 73 73 20 28 64 6a 76 set.view-proc.(delq.process.(djv
140a0 75 2d 72 65 66 20 76 69 65 77 2d 70 72 6f 63 20 2c 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 u-ref.view-proc.,doc))..........
140c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 64 6f 63 29 29 0a 20 20 20 20 20 20 ...................,doc)).......
140e0 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 20 25 73 3a 20 25 73 22 20 70 72 6f ........(message."%s.%s:.%s".pro
14100 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 61 62 cess........................,(ab
14120 62 72 65 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c breviate-file-name.(djvu-ref.fil
14140 65 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 e.doc))........................e
14160 76 65 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 76 69 65 77 2d vent)))).........(djvu-set.view-
14180 70 72 6f 63 20 28 63 6f 6e 73 20 70 72 6f 63 65 73 73 20 28 64 6a 76 75 2d 72 65 66 20 76 69 65 proc.(cons.process.(djvu-ref.vie
141a0 77 2d 70 72 6f 63 20 64 6f 63 29 29 20 64 6f 63 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a w-proc.doc)).doc)))))..(defun.dj
141c0 76 75 2d 76 69 65 77 2d 70 61 67 65 20 28 70 61 67 65 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 vu-view-page.(page.&optional.doc
141e0 20 6e 65 77 29 0a 20 20 22 28 52 65 29 53 74 61 72 74 20 44 6a 76 69 65 77 20 6f 6e 20 50 41 47 .new)..."(Re)Start.Djview.on.PAG
14200 45 20 66 6f 72 20 44 4f 43 2e 0a 49 66 20 70 72 65 66 69 78 20 4e 45 57 20 69 73 20 6e 6f 6e 2d E.for.DOC..If.prefix.NEW.is.non-
14220 6e 69 6c 2c 20 61 6c 77 61 79 73 20 63 72 65 61 74 65 20 61 20 6e 65 77 20 44 6a 76 69 65 77 20 nil,.always.create.a.new.Djview.
14240 70 72 6f 63 65 73 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 28 process."...(interactive.(list.(
14260 69 66 20 28 65 71 20 27 6f 75 74 6c 69 6e 65 20 64 6a 76 75 2d 62 75 66 66 65 72 29 0a 20 20 20 if.(eq.'outline.djvu-buffer)....
14280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6f 75 74 6c ......................(djvu-outl
142a0 69 6e 65 2d 70 61 67 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 ine-page).......................
142c0 20 28 64 6a 76 75 2d 72 65 61 64 2d 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(djvu-read-page))..............
142e0 20 20 20 20 20 20 20 20 6e 69 6c 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 ........nil.current-prefix-arg))
14300 0a 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 20 70 61 67 65 20 64 6f 63 29 0a 20 20 28 ...(djvu-goto-page.page.doc)...(
14320 64 6a 76 75 2d 76 69 65 77 20 64 6f 63 20 6e 65 77 29 29 0a 0a 3b 3b 3b 20 44 6a 76 75 20 54 65 djvu-view.doc.new))..;;;.Djvu.Te
14340 78 74 20 6d 6f 64 65 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 2d 73 65 61 72 63 68 2d 66 xt.mode..(defun.djvu-re-search-f
14360 6f 72 77 61 72 64 20 28 72 65 67 65 78 70 29 0a 20 20 22 53 65 61 72 63 68 20 66 6f 72 77 61 72 orward.(regexp)..."Search.forwar
14380 64 20 66 6f 72 20 6d 61 74 63 68 20 66 6f 72 20 52 45 47 45 58 50 2e 0a 53 65 61 72 63 68 20 63 d.for.match.for.REGEXP..Search.c
143a0 61 73 65 2d 73 65 6e 73 69 74 69 76 69 74 79 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 ase-sensitivity.is.determined.by
143c0 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 60 63 61 73 65 .the.value.of.the.variable.`case
143e0 2d 66 6f 6c 64 2d 73 65 61 72 63 68 27 2c 20 77 68 69 63 68 20 73 65 65 2e 0a 54 68 65 20 63 6f -fold-search',.which.see..The.co
14400 6d 6d 61 6e 64 20 60 64 6a 76 75 2d 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 2d 63 6f mmand.`djvu-re-search-forward-co
14420 6e 74 69 6e 75 65 27 20 63 6f 6e 74 69 6e 75 65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 77 ntinue'.continues.to.search.forw
14440 61 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 73 53 65 61 72 63 68 20 28 72 ard."...(interactive."sSearch.(r
14460 65 67 65 78 70 29 3a 20 22 29 0a 20 20 28 73 65 74 71 20 64 6a 76 75 2d 6c 61 73 74 2d 73 65 61 egexp):.")...(setq.djvu-last-sea
14480 72 63 68 2d 72 65 20 72 65 67 65 78 70 29 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 20 64 6a 76 75 rch-re.regexp)...(let.((doc.djvu
144a0 2d 64 6f 63 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 72 65 2d 73 -doc)).....(while.(not.(or.(re-s
144c0 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 72 65 67 65 78 70 20 6e 69 6c 20 74 29 0a 20 20 20 20 earch-forward.regexp.nil.t).....
144e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 64 6a 76 75 2d 72 65 66 20 70 61 ................(eq.(djvu-ref.pa
14500 67 65 20 64 6f 63 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 29 29 ge.doc).(djvu-ref.pagemax.doc)))
14520 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 20 31 29 29 29 29 0a 0a 28 ).......(djvu-next-page.1))))..(
14540 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 2d 63 6f 6e defun.djvu-re-search-forward-con
14560 74 69 6e 75 65 20 28 29 0a 20 20 22 43 6f 6e 74 69 6e 75 65 20 73 65 61 72 63 68 20 66 6f 72 77 tinue.()..."Continue.search.forw
14580 61 72 64 20 66 6f 72 20 6d 61 74 63 68 20 66 6f 72 20 60 64 6a 76 75 2d 6c 61 73 74 2d 73 65 61 ard.for.match.for.`djvu-last-sea
145a0 72 63 68 2d 72 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 6a 76 rch-re'."...(interactive)...(djv
145c0 75 2d 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 64 6a 76 75 2d 6c 61 73 74 2d 73 65 u-re-search-forward.djvu-last-se
145e0 61 72 63 68 2d 72 65 29 29 0a 0a 3b 3b 20 46 69 78 6d 65 3a 20 4e 65 77 20 63 6f 6d 6d 61 6e 64 arch-re))..;;.Fixme:.New.command
14600 20 60 64 6a 76 75 2d 69 73 70 65 6c 6c 2d 77 6f 72 64 27 20 61 76 61 69 6c 61 62 6c 65 20 69 6e .`djvu-ispell-word'.available.in
14620 20 74 68 65 20 72 65 61 64 20 62 75 66 66 65 72 2e 0a 3b 3b 20 54 6f 20 61 76 6f 69 64 20 72 65 .the.read.buffer..;;.To.avoid.re
14640 2d 69 6e 76 65 6e 74 69 6e 67 20 74 68 65 20 77 68 65 65 6c 2c 20 74 68 69 73 20 63 6f 6d 6d 61 -inventing.the.wheel,.this.comma
14660 6e 64 20 73 68 6f 75 6c 64 20 69 6e 68 65 72 69 74 20 73 6f 6d 65 0a 3b 3b 20 66 75 6e 63 74 69 nd.should.inherit.some.;;.functi
14680 6f 6e 61 6c 69 74 79 20 66 72 6f 6d 20 60 69 73 70 65 6c 6c 2d 77 6f 72 64 27 2e 20 20 55 6e 66 onality.from.`ispell-word'...Unf
146a0 6f 72 74 75 6e 61 74 65 6c 79 2c 20 74 68 65 20 6c 61 74 74 65 72 20 69 73 20 61 20 72 61 74 68 ortunately,.the.latter.is.a.rath
146c0 65 72 0a 3b 3b 20 6d 6f 6e 6f 6c 69 74 68 69 63 20 66 75 6e 63 74 69 6f 6e 2c 20 6d 61 6b 69 6e er.;;.monolithic.function,.makin
146e0 67 20 69 74 20 64 69 66 66 69 63 75 6c 74 20 74 6f 20 61 64 61 70 74 20 69 73 70 65 6c 6c 20 74 g.it.difficult.to.adapt.ispell.t
14700 6f 20 6f 75 72 20 6e 65 65 64 73 2e 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 65 64 69 74 2d 77 o.our.needs...(defun.djvu-edit-w
14720 6f 72 64 20 28 62 70 6f 73 29 0a 20 20 22 45 64 69 74 20 77 6f 72 64 20 61 74 20 62 75 66 66 65 ord.(bpos)..."Edit.word.at.buffe
14740 72 20 70 6f 73 69 74 69 6f 6e 20 42 50 4f 53 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 r.position.BPOS."...(interactive
14760 20 22 64 22 29 0a 20 20 28 6c 65 74 2a 20 28 28 6f 6c 64 20 28 62 75 66 66 65 72 2d 73 75 62 73 ."d")...(let*.((old.(buffer-subs
14780 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 tring-no-properties.............
147a0 20 20 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 62 65 67 20 62 70 6f 73 20 27 77 6f 72 64 ...(djvu-property-beg.bpos.'word
147c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d )................(djvu-property-
147e0 65 6e 64 20 62 70 6f 73 20 27 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 65 77 20 end.bpos.'word)))..........(new.
14800 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 52 65 70 6c 61 63 65 20 60 25 (read-string.(format."Replace.`%
14820 73 27 20 77 69 74 68 3a 20 22 20 6f 6c 64 29 20 6f 6c 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 s'.with:.".old).old.............
14840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 64 6a 76 75 2d 69 6e 68 65 ...............nil.nil.djvu-inhe
14860 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 70 6f rit-input-method))..........(dpo
14880 73 20 28 64 6a 76 75 2d 72 65 61 64 2d 64 70 6f 73 20 62 70 6f 73 29 29 29 0a 20 20 20 20 28 77 s.(djvu-read-dpos.bpos))).....(w
148a0 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 ith-current-buffer.(djvu-ref.tex
148c0 74 2d 62 75 66 29 0a 20 20 20 20 20 20 3b 3b 20 41 73 20 77 65 20 6f 70 65 72 61 74 65 20 69 6e t-buf).......;;.As.we.operate.in
148e0 20 74 68 65 20 72 61 77 20 74 65 78 74 20 62 75 66 66 65 72 2c 20 77 65 20 6e 65 65 64 20 74 6f .the.raw.text.buffer,.we.need.to
14900 20 74 72 61 6e 73 6c 61 74 65 0a 20 20 20 20 20 20 3b 3b 20 4f 4c 44 20 61 6e 64 20 4e 45 57 20 .translate.......;;.OLD.and.NEW.
14920 69 6e 74 6f 20 74 68 65 20 72 61 77 20 66 6f 72 6d 61 74 20 75 73 69 6e 67 20 60 70 72 69 6e 31 into.the.raw.format.using.`prin1
14940 2d 74 6f 2d 73 74 72 69 6e 67 27 2e 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 -to-string'........(unless.(and.
14960 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 77 6f 72 64 20 64 70 6f 73 29 0a 20 20 20 20 (djvu-goto-dpos.'word.dpos).....
14980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 ...............(progn...........
149a0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 27 20 70 ...........;;.`djvu-goto-dpos'.p
149c0 75 74 73 20 75 73 20 70 61 73 74 20 74 68 65 20 66 69 72 73 74 20 71 75 6f 74 65 0a 20 20 20 20 uts.us.past.the.first.quote.....
149e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 59 65 74 20 77 65 20 77 61 6e 74 20 .................;;.Yet.we.want.
14a00 74 6f 20 72 65 70 6c 61 63 65 20 74 68 69 73 20 71 75 6f 74 65 2c 20 74 6f 6f 2e 0a 20 20 20 20 to.replace.this.quote,.too......
14a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b 77 61 72 64 2d 63 68 61 72 29 .................(backward-char)
14a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 ......................(looking-a
14a60 74 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 t.(regexp-quote.(prin1-to-string
14a80 20 6f 6c 64 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 60 25 73 27 20 6e .old))))).........(error."`%s'.n
14aa0 6f 74 20 66 6f 75 6e 64 22 20 6f 6c 64 29 29 0a 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d ot.found".old)).......(replace-m
14ac0 61 74 63 68 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 6e 65 77 29 20 74 20 74 29 29 atch.(prin1-to-string.new).t.t))
14ae0 29 0a 20 20 28 64 6a 76 75 2d 73 61 76 65 2d 74 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a )...(djvu-save-text))..(defun.dj
14b00 76 75 2d 73 70 6c 69 74 2d 77 6f 72 64 20 28 62 70 6f 73 29 0a 20 20 22 53 70 6c 69 74 20 77 6f vu-split-word.(bpos)..."Split.wo
14b20 72 64 20 61 74 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 42 50 4f 53 2e 0a 54 68 69 73 rd.at.buffer.position.BPOS..This
14b40 20 63 6f 6d 6d 61 6e 64 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 72 65 61 64 20 62 75 .command.operates.on.the.read.bu
14b60 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 64 22 29 0a 20 20 28 6c 65 ffer."...(interactive."d")...(le
14b80 74 20 28 28 62 65 67 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 62 65 67 20 62 70 6f 73 20 t.((beg.(djvu-property-beg.bpos.
14ba0 27 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 28 64 70 6f 73 20 28 64 6a 76 75 2d 72 65 61 64 'word)).........(dpos.(djvu-read
14bc0 2d 64 70 6f 73 20 62 70 6f 73 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d -dpos.bpos))).....(with-current-
14be0 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 29 0a 20 20 20 20 20 buffer.(djvu-ref.text-buf)......
14c00 20 28 64 6a 76 75 2d 73 70 6c 69 74 2d 77 6f 72 64 2d 69 6e 74 65 72 6e 61 6c 20 28 64 6a 76 75 .(djvu-split-word-internal.(djvu
14c20 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 77 6f 72 64 20 64 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 -goto-dpos.'word.dpos)..........
14c40 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 62 70 6f 73 20 62 .......................(-.bpos.b
14c60 65 67 29 29 29 29 0a 20 20 28 64 6a 76 75 2d 73 61 76 65 2d 74 65 78 74 29 29 0a 0a 28 64 65 66 eg))))...(djvu-save-text))..(def
14c80 75 6e 20 64 6a 76 75 2d 73 70 6c 69 74 2d 77 6f 72 64 2d 69 6e 74 65 72 6e 61 6c 20 28 77 70 6f un.djvu-split-word-internal.(wpo
14ca0 73 20 73 70 6c 69 74 29 0a 20 20 22 53 70 6c 69 74 20 77 6f 72 64 20 61 74 20 70 6f 73 69 74 69 s.split)..."Split.word.at.positi
14cc0 6f 6e 20 57 50 4f 53 20 61 74 20 63 68 61 72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 53 50 on.WPOS.at.character.position.SP
14ce0 4c 49 54 2e 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 LIT..This.command.operates.on.th
14d00 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 e.text.buffer."...(interactive..
14d20 20 20 28 6c 65 74 2a 20 28 28 70 6e 74 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 ..(let*.((pnt.(point))..........
14d40 20 28 70 70 73 20 28 70 61 72 73 65 2d 70 61 72 74 69 61 6c 2d 73 65 78 70 20 28 6c 69 6e 65 2d .(pps.(parse-partial-sexp.(line-
14d60 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 20 70 6e 74 29 29 29 0a 20 20 20 20 20 beginning-position).pnt)))......
14d80 28 75 6e 6c 65 73 73 20 28 6e 74 68 20 33 20 70 70 73 29 20 28 75 73 65 72 2d 65 72 72 6f 72 20 (unless.(nth.3.pps).(user-error.
14da0 22 50 6f 69 6e 74 20 6e 6f 74 20 69 6e 73 69 64 65 20 73 74 72 69 6e 67 22 29 29 0a 20 20 20 20 "Point.not.inside.string")).....
14dc0 20 28 6c 69 73 74 20 70 6e 74 20 28 31 2d 20 28 2d 20 70 6e 74 20 28 6e 74 68 20 38 20 70 70 73 .(list.pnt.(1-.(-.pnt.(nth.8.pps
14de0 29 29 29 29 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 77 70 6f 73 29 0a 20 20 28 62 65 67 ))))))...(goto-char.wpos)...(beg
14e00 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f inning-of-line)...(skip-chars-fo
14e20 72 77 61 72 64 20 22 20 5c 74 22 29 0a 20 20 28 73 65 74 71 20 77 70 6f 73 20 28 70 6f 69 6e 74 rward.".\t")...(setq.wpos.(point
14e40 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 64 65 6e 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 ))...(let.((indent.(buffer-subst
14e60 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ring-no-properties..............
14e80 20 20 20 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 20 77 70 ....(line-beginning-position).wp
14ea0 6f 73 29 29 0a 20 20 20 20 20 20 20 20 77 6f 72 64 29 0a 20 20 20 20 28 63 6f 6e 64 69 74 69 6f os)).........word).....(conditio
14ec0 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 n-case.nil.........(progn.......
14ee0 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 ....(setq.word.(read.(current-bu
14f00 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 27 77 ffer)))...........(unless.(eq.'w
14f20 6f 72 64 20 28 63 61 72 20 77 6f 72 64 29 29 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 22 ord.(car.word)).(error."Invalid"
14f40 29 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 65 72 72 6f 72 20 22 53 79 6e 74 61 78 20 ))).......(error.(error."Syntax.
14f60 65 72 72 6f 72 20 69 6e 20 72 61 77 20 74 65 78 74 22 29 29 29 0a 20 20 20 20 28 69 66 20 28 6f error.in.raw.text"))).....(if.(o
14f80 72 20 28 3c 20 73 70 6c 69 74 20 31 29 20 28 3c 3d 20 28 6c 65 6e 67 74 68 20 28 6e 74 68 20 35 r.(<.split.1).(<=.(length.(nth.5
14fa0 20 77 6f 72 64 29 29 20 73 70 6c 69 74 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 .word)).split)).........(error."
14fc0 4e 6f 74 68 69 6e 67 20 74 6f 20 73 70 6c 69 74 22 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d Nothing.to.split")).....(delete-
14fe0 72 65 67 69 6f 6e 20 77 70 6f 73 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 3b 3b 20 54 6f 20 73 region.wpos.(point)).....;;.To.s
15000 70 6c 69 74 20 74 68 65 20 62 6f 75 6e 64 69 6e 67 20 62 6f 78 20 68 6f 72 69 7a 6f 6e 74 61 6c plit.the.bounding.box.horizontal
15020 6c 79 2c 20 77 65 20 74 61 6b 65 20 74 68 65 20 66 72 61 63 74 69 6f 6e 0a 20 20 20 20 3b 3b 20 ly,.we.take.the.fraction.....;;.
15040 6f 66 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 65 of.the.number.of.characters.in.e
15060 61 63 68 20 66 72 61 67 6d 65 6e 74 2e 20 20 54 68 69 73 20 73 63 68 65 6d 65 0a 20 20 20 20 3b ach.fragment...This.scheme.....;
15080 3b 20 69 73 20 6f 6e 6c 79 20 61 70 70 72 6f 78 69 6d 61 74 65 2c 20 62 75 74 20 69 74 20 69 73 ;.is.only.approximate,.but.it.is
150a0 20 62 65 74 74 65 72 20 74 68 61 6e 20 6e 6f 74 68 69 6e 67 2e 0a 20 20 20 20 28 6c 65 74 20 28 .better.than.nothing......(let.(
150c0 28 66 72 61 63 20 28 72 6f 75 6e 64 20 28 2a 20 28 2f 20 28 66 6c 6f 61 74 20 73 70 6c 69 74 29 (frac.(round.(*.(/.(float.split)
150e0 20 28 6c 65 6e 67 74 68 20 28 6e 74 68 20 35 20 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 20 20 .(length.(nth.5.word))).........
15100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 6e 74 68 20 33 20 77 6f 72 64 ..................(-.(nth.3.word
15120 29 20 28 6e 74 68 20 31 20 77 6f 72 64 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d ).(nth.1.word)))))).......(djvu-
15140 69 6e 73 65 72 74 2d 74 65 78 74 20 28 6c 69 73 74 20 27 77 6f 72 64 20 28 6e 74 68 20 31 20 77 insert-text.(list.'word.(nth.1.w
15160 6f 72 64 29 20 28 6e 74 68 20 32 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ord).(nth.2.word)...............
15180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6e 74 68 20 31 20 77 6f 72 64 29 20 ................(+.(nth.1.word).
151a0 66 72 61 63 29 20 28 6e 74 68 20 34 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 frac).(nth.4.word)..............
151c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 28 6e 74 68 .................(substring.(nth
151e0 20 35 20 77 6f 72 64 29 20 30 20 73 70 6c 69 74 29 29 20 22 22 29 0a 20 20 20 20 20 20 28 69 6e .5.word).0.split))."").......(in
15200 73 65 72 74 20 22 5c 6e 22 20 69 6e 64 65 6e 74 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e sert."\n".indent).......(djvu-in
15220 73 65 72 74 2d 74 65 78 74 20 28 6c 69 73 74 20 27 77 6f 72 64 20 28 2b 20 28 6e 74 68 20 31 20 sert-text.(list.'word.(+.(nth.1.
15240 77 6f 72 64 29 20 66 72 61 63 20 31 29 20 28 6e 74 68 20 32 20 77 6f 72 64 29 0a 20 20 20 20 20 word).frac.1).(nth.2.word)......
15260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 33 20 .........................(nth.3.
15280 77 6f 72 64 29 20 28 6e 74 68 20 34 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 word).(nth.4.word)..............
152a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 28 6e 74 68 .................(substring.(nth
152c0 20 35 20 77 6f 72 64 29 20 73 70 6c 69 74 29 29 20 22 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 .5.word).split)).""))))..(defun.
152e0 64 6a 76 75 2d 6d 65 72 67 65 2d 77 6f 72 64 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 4d 65 djvu-merge-words.(beg.end)..."Me
15300 72 67 65 20 77 6f 72 64 73 20 62 65 74 77 65 65 6e 20 70 6f 73 69 74 69 6f 6e 73 20 42 45 47 20 rge.words.between.positions.BEG.
15320 61 6e 64 20 45 4e 44 2e 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 6f 70 65 72 61 74 65 73 20 6f and.END..This.command.operates.o
15340 6e 20 74 68 65 20 72 65 61 64 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 n.the.read.buffer."...(interacti
15360 76 65 20 22 72 22 29 0a 20 20 28 6c 65 74 20 28 28 62 70 6f 73 20 28 64 6a 76 75 2d 72 65 61 64 ve."r")...(let.((bpos.(djvu-read
15380 2d 64 70 6f 73 20 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 28 65 70 6f 73 20 28 64 6a 76 75 2d -dpos.beg)).........(epos.(djvu-
153a0 72 65 61 64 2d 64 70 6f 73 20 28 31 2d 20 65 6e 64 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d read-dpos.(1-.end)))).....(with-
153c0 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 current-buffer.(djvu-ref.text-bu
153e0 66 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 6d 65 72 67 65 2d 77 6f 72 64 73 2d 69 6e 74 65 72 f).......(djvu-merge-words-inter
15400 6e 61 6c 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 77 6f 72 64 20 62 70 6f 73 29 0a nal.(djvu-goto-dpos.'word.bpos).
15420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
15440 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 77 6f 72 64 20 65 70 6f 73 29 29 29 29 0a .(djvu-goto-dpos.'word.epos)))).
15460 20 20 28 64 6a 76 75 2d 73 61 76 65 2d 74 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 ..(djvu-save-text))..(defun.djvu
15480 2d 6d 65 72 67 65 2d 77 6f 72 64 73 2d 69 6e 74 65 72 6e 61 6c 20 28 62 65 67 20 65 6e 64 29 0a -merge-words-internal.(beg.end).
154a0 20 20 22 4d 65 72 67 65 20 77 6f 72 64 73 20 62 65 74 77 65 65 6e 20 70 6f 73 69 74 69 6f 6e 73 .."Merge.words.between.positions
154c0 20 42 45 47 20 61 6e 64 20 45 4e 44 2e 0a 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 6f 70 65 72 61 .BEG.and.END..This.command.opera
154e0 74 65 73 20 6f 6e 20 74 68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 tes.on.the.text.buffer."...(inte
15500 72 61 63 74 69 76 65 20 22 72 22 29 0a 20 20 28 6c 65 74 20 28 77 6f 72 64 73 29 0a 20 20 20 20 ractive."r")...(let.(words).....
15520 28 67 6f 74 6f 2d 63 68 61 72 20 65 6e 64 29 0a 20 20 20 20 28 69 66 20 28 62 6f 6c 70 29 20 28 (goto-char.end).....(if.(bolp).(
15540 73 65 74 71 20 65 6e 64 20 28 31 2d 20 65 6e 64 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 setq.end.(1-.end))).....(goto-ch
15560 61 72 20 62 65 67 29 0a 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a ar.beg).....(beginning-of-line).
15580 20 20 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 22 29 0a 20 ....(skip-chars-forward.".\t")..
155a0 20 20 20 28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 77 68 69 6c 65 ...(setq.beg.(point)).....(while
155c0 20 28 3c 20 28 70 6f 69 6e 74 29 20 65 6e 64 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 72 65 .(<.(point).end).......(push.(re
155e0 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 20 77 6f 72 64 73 29 0a 20 20 20 20 ad.(current-buffer)).words).....
15600 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 27 77 6f 72 64 20 28 63 61 61 72 20 77 6f 72 64 73 29 ..(unless.(eq.'word.(caar.words)
15620 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 53 79 6e 74 61 78 20 65 72 72 6f 72 20 69 ).........(error."Syntax.error.i
15640 6e 20 72 61 77 20 74 65 78 74 22 29 29 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f n.raw.text"))).....(delete-regio
15660 6e 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 62 6a 65 63 74 n.beg.(point)).....(let.((object
15680 20 28 61 70 70 6c 79 20 27 6c 69 73 74 20 27 77 6f 72 64 20 30 20 30 20 30 20 30 20 28 6e 72 65 .(apply.'list.'word.0.0.0.0.(nre
156a0 76 65 72 73 65 20 77 6f 72 64 73 29 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 74 65 78 74 verse.words)))).......(djvu-text
156c0 2d 7a 6f 6e 65 20 6f 62 6a 65 63 74 20 30 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 33 20 6e 69 -zone.object.0.(make-vector.3.ni
156e0 6c 29 29 0a 20 20 20 20 20 20 28 73 65 74 63 64 72 20 28 6e 74 68 63 64 72 20 34 20 6f 62 6a 65 l)).......(setcdr.(nthcdr.4.obje
15700 63 74 29 20 28 6c 69 73 74 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 77 29 ct).(list.(mapconcat.(lambda.(w)
15720 20 28 6e 74 68 20 35 20 77 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(nth.5.w)).....................
15740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 .............................(nt
15760 68 63 64 72 20 35 20 6f 62 6a 65 63 74 29 20 22 22 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 hcdr.5.object).""))).......(djvu
15780 2d 69 6e 73 65 72 74 2d 74 65 78 74 20 6f 62 6a 65 63 74 20 22 22 29 29 29 0a 20 20 28 75 6e 64 -insert-text.object."")))...(und
157a0 6f 2d 62 6f 75 6e 64 61 72 79 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 65 72 67 65 2d o-boundary))..(defun.djvu-merge-
157c0 6c 69 6e 65 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 4d 65 72 67 65 20 6c 69 6e 65 73 20 62 lines.(beg.end)..."Merge.lines.b
157e0 65 74 77 65 65 6e 20 70 6f 73 69 74 69 6f 6e 73 20 42 45 47 20 61 6e 64 20 45 4e 44 2e 0a 54 68 etween.positions.BEG.and.END..Th
15800 69 73 20 63 6f 6d 6d 61 6e 64 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 72 65 61 64 20 is.command.operates.on.the.read.
15820 62 75 66 66 65 72 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 3b buffer."...(interactive."r")...;
15840 3b 20 53 6f 6d 65 74 69 6d 65 73 20 77 65 20 68 61 76 65 20 62 6f 75 6e 64 69 6e 67 20 62 6f 78 ;.Sometimes.we.have.bounding.box
15860 65 73 20 74 68 61 74 20 61 72 65 20 73 63 72 65 77 65 64 20 75 70 20 28 65 2e 67 2e 2c 20 61 20 es.that.are.screwed.up.(e.g.,.a.
15880 62 62 6f 78 0a 20 20 3b 3b 20 66 6f 72 20 42 45 47 20 74 68 61 74 20 65 76 65 6e 20 69 6e 63 6c bbox...;;.for.BEG.that.even.incl
158a0 75 64 65 73 20 45 4e 44 29 2e 20 20 54 68 65 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 udes.END)...Then.the.following.f
158c0 61 69 6c 73 20 61 6e 64 20 77 65 20 63 61 6e 0a 20 20 3b 3b 20 6d 65 72 65 6c 79 20 72 75 6e 20 ails.and.we.can...;;.merely.run.
158e0 60 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e 65 73 2d 69 6e 74 65 72 6e 61 6c 27 20 69 6e 20 74 `djvu-merge-lines-internal'.in.t
15900 68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 0a 20 20 28 6c 65 74 20 28 28 62 70 6f 73 20 28 64 he.text.buffer....(let.((bpos.(d
15920 6a 76 75 2d 72 65 61 64 2d 64 70 6f 73 20 62 65 67 29 29 0a 20 20 20 20 20 20 20 20 28 65 70 6f jvu-read-dpos.beg)).........(epo
15940 73 20 28 64 6a 76 75 2d 72 65 61 64 2d 64 70 6f 73 20 28 31 2d 20 65 6e 64 29 29 29 29 0a 20 20 s.(djvu-read-dpos.(1-.end))))...
15960 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 ..(with-current-buffer.(djvu-ref
15980 20 74 65 78 74 2d 62 75 66 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e .text-buf).......(djvu-merge-lin
159a0 65 73 2d 69 6e 74 65 72 6e 61 6c 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 77 6f 72 es-internal.(djvu-goto-dpos.'wor
159c0 64 20 62 70 6f 73 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 d.bpos).........................
159e0 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 77 6f 72 64 20 65 .........(djvu-goto-dpos.'word.e
15a00 70 6f 73 29 29 29 29 0a 20 20 28 64 6a 76 75 2d 73 61 76 65 2d 74 65 78 74 29 29 0a 0a 28 64 65 pos))))...(djvu-save-text))..(de
15a20 66 75 6e 20 64 6a 76 75 2d 6d 65 72 67 65 2d 6c 69 6e 65 73 2d 69 6e 74 65 72 6e 61 6c 20 28 62 fun.djvu-merge-lines-internal.(b
15a40 65 67 20 65 6e 64 29 0a 20 20 22 4d 65 72 67 65 20 6c 69 6e 65 73 20 62 65 74 77 65 65 6e 20 70 eg.end)..."Merge.lines.between.p
15a60 6f 73 69 74 69 6f 6e 73 20 42 45 47 20 61 6e 64 20 45 4e 44 2e 0a 54 68 69 73 20 63 6f 6d 6d 61 ositions.BEG.and.END..This.comma
15a80 6e 64 20 6f 70 65 72 61 74 65 73 20 6f 6e 20 74 68 65 20 74 65 78 74 20 62 75 66 66 65 72 2e 22 nd.operates.on.the.text.buffer."
15aa0 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 72 22 29 0a 20 20 3b 3b 20 43 61 6c 63 75 6c ...(interactive."r")...;;.Calcul
15ac0 61 74 65 20 70 72 6f 70 65 72 20 76 61 6c 75 65 20 6f 66 20 45 4e 44 0a 20 20 28 67 6f 74 6f 2d ate.proper.value.of.END...(goto-
15ae0 63 68 61 72 20 65 6e 64 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 char.end)...(unless.(looking-at.
15b00 22 5b 20 5c 74 5d 2a 28 77 6f 72 64 20 22 29 0a 20 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 62 "[.\t]*(word.").....(re-search-b
15b20 61 63 6b 77 61 72 64 20 22 5e 5b 20 5c 74 5d 2a 28 77 6f 72 64 20 22 29 29 0a 20 20 28 66 6f 72 ackward."^[.\t]*(word."))...(for
15b40 77 61 72 64 2d 73 65 78 70 29 0a 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 29 0a ward-sexp)...(setq.end.(point)).
15b60 20 20 3b 3b 20 43 61 6c 63 75 6c 61 74 65 20 70 72 6f 70 65 72 20 76 61 6c 75 65 20 6f 66 20 42 ..;;.Calculate.proper.value.of.B
15b80 45 47 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 EG...(goto-char.beg)...(unless.(
15ba0 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5b 20 5c 74 5d 2a 28 77 6f 72 64 20 22 29 0a 20 20 20 20 28 looking-at."[.\t]*(word.").....(
15bc0 72 65 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 22 5e 5b 20 5c 74 5d 2a 28 77 6f 72 64 re-search-backward."^[.\t]*(word
15be0 20 22 29 29 0a 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 22 ."))...(skip-chars-forward.".\t"
15c00 29 0a 20 20 28 73 65 74 71 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 28 75 6e 6c 65 73 73 )...(setq.beg.(point))...(unless
15c20 20 28 3c 20 62 65 67 20 65 6e 64 29 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 74 68 69 6e .(<.beg.end).(user-error."Nothin
15c40 67 20 74 6f 20 6d 65 72 67 65 22 29 29 0a 20 20 3b 3b 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 g.to.merge"))...;;.The.following
15c60 20 66 61 69 6c 73 20 69 66 20 74 68 65 20 7a 6f 6e 65 20 6c 65 76 65 6c 73 20 6f 66 20 74 68 65 .fails.if.the.zone.levels.of.the
15c80 20 6c 69 6e 65 73 20 77 65 20 77 61 6e 74 20 74 6f 20 6d 65 72 67 65 0a 20 20 3b 3b 20 61 72 65 .lines.we.want.to.merge...;;.are
15ca0 20 64 69 66 66 65 72 65 6e 74 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 20 20 3b 3b 20 28 .different...For.example:...;;.(
15cc0 6c 69 6e 65 20 58 20 58 20 58 20 58 0a 20 20 3b 3b 20 20 28 77 6f 72 64 20 58 20 58 20 58 20 58 line.X.X.X.X...;;..(word.X.X.X.X
15ce0 20 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 20 28 77 6f 72 64 20 58 20 58 20 58 20 58 20 73 74 72 .string)...;;..(word.X.X.X.X.str
15d00 69 6e 67 29 29 0a 20 20 3b 3b 20 28 70 61 72 61 20 58 20 58 20 58 20 58 0a 20 20 3b 3b 20 20 28 ing))...;;.(para.X.X.X.X...;;..(
15d20 6c 69 6e 65 20 58 20 58 20 58 20 58 0a 20 20 3b 3b 20 20 20 28 77 6f 72 64 20 58 20 58 20 58 20 line.X.X.X.X...;;...(word.X.X.X.
15d40 58 20 73 74 72 69 6e 67 29 0a 20 20 3b 3b 20 20 20 28 77 6f 72 64 20 58 20 58 20 58 20 58 20 73 X.string)...;;...(word.X.X.X.X.s
15d60 74 72 69 6e 67 29 29 29 0a 20 20 28 61 74 6f 6d 69 63 2d 63 68 61 6e 67 65 2d 67 72 6f 75 70 0a tring)))...(atomic-change-group.
15d80 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 28 6e 61 72 ....(save-restriction.......(nar
15da0 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 20 20 28 6d 61 row-to-region.beg.end).......(ma
15dc0 70 63 20 28 6c 61 6d 62 64 61 20 28 7a 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pc.(lambda.(zone)...............
15de0 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 20 20 20 20 (goto-char.(point-min)).........
15e00 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 20 28 66 6f 72 6d 61 74 20 22 29 5b 5c 6e 5c 74 5c ......(let.((re.(format.")[\n\t\
15e20 73 5d 2b 28 25 73 20 25 73 22 20 7a 6f 6e 65 20 64 6a 76 75 2d 63 6f 6f 72 64 73 2d 72 65 29 29 s]+(%s.%s".zone.djvu-coords-re))
15e40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 ).................(while.(re-sea
15e60 72 63 68 2d 66 6f 72 77 61 72 64 20 72 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 rch-forward.re.nil.t)...........
15e80 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 29 29 29 29 0a 20 20 ........(replace-match.""))))...
15ea0 20 20 20 20 20 20 20 20 20 20 27 28 22 63 6f 6c 75 6d 6e 22 20 22 72 65 67 69 6f 6e 22 20 22 70 ..........'("column"."region"."p
15ec0 61 72 61 22 20 22 6c 69 6e 65 22 29 29 0a 20 20 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 74 68 61 ara"."line")).......;;.Check.tha
15ee0 74 20 77 65 20 67 6f 74 20 77 68 61 74 20 77 65 20 77 61 6e 74 2e 0a 20 20 20 20 20 20 28 67 6f t.we.got.what.we.want........(go
15f00 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 28 77 68 69 6c to-char.(point-min)).......(whil
15f20 65 20 28 3e 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 72 6f 67 6e 20 28 73 6b 69 70 2d 63 68 e.(>.(point-max).(progn.(skip-ch
15f40 61 72 73 2d 66 6f 72 77 61 72 64 20 22 5c 6e 5c 74 5c 73 22 29 20 28 70 6f 69 6e 74 29 29 29 0a ars-forward."\n\t\s").(point))).
15f60 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 28 77 6f 72 64 20 22 ........(if.(looking-at."(word."
15f80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 20 3b 20 6d ).............(forward-sexp).;.m
15fa0 61 79 20 73 69 67 6e 61 6c 20 60 73 63 61 6e 2d 65 72 72 6f 72 27 0a 20 20 20 20 20 20 20 20 20 ay.signal.`scan-error'..........
15fc0 20 28 65 72 72 6f 72 20 22 53 79 6e 74 61 78 20 65 72 72 6f 72 3a 20 63 61 6e 6e 6f 74 20 6d 65 .(error."Syntax.error:.cannot.me
15fe0 72 67 65 22 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 69 74 2d 74 65 78 rge"))))))..(defun.djvu-init-tex
16000 74 20 28 6f 62 6a 65 63 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 72 65 73 65 74 29 0a 20 t.(object.&optional.doc.reset)..
16020 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 54 65 78 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 69 ."Initialize.Text.buffer."...(wi
16040 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 th-current-buffer.(djvu-ref.text
16060 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 28 6c 65 74 20 28 28 64 70 6f 73 20 28 75 6e 6c 65 73 -buf.doc).....(let.((dpos.(unles
16080 73 20 72 65 73 65 74 20 28 64 6a 76 75 2d 74 65 78 74 2d 64 70 6f 73 20 6e 69 6c 20 64 6f 63 29 s.reset.(djvu-text-dpos.nil.doc)
160a0 29 29 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 ))...........buffer-read-only)..
160c0 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d .....(erase-buffer).......(djvu-
160e0 69 6e 73 65 72 74 2d 74 65 78 74 20 6f 62 6a 65 63 74 20 22 22 29 0a 20 20 20 20 20 20 28 69 6e insert-text.object."").......(in
16100 73 65 72 74 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 72 65 73 65 74 29 sert."\n").......(if.(not.reset)
16120 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 27 77 6f 72 64 ...........(djvu-goto-dpos.'word
16140 20 64 70 6f 73 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 .dpos).........(goto-char.(point
16160 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 -min)).........(set-buffer-modif
16180 69 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d ied-p.nil).........(setq.buffer-
161a0 75 6e 64 6f 2d 6c 69 73 74 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d undo-list.nil)))))..(defun.djvu-
161c0 69 6e 73 65 72 74 2d 74 65 78 74 20 28 6f 62 6a 65 63 74 20 69 6e 64 65 6e 74 29 0a 20 20 22 49 insert-text.(object.indent)..."I
161e0 6e 73 65 72 74 20 4f 42 4a 45 43 54 20 69 6e 74 6f 20 44 6a 76 75 20 74 65 78 74 20 62 75 66 66 nsert.OBJECT.into.Djvu.text.buff
16200 65 72 20 72 65 63 75 72 73 69 76 65 6c 79 20 75 73 69 6e 67 20 69 6e 64 65 6e 74 61 74 69 6f 6e er.recursively.using.indentation
16220 20 49 4e 44 45 4e 54 2e 22 0a 20 20 28 77 68 65 6e 20 6f 62 6a 65 63 74 0a 20 20 20 20 28 69 6e .INDENT."...(when.object.....(in
16240 73 65 72 74 20 69 6e 64 65 6e 74 20 22 28 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 sert.indent."(".............(map
16260 63 6f 6e 63 61 74 20 23 27 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 concat.#'prin1-to-string........
16280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6e 74 68 20 30 20 6f 62 6a ................(list.(nth.0.obj
162a0 65 63 74 29 20 28 6e 74 68 20 31 20 6f 62 6a 65 63 74 29 20 28 6e 74 68 20 32 20 6f 62 6a 65 63 ect).(nth.1.object).(nth.2.objec
162c0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)..............................
162e0 28 6e 74 68 20 33 20 6f 62 6a 65 63 74 29 20 28 6e 74 68 20 34 20 6f 62 6a 65 63 74 29 29 0a 20 (nth.3.object).(nth.4.object))..
16300 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 20 20 20 20 ......................".")).....
16320 28 6c 65 74 20 28 28 74 61 69 6c 20 28 6e 74 68 63 64 72 20 35 20 6f 62 6a 65 63 74 29 29 0a 20 (let.((tail.(nthcdr.5.object))..
16340 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 28 63 6f 6e 63 61 74 20 69 6e 64 65 6e 74 20 .........(indent.(concat.indent.
16360 22 20 22 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 28 63 61 72 20 74 "."))).......(if.(stringp.(car.t
16380 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 ail))...........(insert.(format.
163a0 22 20 25 53 29 22 20 28 63 61 72 20 74 61 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c ".%S)".(car.tail))).........(dol
163c0 69 73 74 20 28 65 6c 74 20 74 61 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 ist.(elt.tail)...........(insert
163e0 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 74 65 ."\n")...........(djvu-insert-te
16400 78 74 20 65 6c 74 20 69 6e 64 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 xt.elt.indent)).........(insert.
16420 22 29 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 74 65 78 74 2d 64 70 6f 73 20 ")")))))..(defun.djvu-text-dpos.
16440 28 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 20 64 6f 63 29 0a 20 20 22 52 65 74 75 72 6e 20 (&optional.point.doc)..."Return.
16460 44 6a 76 75 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 50 4f 49 4e 54 20 69 6e 20 44 6a 76 75 20 74 Djvu.position.of.POINT.in.Djvu.t
16480 65 78 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 ext.buffer."...(with-current-buf
164a0 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 fer.(djvu-ref.text-buf.doc).....
164c0 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 69 66 20 70 6f 69 6e 74 20 (save-excursion.......(if.point.
164e0 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e (goto-char.point)).......(beginn
16500 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 7a 6f 6e 65 29 0a 20 ing-of-line).......(let.(zone)..
16520 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 73 65 74 71 20 7a 6f 6e .......(while.(not.(or.(setq.zon
16540 65 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 64 6a 76 75 2d 7a 6f 6e 65 2d 72 65 29 29 0a 20 20 20 e.(looking-at.djvu-zone-re))....
16560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 62 70 29 29 29 0a 20 20 .....................(bobp)))...
16580 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 2d 31 29 29 0a 20 20 20 20 20 ........(forward-line.-1))......
165a0 20 20 20 28 69 66 20 7a 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 ...(if.zone.............(mapcar.
165c0 23 27 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 27 28 33 20 34 20 35 20 36 29 29 29 #'djvu-match-number.'(3.4.5.6)))
165e0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 61 64 2d 74 65 78 74 20 28 26 6f 70 ))))..(defun.djvu-read-text.(&op
16600 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 52 65 61 64 20 74 65 78 74 20 6f 66 20 61 20 44 6a tional.doc)..."Read.text.of.a.Dj
16620 76 75 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 74 65 78 74 20 62 75 66 66 65 72 2e 22 0a 20 vu.document.from.text.buffer."..
16640 20 28 6c 65 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 .(let.(object).....(with-current
16660 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 20 64 6f 63 29 0a -buffer.(djvu-ref.text-buf.doc).
16680 20 20 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 20 20 28 73 ......(save-excursion.........(s
166a0 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 64 65 6e ave-restriction...........(widen
166c0 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 )...........(goto-char.(point-mi
166e0 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 6f 62 70 29 0a 20 20 20 n))...........(unless.(eobp)....
16700 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 .........(condition-case.nil....
16720 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 62 6a 65 63 74 20 28 72 65 61 64 20 .............(setq.object.(read.
16740 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (current-buffer)))..............
16760 20 28 65 72 72 6f 72 20 28 65 72 72 6f 72 20 22 53 79 6e 74 61 78 20 65 72 72 6f 72 20 69 6e 20 .(error.(error."Syntax.error.in.
16780 72 61 77 20 74 65 78 74 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 63 raw.text"))).............(skip-c
167a0 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 hars-forward.".\t\n")...........
167c0 20 20 3b 3b 20 57 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 73 77 61 6c 6c 6f 77 65 64 20 61 6c ..;;.We.should.have.swallowed.al
167e0 6c 20 72 61 77 20 74 65 78 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 l.raw.text..............(unless.
16800 28 65 6f 62 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 53 79 6e (eobp)...............(error."Syn
16820 74 61 78 20 65 72 72 6f 72 20 69 6e 20 72 61 77 20 74 65 78 74 20 28 65 6e 64 20 6f 66 20 62 75 tax.error.in.raw.text.(end.of.bu
16840 66 66 65 72 29 22 29 29 29 29 29 29 0a 20 20 20 20 6f 62 6a 65 63 74 29 29 0a 0a 28 64 65 66 75 ffer)")))))).....object))..(defu
16860 6e 20 64 6a 76 75 2d 73 61 76 65 2d 74 65 78 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 n.djvu-save-text.(&optional.doc.
16880 73 63 72 69 70 74 29 0a 20 20 22 53 61 76 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 44 6a 76 75 script)..."Save.text.of.the.Djvu
168a0 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e 20 20 54 68 69 73 20 75 70 64 61 74 65 73 20 74 68 65 .document.DOC...This.updates.the
168c0 20 52 65 61 64 20 62 75 66 66 65 72 20 66 6f 72 20 44 4f 43 2e 0a 44 4f 43 20 64 65 66 61 75 6c .Read.buffer.for.DOC..DOC.defaul
168e0 74 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e ts.to.the.current.Djvu.document.
16900 0a 49 66 20 53 43 52 49 50 54 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 64 75 6d 70 20 74 68 65 20 .If.SCRIPT.is.non-nil,.dump.the.
16920 74 65 78 74 20 62 75 66 66 65 72 20 69 6e 74 6f 20 74 68 65 20 64 6a 76 75 73 65 64 20 73 63 72 text.buffer.into.the.djvused.scr
16940 69 70 74 20 66 69 6c 65 20 53 43 52 49 50 54 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 ipt.file.SCRIPT."...(interactive
16960 29 0a 20 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 )...(unless.doc.(setq.doc.djvu-d
16980 6f 63 29 29 0a 20 20 28 6c 65 74 20 28 28 6f 62 6a 65 63 74 31 20 28 64 6a 76 75 2d 72 65 61 64 oc))...(let.((object1.(djvu-read
169a0 2d 74 65 78 74 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 28 6f 62 6a 65 63 74 32 20 28 64 6a -text.doc)).........(object2.(dj
169c0 76 75 2d 72 65 61 64 2d 74 65 78 74 20 64 6f 63 29 29 29 20 3b 20 74 72 75 65 20 72 65 63 75 72 vu-read-text.doc))).;.true.recur
169e0 73 69 76 65 20 63 6f 70 79 20 6f 66 20 4f 42 4a 45 43 54 31 0a 20 20 20 20 3b 3b 20 52 65 2d 69 sive.copy.of.OBJECT1.....;;.Re-i
16a00 6e 69 74 69 61 6c 69 7a 69 6e 67 20 74 68 65 20 74 65 78 74 20 62 75 66 66 65 72 20 62 6c 6f 77 nitializing.the.text.buffer.blow
16a20 73 20 75 70 20 74 68 65 20 75 6e 64 6f 20 6c 69 73 74 20 6f 66 20 74 68 69 73 20 62 75 66 66 65 s.up.the.undo.list.of.this.buffe
16a40 72 2e 0a 20 20 20 20 3b 3b 20 54 68 69 73 20 73 74 65 70 20 69 73 20 6f 6e 6c 79 20 6e 65 65 64 r......;;.This.step.is.only.need
16a60 65 64 20 69 66 20 77 65 20 63 68 61 6e 67 65 64 20 74 68 65 20 74 65 78 74 20 7a 6f 6e 65 73 20 ed.if.we.changed.the.text.zones.
16a80 28 65 2e 67 2e 2c 20 77 68 65 6e 0a 20 20 20 20 3b 3b 20 6d 65 72 67 69 6e 67 20 6c 69 6e 65 73 (e.g.,.when.....;;.merging.lines
16aa0 29 2e 20 20 53 6f 20 77 65 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 60 64 6a 76 75 2d 74 65 )...So.we.check.whether.`djvu-te
16ac0 78 74 2d 7a 6f 6e 65 27 20 68 61 73 20 63 68 61 6e 67 65 64 0a 20 20 20 20 3b 3b 20 4f 42 4a 45 xt-zone'.has.changed.....;;.OBJE
16ae0 43 54 2e 20 20 46 6f 72 20 74 68 69 73 2c 20 69 74 20 69 73 20 65 61 73 69 65 72 20 74 6f 20 72 CT...For.this,.it.is.easier.to.r
16b00 65 61 64 20 4f 42 4a 45 43 54 20 74 77 69 63 65 20 74 68 61 6e 20 63 6f 70 79 69 6e 67 20 69 74 ead.OBJECT.twice.than.copying.it
16b20 0a 20 20 20 20 3b 3b 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 20 20 20 20 28 64 6a 76 75 2d 74 .....;;.recursively......(djvu-t
16b40 65 78 74 2d 7a 6f 6e 65 20 6f 62 6a 65 63 74 31 20 30 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 ext-zone.object1.0.(make-vector.
16b60 37 20 6e 69 6c 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 6f 62 6a 65 63 7.nil)).....(unless.(equal.objec
16b80 74 31 20 6f 62 6a 65 63 74 32 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 74 65 78 t1.object2).......(djvu-init-tex
16ba0 74 20 6f 62 6a 65 63 74 31 20 64 6f 63 29 29 0a 20 20 20 20 3b 3b 20 55 70 64 61 74 65 20 72 65 t.object1.doc)).....;;.Update.re
16bc0 61 64 20 62 75 66 66 65 72 2e 20 20 57 65 20 64 6f 20 74 68 69 73 20 65 76 65 6e 20 69 66 20 74 ad.buffer...We.do.this.even.if.t
16be0 68 65 20 74 65 78 74 20 62 75 66 66 65 72 20 69 73 20 6e 6f 74 0a 20 20 20 20 3b 3b 20 6d 6f 64 he.text.buffer.is.not.....;;.mod
16c00 69 66 69 65 64 2c 20 61 73 20 77 65 20 6d 61 79 20 68 61 76 65 20 75 6e 64 6f 6e 65 20 61 20 63 ified,.as.we.may.have.undone.a.c
16c20 68 61 6e 67 65 20 69 6e 20 74 68 65 20 74 65 78 74 20 62 75 66 66 65 72 20 74 68 61 74 0a 20 20 hange.in.the.text.buffer.that...
16c40 20 20 3b 3b 20 70 72 65 76 69 6f 75 73 6c 79 20 70 72 6f 70 61 67 61 74 65 64 20 61 6c 73 6f 20 ..;;.previously.propagated.also.
16c60 69 6e 74 6f 20 74 68 65 20 72 65 61 64 20 62 75 66 66 65 72 2e 20 20 54 68 65 20 52 65 61 64 20 into.the.read.buffer...The.Read.
16c80 62 75 66 66 65 72 0a 20 20 20 20 3b 3b 20 68 61 73 20 6e 6f 20 75 6e 64 6f 20 6c 69 73 74 2e 0a buffer.....;;.has.no.undo.list..
16ca0 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 72 65 61 64 20 6f 62 6a 65 63 74 31 20 64 6f 63 29 ....(djvu-init-read.object1.doc)
16cc0 0a 20 20 20 20 3b 3b 20 49 74 20 69 73 20 61 20 62 69 74 20 6f 66 20 61 20 68 61 63 6b 20 74 6f .....;;.It.is.a.bit.of.a.hack.to
16ce0 20 75 73 65 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 66 6f 72 20 74 77 6f 20 72 61 74 68 65 72 .use.this.command.for.two.rather
16d00 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 3b 3b 20 70 75 72 70 6f 73 65 73 2e 20 20 42 75 74 .different.....;;.purposes...But
16d20 20 77 65 20 64 6f 20 6e 6f 74 20 77 61 6e 74 20 74 6f 20 72 65 61 64 20 4f 42 4a 45 43 54 20 6f .we.do.not.want.to.read.OBJECT.o
16d40 6e 65 20 6d 6f 72 65 20 74 69 6d 65 2e 0a 20 20 20 20 28 69 66 20 73 63 72 69 70 74 0a 20 20 20 ne.more.time......(if.script....
16d60 20 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 20 20 20 20 20 20 .....(with-temp-buffer..........
16d80 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d .(setq.buffer-file-coding-system
16da0 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d .'utf-8)...........(insert.(form
16dc0 61 74 20 22 73 65 6c 65 63 74 20 25 64 5c 6e 72 65 6d 6f 76 65 2d 74 78 74 5c 6e 73 65 74 2d 74 at."select.%d\nremove-txt\nset-t
16de0 78 74 5c 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 20 20 20 20 xt\n"...........................
16e00 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 (djvu-ref.page.doc)))...........
16e20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 74 65 78 74 20 6f 62 6a 65 63 74 31 20 22 22 29 0a 20 20 (djvu-insert-text.object1."")...
16e40 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 2e 5c 6e 22 29 20 3b 20 73 65 65 20 64 ........(insert."\n.\n").;.see.d
16e60 6a 76 75 73 65 64 20 63 6f 6d 6d 61 6e 64 20 73 65 74 2d 74 78 74 0a 20 20 20 20 20 20 20 20 20 jvused.command.set-txt..........
16e80 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 20 73 63 72 69 70 74 20 74 20 .(write-region.nil.nil.script.t.
16ea0 30 29 29 29 29 29 20 3b 20 61 70 70 65 6e 64 20 74 6f 20 53 43 52 49 50 54 0a 0a 28 64 65 66 75 0))))).;.append.to.SCRIPT..(defu
16ec0 6e 20 64 6a 76 75 2d 74 65 78 74 2d 7a 6f 6e 65 20 28 6f 62 6a 65 63 74 20 64 65 70 74 68 20 7a n.djvu-text-zone.(object.depth.z
16ee0 6f 6e 65 73 29 0a 20 20 22 45 76 61 6c 75 61 74 65 20 5a 4f 4e 45 53 20 66 6f 72 20 74 65 78 74 ones)..."Evaluate.ZONES.for.text
16f00 20 4f 42 4a 45 43 54 20 72 65 63 75 72 73 69 76 65 6c 79 2e 0a 54 68 69 73 20 72 65 61 72 72 61 .OBJECT.recursively..This.rearra
16f20 6e 67 65 73 20 74 68 65 20 74 61 69 6c 20 6f 66 20 4f 42 4a 45 43 54 20 64 65 73 74 72 75 63 74 nges.the.tail.of.OBJECT.destruct
16f40 69 76 65 6c 79 2e 0a 42 72 61 6e 63 68 65 73 20 6f 66 20 4f 42 4a 45 43 54 20 74 68 61 74 20 70 ively..Branches.of.OBJECT.that.p
16f60 6f 69 6e 74 20 74 6f 20 65 6d 70 74 79 20 73 74 72 69 6e 67 73 20 61 72 65 20 72 65 6d 6f 76 65 oint.to.empty.strings.are.remove
16f80 64 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 28 6e 74 68 20 35 20 6f 62 6a 65 63 74 d."...(if.(stringp.(nth.5.object
16fa0 29 29 0a 20 20 20 20 20 20 3b 3b 20 57 65 20 73 65 74 20 5a 4f 4e 45 53 20 6f 6e 6c 79 20 69 66 )).......;;.We.set.ZONES.only.if
16fc0 20 77 65 20 68 61 76 65 20 73 6f 6d 65 74 68 69 6e 67 20 6e 6f 6e 74 72 69 76 69 61 6c 0a 20 20 .we.have.something.nontrivial...
16fe0 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 28 65 71 75 61 6c 20 22 22 20 28 6e 74 68 20 35 ....(cond.((not.(equal."".(nth.5
17000 20 6f 62 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 7a 6f .object)))..............(aset.zo
17020 6e 65 73 20 64 65 70 74 68 20 28 76 65 63 74 6f 72 20 28 6e 74 68 20 31 20 6f 62 6a 65 63 74 29 nes.depth.(vector.(nth.1.object)
17040 20 28 6e 74 68 20 32 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(nth.2.object).................
17060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 33 20 6f 62 .......................(nth.3.ob
17080 6a 65 63 74 29 20 28 6e 74 68 20 34 20 6f 62 6a 65 63 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 ject).(nth.4.object)))).........
170a0 20 20 20 20 28 28 7a 65 72 6f 70 20 64 65 70 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....((zerop.depth)..............
170c0 28 73 65 74 63 64 72 20 6f 62 6a 65 63 74 20 28 6c 69 73 74 20 30 20 30 20 30 20 30 20 22 22 29 (setcdr.object.(list.0.0.0.0."")
170e0 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 64 65 70 74 68 31 20 28 31 2b 20 64 65 70 74 68 29 ))).....(let.((depth1.(1+.depth)
17100 29 0a 20 20 20 20 20 20 20 20 20 20 7a 6f 6e 65 20 72 65 6d 6f 76 65 29 0a 20 20 20 20 20 20 28 )...........zone.remove).......(
17120 61 73 65 74 20 7a 6f 6e 65 73 20 64 65 70 74 68 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 64 6f 6c aset.zones.depth.nil).......(dol
17140 69 73 74 20 28 65 6c 74 20 28 6e 74 68 63 64 72 20 35 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 ist.(elt.(nthcdr.5.object)).....
17160 20 20 20 20 28 61 73 65 74 20 7a 6f 6e 65 73 20 64 65 70 74 68 31 20 6e 69 6c 29 0a 20 20 20 20 ....(aset.zones.depth1.nil).....
17180 20 20 20 20 28 64 6a 76 75 2d 74 65 78 74 2d 7a 6f 6e 65 20 65 6c 74 20 64 65 70 74 68 31 20 7a ....(djvu-text-zone.elt.depth1.z
171a0 6f 6e 65 73 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 7a 6f 6e 65 31 20 28 61 72 65 66 ones).........(let.((zone1.(aref
171c0 20 7a 6f 6e 65 73 20 64 65 70 74 68 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 .zones.depth1)))...........(cond
171e0 20 28 28 6e 6f 74 20 7a 6f 6e 65 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b .((not.zone1)..................;
17200 3b 20 45 4c 54 20 68 61 73 20 6e 6f 20 5a 4f 4e 45 31 20 62 65 63 61 75 73 65 20 69 74 20 70 6f ;.ELT.has.no.ZONE1.because.it.po
17220 69 6e 74 73 20 74 6f 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 ints.to.an.empty.string.........
17240 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 6c 74 20 72 65 6d 6f 76 65 29 29 0a 20 20 20 ..........(push.elt.remove))....
17260 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 65 74 71 20 7a 6f 6e 65 20 28 61 72 65 66 20 7a .............((setq.zone.(aref.z
17280 6f 6e 65 73 20 64 65 70 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 ones.depth))..................(a
172a0 73 65 74 20 7a 6f 6e 65 20 30 20 28 6d 69 6e 20 28 61 72 65 66 20 7a 6f 6e 65 20 30 29 20 28 61 set.zone.0.(min.(aref.zone.0).(a
172c0 72 65 66 20 7a 6f 6e 65 31 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ref.zone1.0)))..................
172e0 28 61 73 65 74 20 7a 6f 6e 65 20 31 20 28 6d 69 6e 20 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 20 (aset.zone.1.(min.(aref.zone.1).
17300 28 61 72 65 66 20 7a 6f 6e 65 31 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (aref.zone1.1)))................
17320 20 20 28 61 73 65 74 20 7a 6f 6e 65 20 32 20 28 6d 61 78 20 28 61 72 65 66 20 7a 6f 6e 65 20 32 ..(aset.zone.2.(max.(aref.zone.2
17340 29 20 28 61 72 65 66 20 7a 6f 6e 65 31 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ).(aref.zone1.2)))..............
17360 20 20 20 20 28 61 73 65 74 20 7a 6f 6e 65 20 33 20 28 6d 61 78 20 28 61 72 65 66 20 7a 6f 6e 65 ....(aset.zone.3.(max.(aref.zone
17380 20 33 29 20 28 61 72 65 66 20 7a 6f 6e 65 31 20 33 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .3).(aref.zone1.3))))...........
173a0 20 20 20 20 20 20 28 74 20 28 61 73 65 74 20 7a 6f 6e 65 73 20 64 65 70 74 68 20 7a 6f 6e 65 31 ......(t.(aset.zones.depth.zone1
173c0 29 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 72 65 6d 6f 76 65 0a 20 20 20 20 20 20 20 20 20 ))))).......(if.remove..........
173e0 20 28 6c 65 74 20 28 28 74 61 69 6c 20 28 6e 74 68 63 64 72 20 34 20 6f 62 6a 65 63 74 29 29 29 .(let.((tail.(nthcdr.4.object)))
17400 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 74 20 72 65 6d 6f 76 65 .............(dolist.(elt.remove
17420 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 64 65 6c 71 27 20 72 65 6d 6f 76 65 )...............;;.`delq'.remove
17440 73 20 61 6c 6c 20 6f 63 63 75 72 65 6e 63 65 73 20 6f 66 20 45 4c 54 20 66 72 6f 6d 20 54 41 49 s.all.occurences.of.ELT.from.TAI
17460 4c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 74 61 69 6c 20 28 64 L................(setcdr.tail.(d
17480 65 6c 71 20 65 6c 74 20 28 63 64 72 20 74 61 69 6c 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 63 elq.elt.(cdr.tail)))))).......(c
174a0 6f 6e 64 20 28 28 73 65 74 71 20 7a 6f 6e 65 20 28 61 72 65 66 20 7a 6f 6e 65 73 20 64 65 70 74 ond.((setq.zone.(aref.zones.dept
174c0 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 6f 62 6a 65 63 74 20 h))..............(setcdr.object.
174e0 28 61 70 70 65 6e 64 20 28 6d 61 70 63 61 72 20 23 27 69 64 65 6e 74 69 74 79 20 7a 6f 6e 65 29 (append.(mapcar.#'identity.zone)
17500 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 ................................
17520 20 20 20 20 20 28 6e 74 68 63 64 72 20 35 20 6f 62 6a 65 63 74 29 29 29 29 0a 20 20 20 20 20 20 .....(nthcdr.5.object)))).......
17540 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 64 65 70 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......((zerop.depth)............
17560 20 20 28 73 65 74 63 64 72 20 6f 62 6a 65 63 74 20 28 6c 69 73 74 20 30 20 30 20 30 20 30 20 22 ..(setcdr.object.(list.0.0.0.0."
17580 22 29 29 29 0a 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 "))).............(t.............
175a0 20 28 73 65 74 63 64 72 20 6f 62 6a 65 63 74 20 6e 69 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 .(setcdr.object.nil))))))..(defu
175c0 6e 20 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 28 62 75 66 66 65 72 29 0a 20 20 n.djvu-script-buffer.(buffer)...
175e0 22 52 65 74 75 72 6e 20 62 75 66 66 65 72 20 66 6f 72 20 64 6a 76 75 20 73 63 72 69 70 74 2e 0a "Return.buffer.for.djvu.script..
17600 74 20 6d 65 61 6e 73 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 20 6e 69 6c 20 6d 65 61 6e t.means.current.buffer,.nil.mean
17620 73 20 60 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 27 2e 22 0a 20 20 28 69 66 20 28 s.`djvu-script-buffer'."...(if.(
17640 65 71 20 74 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 eq.t.buffer).......(current-buff
17660 65 72 29 0a 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 28 6f 72 20 62 er).....(get-buffer-create.(or.b
17680 75 66 66 65 72 20 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 28 64 uffer.djvu-script-buffer))))..(d
176a0 65 66 75 6e 20 64 6a 76 75 2d 74 65 78 74 2d 73 63 72 69 70 74 20 28 26 6f 70 74 69 6f 6e 61 6c efun.djvu-text-script.(&optional
176c0 20 64 6f 63 20 62 75 66 66 65 72 20 70 61 67 65 20 64 69 73 70 6c 61 79 29 0a 20 20 22 43 72 65 .doc.buffer.page.display)..."Cre
176e0 61 74 65 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 20 ate.djvused.script.for.complete.
17700 74 65 78 74 20 6c 61 79 65 72 20 6f 66 20 44 4f 43 20 69 6e 20 42 55 46 46 45 52 2e 0a 49 66 20 text.layer.of.DOC.in.BUFFER..If.
17720 70 72 65 66 69 78 20 50 41 47 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 63 72 65 61 74 65 20 69 6e prefix.PAGE.is.non-nil.create.in
17740 73 74 65 61 64 20 73 63 72 69 70 74 20 66 6f 72 20 6f 6e 6c 79 20 70 61 67 65 20 50 41 47 45 2e stead.script.for.only.page.PAGE.
17760 0a 42 55 46 46 45 52 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 6a 76 75 2d 73 63 72 69 70 74 .BUFFER.defaults.to.`djvu-script
17780 2d 62 75 66 66 65 72 27 2e 20 20 49 66 20 42 55 46 46 45 52 20 69 73 20 74 20 75 73 65 20 63 75 -buffer'...If.BUFFER.is.t.use.cu
177a0 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 0a 59 6f 75 20 63 61 6e 20 65 64 69 74 20 74 68 65 20 rrent.buffer...You.can.edit.the.
177c0 74 65 78 74 20 73 63 72 69 70 74 20 69 6e 20 42 55 46 46 45 52 2e 20 20 41 66 74 65 72 77 61 72 text.script.in.BUFFER...Afterwar
177e0 64 73 20 79 6f 75 20 63 61 6e 20 72 65 2d 61 70 70 6c 79 0a 74 68 69 73 20 73 63 72 69 70 74 20 ds.you.can.re-apply.this.script.
17800 75 73 69 6e 67 20 60 64 6a 76 75 2d 70 72 6f 63 65 73 73 2d 73 63 72 69 70 74 27 2e 20 20 54 68 using.`djvu-process-script'...Th
17820 69 73 20 63 6f 64 65 20 77 69 6c 6c 20 6e 6f 74 20 28 63 61 6e 6e 6f 74 29 20 63 68 65 63 6b 0a is.code.will.not.(cannot).check.
17840 77 68 65 74 68 65 72 20 74 68 65 20 65 64 69 74 65 64 20 73 63 72 69 70 74 20 69 73 20 6d 65 61 whether.the.edited.script.is.mea
17860 6e 69 6e 67 66 75 6c 20 66 6f 72 20 44 4f 43 2e 20 20 55 73 65 20 61 74 20 79 6f 75 72 20 6f 77 ningful.for.DOC...Use.at.your.ow
17880 6e 20 72 69 73 6b 2e 0a 59 6f 75 20 67 65 74 20 77 68 61 74 20 79 6f 75 20 77 61 6e 74 2e 22 0a n.risk..You.get.what.you.want.".
178a0 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 6e 69 6c 20 28 69 66 ..(interactive.(list.nil.nil.(if
178c0 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 28 64 6a 76 75 2d 72 65 66 20 70 61 .current-prefix-arg.(djvu-ref.pa
178e0 67 65 29 29 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 20 28 6f 72 20 64 6f 63 20 64 6a ge)).t))...(let.((doc.(or.doc.dj
17900 76 75 2d 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 20 28 64 6a 76 75 2d 73 vu-doc)).........(buffer.(djvu-s
17920 63 72 69 70 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 64 6a 76 75 cript-buffer.buffer))).....(djvu
17940 2d 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 20 20 3b 3b 20 50 75 74 20 74 68 69 73 20 69 6e 20 -save.doc.t).....;;.Put.this.in.
17960 61 20 73 65 70 61 72 61 74 65 20 62 75 66 66 65 72 21 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 a.separate.buffer!.....(with-cur
17980 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 rent-buffer.buffer.......(let.((
179a0 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 buffer-undo-list.t).............
179c0 28 64 6a 76 75 2d 69 6e 69 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 (djvu-init.t).............buffer
179e0 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 63 72 69 70 74 -read-only).........(djvu-script
17a00 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 -mode).........(erase-buffer)...
17a20 20 20 20 20 20 20 3b 3b 20 41 6c 77 61 79 73 20 63 72 65 61 74 65 20 61 20 73 65 6c 66 2d 63 6f ......;;.Always.create.a.self-co
17a40 6e 74 61 69 6e 65 64 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 2e 0a 20 20 20 20 20 20 20 20 ntained.djvused.script..........
17a60 28 69 66 20 70 61 67 65 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 73 65 6c 65 63 74 (if.page.(insert.(format."select
17a80 20 5c 22 25 73 5c 22 20 23 20 70 61 67 65 20 25 64 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 .\"%s\".#.page.%d\n"............
17aa0 20 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 ......................(cdr.(assq
17ac0 20 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 29 0a 20 .page.(djvu-ref.page-id.doc)))..
17ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17b00 70 61 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 6f page))).........(djvu-djvused.do
17b20 63 20 74 20 22 2d 65 22 20 28 66 6f 72 6d 61 74 20 22 73 65 6c 65 63 74 20 25 73 3b 20 6f 75 74 c.t."-e".(format."select.%s;.out
17b40 70 75 74 2d 74 78 74 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 put-txt;".......................
17b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 70 61 67 65 20 22 22 29 29 ...................(or.page.""))
17b80 29 0a 20 20 20 20 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 ).........(goto-char.(point-min)
17ba0 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 )).......(set-buffer-modified-p.
17bc0 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 nil).......(setq.buffer-undo-lis
17be0 74 20 6e 69 6c 29 29 0a 20 20 20 20 28 69 66 20 64 69 73 70 6c 61 79 20 28 73 77 69 74 63 68 2d t.nil)).....(if.display.(switch-
17c00 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 to-buffer.buffer))))..(defun.djv
17c20 75 2d 70 72 6f 63 65 73 73 2d 73 63 72 69 70 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 u-process-script.(&optional.doc.
17c40 62 75 66 66 65 72 20 6f 62 65 79 2d 72 65 73 74 72 69 63 74 69 6f 6e 73 29 0a 20 20 22 46 6f 72 buffer.obey-restrictions)..."For
17c60 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 20 61 70 70 6c 79 20 74 68 65 20 64 6a 76 .Djvu.document.DOC.apply.the.djv
17c80 75 73 65 64 20 73 63 72 69 70 74 20 69 6e 20 42 55 46 46 45 52 2e 0a 55 73 65 20 61 74 20 79 6f used.script.in.BUFFER..Use.at.yo
17ca0 75 72 20 6f 77 6e 20 72 69 73 6b 2e 20 20 59 6f 75 20 67 65 74 20 77 68 61 74 20 79 6f 75 20 77 ur.own.risk...You.get.what.you.w
17cc0 61 6e 74 2e 20 20 54 68 69 73 20 63 6f 64 65 20 64 6f 65 73 20 6e 6f 74 20 28 63 61 6e 6e 6f 74 ant...This.code.does.not.(cannot
17ce0 29 0a 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 74 68 65 20 73 63 72 69 70 74 20 69 73 20 6d 65 ).check.whether.the.script.is.me
17d00 61 6e 69 6e 67 66 75 6c 2e 20 20 55 6e 6c 65 73 73 20 70 72 65 66 69 78 20 4f 42 45 59 2d 52 45 aningful...Unless.prefix.OBEY-RE
17d20 53 54 52 49 43 54 49 4f 4e 53 0a 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 72 6f 77 20 61 6e 20 STRICTIONS.is.non-nil,.throw.an.
17d40 65 72 72 6f 72 20 69 66 20 42 55 46 46 45 52 20 69 73 20 6e 61 72 72 6f 77 65 64 2e 0a 44 4f 43 error.if.BUFFER.is.narrowed..DOC
17d60 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 44 6a 76 75 20 64 6f .defaults.to.the.current.Djvu.do
17d80 63 75 6d 65 6e 74 2e 0a 42 55 46 46 45 52 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 6a 76 75 cument..BUFFER.defaults.to.`djvu
17da0 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 27 2e 20 20 49 66 20 42 55 46 46 45 52 20 69 73 20 74 -script-buffer'...If.BUFFER.is.t
17dc0 2c 20 75 73 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 ,.use.current.buffer."...(intera
17de0 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 6e 69 6c 20 63 75 72 72 65 6e 74 2d 70 72 65 66 ctive.(list.nil.nil.current-pref
17e00 69 78 2d 61 72 67 29 29 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 20 28 6f 72 20 64 6f 63 20 64 6a ix-arg))...(let.((doc.(or.doc.dj
17e20 76 75 2d 64 6f 63 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 75 73 65 72 2d vu-doc))).....(unless.doc.(user-
17e40 65 72 72 6f 72 20 22 4e 6f 20 44 6a 76 75 20 64 6f 63 22 29 29 0a 20 20 20 20 28 64 6a 76 75 2d error."No.Djvu.doc")).....(djvu-
17e60 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 20 20 28 64 6a 76 75 2d 77 69 74 68 2d 74 65 6d 70 2d save.doc.t).....(djvu-with-temp-
17e80 66 69 6c 65 20 73 63 72 69 70 74 0a 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d file.script.......(with-current-
17ea0 62 75 66 66 65 72 20 28 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 buffer.(djvu-script-buffer.buffe
17ec0 72 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 42 55 46 46 45 52 20 69 73 20 6e 61 72 72 6f r).........;;.If.BUFFER.is.narro
17ee0 77 65 64 2c 20 77 65 20 70 72 6f 63 65 73 73 20 6f 6e 6c 79 20 74 68 69 73 20 70 61 72 74 2e 0a wed,.we.process.only.this.part..
17f00 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 6f 62 65 79 2d 72 65 73 74 72 69 63 ........(unless.(or.obey-restric
17f20 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c tions.....................(equal
17f40 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 20 3b 20 6e 6f 74 20 6e 61 72 72 6f 77 65 .(save-restriction.;.not.narrowe
17f60 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 d..............................(
17f80 77 69 64 65 6e 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 widen)..........................
17fa0 20 20 20 20 28 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 ....(-.(point-max).(point-min)))
17fc0 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 2d 20 28 ............................(-.(
17fe0 70 6f 69 6e 74 2d 6d 61 78 29 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 29 0a 20 20 20 20 20 20 point-max).(point-min)))).......
18000 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 53 63 72 69 70 74 20 62 75 66 66 65 72 20 6e ....(user-error."Script.buffer.n
18020 61 72 72 6f 77 65 64 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 arrowed")).........(let.((buffer
18040 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 20 27 75 74 66 2d 38 29 29 0a 20 20 20 -file-coding-system.'utf-8))....
18060 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 20 73 63 72 .......(write-region.nil.nil.scr
18080 69 70 74 20 6e 69 6c 20 30 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 ipt.nil.0))).......(djvu-djvused
180a0 20 64 6f 63 20 6e 69 6c 20 22 2d 66 22 20 73 63 72 69 70 74 20 22 2d 73 22 29 29 0a 20 20 20 20 .doc.nil."-f".script."-s")).....
180c0 3b 3b 20 52 65 64 69 73 70 6c 61 79 0a 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 70 61 67 65 ;;.Redisplay.....(djvu-init-page
180e0 20 6e 69 6c 20 64 6f 63 29 29 29 0a 0a 3b 3b 3b 20 44 6a 76 75 20 52 65 61 64 20 6d 6f 64 65 0a .nil.doc)))..;;;.Djvu.Read.mode.
18100 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 69 74 2d 72 65 61 64 20 28 6f 62 6a 65 63 74 20 26 .(defun.djvu-init-read.(object.&
18120 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 72 65 73 65 74 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 optional.doc.reset)...(with-curr
18140 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 2d 62 75 66 20 64 6f ent-buffer.(djvu-ref.read-buf.do
18160 63 29 0a 20 20 20 20 28 6c 65 74 20 28 28 64 6a 76 75 2d 72 65 63 74 2d 6c 69 73 74 20 28 64 6a c).....(let.((djvu-rect-list.(dj
18180 76 75 2d 72 65 66 20 72 65 63 74 2d 6c 69 73 74 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 vu-ref.rect-list.doc))..........
181a0 20 28 64 70 6f 73 20 28 75 6e 6c 65 73 73 20 72 65 73 65 74 20 28 64 6a 76 75 2d 72 65 61 64 2d .(dpos.(unless.reset.(djvu-read-
181c0 64 70 6f 73 20 6e 69 6c 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 dpos.nil.doc)))...........buffer
181e0 2d 72 65 61 64 2d 6f 6e 6c 79 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 0a 20 20 20 20 20 -read-only.djvu-last-rect)......
18200 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 .(erase-buffer).......(djvu-inse
18220 72 74 2d 72 65 61 64 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 rt-read.object).......(djvu-inse
18240 72 74 2d 72 65 61 64 2d 70 72 6f 70 29 0a 20 20 20 20 20 20 28 69 66 20 72 65 73 65 74 0a 20 20 rt-read-prop).......(if.reset...
18260 20 20 20 20 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 ........(goto-char.(point-min)).
18280 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 72 65 61 64 20 64 70 6f 73 29 29 29 0a ........(djvu-goto-read.dpos))).
182a0 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 0a ....(set-buffer-modified-p.nil).
182c0 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 ....(setq.buffer-read-only.t)...
182e0 20 20 28 69 66 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 20 28 64 6a 76 75 2d 69 6d 61 67 ..(if.djvu-image-mode.(djvu-imag
18300 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 73 65 72 74 2d 72 65 61 64 20 28 e))))..(defun.djvu-insert-read.(
18320 6f 62 6a 65 63 74 29 0a 20 20 22 44 69 73 70 6c 61 79 20 74 65 78 74 20 4f 42 4a 45 43 54 20 72 object)..."Display.text.OBJECT.r
18340 65 63 75 72 73 69 76 65 6c 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 6f 69 6e 74 20 28 70 6f ecursively."...(let.((opoint.(po
18360 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 28 6e 74 68 63 64 72 20 35 20 6f 62 int)).........(tail.(nthcdr.5.ob
18380 6a 65 63 74 29 29 29 0a 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 28 63 61 72 20 74 61 ject))).....(if.(stringp.(car.ta
183a0 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 28 69 il)).........(progn...........(i
183c0 6e 73 65 72 74 20 28 63 61 72 20 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 50 nsert.(car.tail))...........;;.P
183e0 72 6f 70 65 72 74 69 7a 65 20 74 68 65 20 72 65 61 64 20 62 75 66 66 65 72 20 61 63 63 6f 72 64 ropertize.the.read.buffer.accord
18400 69 6e 67 20 74 6f 20 60 64 6a 76 75 2d 72 65 63 74 2d 6c 69 73 74 27 0a 20 20 20 20 20 20 20 20 ing.to.`djvu-rect-list'.........
18420 20 20 28 69 66 20 64 6a 76 75 2d 72 65 63 74 2d 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 ..(if.djvu-rect-list............
18440 20 20 20 28 6c 65 74 20 28 3b 3b 20 54 72 79 20 6c 61 73 74 20 72 65 63 74 20 66 69 72 73 74 2e ...(let.(;;.Try.last.rect.first.
18460 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 63 74 2d 6c 69 73 74 20 .....................(rect-list.
18480 28 69 66 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (if.djvu-last-rect..............
184a0 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 6e 73 20 28 6e 74 68 ......................(cons.(nth
184c0 63 64 72 20 32 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 20 64 6a 76 75 2d 72 65 63 74 2d cdr.2.djvu-last-rect).djvu-rect-
184e0 6c 69 73 74 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 list)...........................
18500 20 20 20 20 20 20 20 64 6a 76 75 2d 72 65 63 74 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 .......djvu-rect-list)).........
18520 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 65 6e 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 6f ............;;.Center.position.o
18540 66 20 63 75 72 72 65 6e 74 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.current.object................
18560 20 20 20 20 20 28 78 20 28 2f 20 28 2b 20 28 6e 74 68 20 31 20 6f 62 6a 65 63 74 29 20 28 6e 74 .....(x.(/.(+.(nth.1.object).(nt
18580 68 20 33 20 6f 62 6a 65 63 74 29 29 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.3.object)).2))................
185a0 20 20 20 20 20 28 79 20 28 2f 20 28 2b 20 28 6e 74 68 20 32 20 6f 62 6a 65 63 74 29 20 28 6e 74 .....(y.(/.(+.(nth.2.object).(nt
185c0 68 20 34 20 6f 62 6a 65 63 74 29 29 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.4.object)).2))................
185e0 20 20 20 20 20 72 65 63 74 20 63 6f 6f 72 64 73 20 66 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 .....rect.coords.found).........
18600 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 72 65 63 74 20 28 70 6f 70 20 72 ........(while.(setq.rect.(pop.r
18620 65 63 74 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 28 73 65 ect-list))...................(se
18640 74 71 20 63 6f 6f 72 64 73 20 28 63 61 72 20 72 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 tq.coords.(car.rect))...........
18660 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 3c 20 28 6e 74 68 20 30 20 63 6f 6f ........(when.(and.(<.(nth.0.coo
18680 72 64 73 29 20 78 20 28 6e 74 68 20 32 20 63 6f 6f 72 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 rds).x.(nth.2.coords))..........
186a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 6e 74 68 20 31 20 63 6f ....................(<.(nth.1.co
186c0 6f 72 64 73 29 20 79 20 28 6e 74 68 20 33 20 63 6f 6f 72 64 73 29 29 29 0a 20 20 20 20 20 20 20 ords).y.(nth.3.coords)))........
186e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 63 74 2d 6c 69 73 74 20 6e 69 6c .............(setq.rect-list.nil
18700 20 66 6f 75 6e 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .found.t).....................(i
18720 66 20 28 65 71 75 61 6c 20 28 63 64 72 20 72 65 63 74 29 20 28 6e 74 68 63 64 72 20 33 20 64 6a f.(equal.(cdr.rect).(nthcdr.3.dj
18740 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vu-last-rect))..................
18760 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 0a 20 20 20 20 .......(setq.djvu-last-rect.....
18780 20 20 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 6e 73 20 ..........................(cons.
187a0 28 63 61 72 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 20 28 63 6f 6e 73 20 28 70 6f 69 6e (car.djvu-last-rect).(cons.(poin
187c0 74 29 20 72 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t).rect)))......................
187e0 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 72 65 61 64 2d 70 72 6f 70 29 0a 20 20 20 20 20 20 20 .(djvu-insert-read-prop)........
18800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 2d 6c 61 73 74 2d 72 ...............(setq.djvu-last-r
18820 65 63 74 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 ect.............................
18840 28 63 6f 6e 73 20 6f 70 6f 69 6e 74 20 28 63 6f 6e 73 20 28 70 6f 69 6e 74 29 20 72 65 63 74 29 (cons.opoint.(cons.(point).rect)
18860 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 66 6f ))))).................(unless.fo
18880 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 und...................(djvu-inse
188a0 72 74 2d 72 65 61 64 2d 70 72 6f 70 29 29 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 rt-read-prop))))).......(let*.((
188c0 6f 62 6a 20 28 63 61 61 72 20 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 obj.(caar.tail))..............(s
188e0 65 70 20 28 63 6f 6e 64 20 28 28 65 71 20 27 6c 69 6e 65 20 6f 62 6a 29 20 22 5c 6e 22 29 0a 20 ep.(cond.((eq.'line.obj)."\n")..
18900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 27 77 6f 72 .......................((eq.'wor
18920 64 20 6f 62 6a 29 20 22 5c 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.obj)."\s")....................
18940 20 20 20 20 20 28 28 65 71 20 27 63 68 61 72 20 6f 62 6a 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 .....((eq.'char.obj).nil).......
18960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 22 5c 6e 5c 6e 22 29 29 29 0a 20 ..................(t."\n\n")))..
18980 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 74 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 ............elt).........(while.
189a0 28 73 65 74 71 20 65 6c 74 20 28 70 6f 70 20 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 (setq.elt.(pop.tail))...........
189c0 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 72 65 61 64 20 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 (djvu-insert-read.elt)..........
189e0 20 28 69 66 20 28 61 6e 64 20 73 65 70 20 74 61 69 6c 29 20 28 69 6e 73 65 72 74 20 73 65 70 29 .(if.(and.sep.tail).(insert.sep)
18a00 29 29 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 6f 70 6f 69 )))).....(put-text-property.opoi
18a20 6e 74 20 28 70 6f 69 6e 74 29 20 28 63 61 72 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 nt.(point).(car.object).........
18a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 76 65 63 74 6f 72 20 28 6e 74 68 20 31 20 6f 62 ...............(vector.(nth.1.ob
18a60 6a 65 63 74 29 20 28 6e 74 68 20 32 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 ject).(nth.2.object)............
18a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 33 20 6f 62 6a 65 63 ....................(nth.3.objec
18aa0 74 29 20 28 6e 74 68 20 34 20 6f 62 6a 65 63 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a t).(nth.4.object)))))..(defun.dj
18ac0 76 75 2d 69 6e 73 65 72 74 2d 72 65 61 64 2d 70 72 6f 70 20 28 29 0a 20 20 22 50 72 6f 70 65 72 vu-insert-read-prop.()..."Proper
18ae0 74 69 7a 65 20 52 65 61 64 20 62 75 66 66 65 72 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 61 6e tize.Read.buffer.according.to.an
18b00 6e 6f 74 61 74 69 6f 6e 73 2e 22 0a 20 20 28 77 68 65 6e 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 notations."...(when.djvu-last-re
18b20 63 74 0a 20 20 20 20 28 6c 65 74 20 28 28 62 65 67 20 28 6e 74 68 20 30 20 64 6a 76 75 2d 6c 61 ct.....(let.((beg.(nth.0.djvu-la
18b40 73 74 2d 72 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 6e 74 68 20 31 20 st-rect))...........(end.(nth.1.
18b60 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 61 63 65 djvu-last-rect))...........(face
18b80 20 60 28 66 61 63 65 20 28 3a 62 61 63 6b 67 72 6f 75 6e 64 20 2c 28 6e 74 68 20 35 20 64 6a 76 .`(face.(:background.,(nth.5.djv
18ba0 75 2d 6c 61 73 74 2d 72 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 u-last-rect)....................
18bc0 20 20 20 20 20 3b 3b 20 60 6d 61 6b 65 2d 62 75 74 74 6f 6e 27 20 70 75 74 73 20 61 20 60 62 75 .....;;.`make-button'.puts.a.`bu
18be0 74 74 6f 6e 27 20 6f 76 65 72 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tton'.overlay...................
18c00 20 20 20 20 20 20 3b 3b 20 74 68 61 74 20 6f 76 65 72 72 69 64 65 73 20 3a 66 6f 72 65 67 72 6f ......;;.that.overrides.:foregro
18c20 75 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 6f und..........................:fo
18c40 72 65 67 72 6f 75 6e 64 20 2c 28 72 65 61 64 61 62 6c 65 2d 66 6f 72 65 67 72 6f 75 6e 64 2d 63 reground.,(readable-foreground-c
18c60 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olor............................
18c80 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 35 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 ...........(nth.5.djvu-last-rect
18ca0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 6c 70 2d )))........................help-
18cc0 65 63 68 6f 20 2c 28 6e 74 68 20 34 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 29 29 29 0a echo.,(nth.4.djvu-last-rect)))).
18ce0 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 65 71 20 74 20 64 6a 76 75 2d 72 65 61 64 2d 70 72 ......(if.(or.(eq.t.djvu-read-pr
18d00 6f 70 2d 6e 65 77 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 op-newline)...............(and.(
18d20 6e 75 6d 62 65 72 70 20 64 6a 76 75 2d 72 65 61 64 2d 70 72 6f 70 2d 6e 65 77 6c 69 6e 65 29 0a numberp.djvu-read-prop-newline).
18d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 ...................(save-excursi
18d60 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 on......................(goto-ch
18d80 61 72 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 ar.beg)......................(re
18da0 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5c 6e 2b 22 20 65 6e 64 20 74 20 64 6a 76 75 -search-forward."\n+".end.t.djvu
18dc0 2d 72 65 61 64 2d 70 72 6f 70 2d 6e 65 77 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 -read-prop-newline))))..........
18de0 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 66 61 .(add-text-properties.beg.end.fa
18e00 63 65 29 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 ce).........(save-excursion.....
18e20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20 20 20 20 20 20 20 20 ......(goto-char.beg)...........
18e40 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 5b 5e 5c 6e 5d (while.(re-search-forward."[^\n]
18e60 2b 22 20 65 6e 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 74 65 78 74 2d +".end.t).............(add-text-
18e80 70 72 6f 70 65 72 74 69 65 73 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 20 28 properties.(match-beginning.0).(
18ea0 6d 61 74 63 68 2d 65 6e 64 20 30 29 20 66 61 63 65 29 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c match-end.0).face)))).......(unl
18ec0 65 73 73 20 28 65 71 75 61 6c 20 22 22 20 28 6e 74 68 20 33 20 64 6a 76 75 2d 6c 61 73 74 2d 72 ess.(equal."".(nth.3.djvu-last-r
18ee0 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 20 60 6d 61 6b 65 2d 62 75 74 74 6f ect)).........;;.Use.`make-butto
18f00 6e 27 20 69 6e 73 74 65 61 64 20 6f 66 20 60 6d 61 6b 65 2d 74 65 78 74 2d 62 75 74 74 6f 6e 27 n'.instead.of.`make-text-button'
18f20 20 62 65 63 61 75 73 65 20 61 20 66 61 63 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 63 61 6e 20 68 .because.a.face.........;;.can.h
18f40 69 64 65 20 61 20 74 65 78 74 20 62 75 74 74 6f 6e 2e 0a 20 20 20 20 20 20 20 20 28 6d 61 6b 65 ide.a.text.button..........(make
18f60 2d 62 75 74 74 6f 6e 20 62 65 67 20 65 6e 64 20 3a 74 79 70 65 20 27 64 6a 76 75 2d 75 72 6c 0a -button.beg.end.:type.'djvu-url.
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 .....................'help-echo.
18fa0 28 66 6f 72 6d 61 74 20 22 6d 6f 75 73 65 2d 32 2c 20 52 45 54 3a 20 75 72 6c 20 60 25 73 27 25 (format."mouse-2,.RET:.url.`%s'%
18fc0 73 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 20 20 s"..............................
18fe0 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 33 20 64 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 ...........(nth.3.djvu-last-rect
19000 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
19020 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 22 22 20 28 6e 74 68 20 34 20 64 ..........(if.(equal."".(nth.4.d
19040 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 jvu-last-rect)).................
19060 20 20 20 20 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 22 0a 20 ............................""..
19080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
190a0 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 5c 6e 25 73 22 20 28 6e 74 68 20 34 20 64 .........(format."\n%s".(nth.4.d
190c0 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 jvu-last-rect))))...............
190e0 20 20 20 20 20 20 20 27 64 6a 76 75 2d 61 72 67 73 20 28 6c 69 73 74 20 28 6e 74 68 20 33 20 64 .......'djvu-args.(list.(nth.3.d
19100 6a 76 75 2d 6c 61 73 74 2d 72 65 63 74 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 6a 76 jvu-last-rect))))).....(setq.djv
19120 75 2d 6c 61 73 74 2d 72 65 63 74 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d u-last-rect.nil)))..(defun.djvu-
19140 72 65 61 64 2d 64 70 6f 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 69 6e 74 20 64 6f 63 29 0a read-dpos.(&optional.point.doc).
19160 20 20 22 52 65 74 75 72 6e 20 44 6a 76 75 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 50 4f 49 4e 54 .."Return.Djvu.position.of.POINT
19180 20 69 6e 20 44 6a 76 75 20 52 65 61 64 20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 69 73 20 65 69 .in.Djvu.Read.buffer..This.is.ei
191a0 74 68 65 72 20 61 20 6c 69 73 74 20 28 58 4d 49 4e 20 59 4d 49 4e 20 58 4d 41 58 20 59 4d 41 58 ther.a.list.(XMIN.YMIN.XMAX.YMAX
191c0 29 20 6f 72 20 28 58 20 59 29 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 ).or.(X.Y)."...(with-current-buf
191e0 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 fer.(djvu-ref.read-buf.doc).....
19200 28 63 6f 6e 64 20 28 28 61 6e 64 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 0a 20 20 20 20 (cond.((and.djvu-image-mode.....
19220 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 2d 70 6f 73 20 64 ............(djvu-ref.read-pos.d
19240 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 oc)))...........((=.(point-min).
19260 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 41 6e 20 65 6d (point-max))............;;.An.em
19280 70 74 79 20 64 6a 76 75 20 70 61 67 65 20 67 69 76 65 73 20 75 73 20 73 6f 6d 65 74 68 69 6e 67 pty.djvu.page.gives.us.something
192a0 20 6c 69 6b 65 20 28 70 61 67 65 20 30 20 30 20 30 20 30 20 22 22 29 0a 20 20 20 20 20 20 20 20 .like.(page.0.0.0.0."").........
192c0 20 20 20 3b 3b 20 54 61 6b 65 20 74 68 65 20 63 65 6e 74 65 72 20 6f 66 20 61 6e 20 65 6d 70 74 ...;;.Take.the.center.of.an.empt
192e0 79 20 70 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 2f 20 28 63 61 72 20 y.page............(list.(/.(car.
19300 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f 63 29 29 20 32 29 0a 20 20 20 20 (djvu-ref.pagesize.doc)).2).....
19320 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 63 64 72 20 28 64 6a 76 75 2d 72 65 66 20 70 .............(/.(cdr.(djvu-ref.p
19340 61 67 65 73 69 7a 65 20 64 6f 63 29 29 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a agesize.doc)).2)))...........(t.
19360 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 70 6f 69 6e 74 0a 20 20 20 20 20 20 20 ...........(unless.point........
19380 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 69 6e 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 ......(setq.point.(point))).....
193a0 20 20 20 20 20 20 20 3b 3b 20 54 68 69 6e 67 73 20 67 65 74 20 72 61 74 68 65 72 20 63 6f 6d 70 .......;;.Things.get.rather.comp
193c0 6c 69 63 61 74 65 64 20 69 66 20 74 68 65 20 74 65 78 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e licated.if.the.text.does.not.con
193e0 74 61 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 65 70 61 72 61 74 65 20 77 6f 72 64 tain............;;.separate.word
19400 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 s.............(or.(get-text-prop
19420 65 72 74 79 20 70 6f 69 6e 74 20 27 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erty.point.'word)...............
19440 20 28 61 6e 64 20 28 3c 20 31 20 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(and.(<.1.point)...............
19460 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 70 6f 69 ......(get-text-property.(1-.poi
19480 6e 74 29 20 27 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 65 nt).'word))................;;.Se
194a0 61 72 63 68 20 62 61 63 6b 77 61 72 64 20 62 65 63 61 75 73 65 20 6d 6f 72 65 20 6f 66 74 65 6e arch.backward.because.more.often
194c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 6f 69 6e 74 20 69 73 20 61 74 20 74 ................;;.point.is.at.t
194e0 68 65 20 65 6e 64 20 6f 66 20 72 65 67 69 6f 6e 20 77 65 20 6f 70 65 72 61 74 65 64 20 6f 6e 0a he.end.of.region.we.operated.on.
19500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 6f 73 20 28 70 72 65 76 69 ...............(let.((pos.(previ
19520 6f 75 73 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 ous-single-property-change......
19540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 69 6e 74 20 27 77 6f 72 ......................point.'wor
19560 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 70 6f 73 20 28 d)))..................(and.pos.(
19580 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 31 2d 20 70 6f 73 29 20 27 77 6f 72 64 get-text-property.(1-.pos).'word
195a0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 2f 20 28 63 61 72 )))................(list.(/.(car
195c0 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f 63 29 29 20 32 29 0a 20 20 20 .(djvu-ref.pagesize.doc)).2)....
195e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 63 64 72 20 28 64 6a 76 75 2d ..................(/.(cdr.(djvu-
19600 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f 63 29 29 20 32 29 29 29 29 29 29 29 0a 0a 28 64 65 ref.pagesize.doc)).2)))))))..(de
19620 66 75 6e 20 64 6a 76 75 2d 6d 65 61 6e 2d 64 70 6f 73 20 28 64 70 6f 73 29 0a 20 20 22 46 6f 72 fun.djvu-mean-dpos.(dpos)..."For
19640 20 44 6a 76 75 20 70 6f 73 69 74 69 6f 6e 20 44 50 4f 53 20 72 65 74 75 72 6e 20 6d 65 61 6e 20 .Djvu.position.DPOS.return.mean.
19660 63 6f 6f 72 64 69 6e 61 74 65 73 20 28 58 20 59 29 2e 0a 44 50 4f 53 20 69 73 20 61 20 6c 69 73 coordinates.(X.Y)..DPOS.is.a.lis
19680 74 20 6f 72 20 76 65 63 74 6f 72 20 28 58 4d 49 4e 20 59 4d 49 4e 20 58 4d 41 58 20 59 4d 41 58 t.or.vector.(XMIN.YMIN.XMAX.YMAX
196a0 29 2e 22 0a 20 20 28 69 66 20 28 65 6c 74 20 64 70 6f 73 20 32 29 0a 20 20 20 20 20 20 28 6c 69 )."...(if.(elt.dpos.2).......(li
196c0 73 74 20 28 2f 20 28 2b 20 28 65 6c 74 20 64 70 6f 73 20 30 29 20 28 65 6c 74 20 64 70 6f 73 20 st.(/.(+.(elt.dpos.0).(elt.dpos.
196e0 32 29 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 2b 20 28 65 6c 74 20 64 70 2)).2).............(/.(+.(elt.dp
19700 6f 73 20 31 29 20 28 65 6c 74 20 64 70 6f 73 20 33 29 29 20 32 29 29 0a 20 20 20 20 64 70 6f 73 os.1).(elt.dpos.3)).2)).....dpos
19720 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 64 6a 76 75 2d 64 69 73 74 20 28 77 69 64 74 68 20 68 ))..(defsubst.djvu-dist.(width.h
19740 65 69 67 68 74 29 0a 20 20 28 2b 20 28 2a 20 77 69 64 74 68 20 77 69 64 74 68 29 20 28 2a 20 68 eight)...(+.(*.width.width).(*.h
19760 65 69 67 68 74 20 68 65 69 67 68 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 67 6f 74 eight.height)))..(defun.djvu-got
19780 6f 2d 64 70 6f 73 20 28 6f 62 6a 65 63 74 20 64 70 6f 73 29 0a 20 20 22 47 6f 20 74 6f 20 4f 42 o-dpos.(object.dpos)..."Go.to.OB
197a0 4a 45 43 54 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 44 50 4f 53 20 69 6e 20 74 68 65 20 74 65 78 JECT.at.position.DPOS.in.the.tex
197c0 74 20 6f 72 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 62 75 66 66 65 72 2e 0a 49 66 20 66 6f 75 6e 64 t.or.annotation.buffer..If.found
197e0 2c 20 72 65 74 75 72 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 75 66 66 65 72 20 70 6f ,.return.corresponding.buffer.po
19800 73 69 74 69 6f 6e 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 64 6f 20 6e 6f 74 68 69 6e 67 20 61 6e sition..Otherwise,.do.nothing.an
19820 64 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 3b 3b 20 54 68 69 73 20 63 6f 64 65 20 72 65 d.return.nil."...;;.This.code.re
19840 6c 69 65 73 20 6f 6e 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 77 65 20 68 61 76 65 20 61 6c lies.on.the.fact.that.we.have.al
19860 6c 20 63 6f 6f 72 64 69 6e 61 74 65 73 0a 20 20 3b 3b 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 l.coordinates...;;.in.the.format
19880 20 28 78 6d 69 6e 20 79 6d 69 6e 20 78 6d 61 78 20 79 6d 61 78 29 20 69 6e 73 74 65 61 64 20 6f .(xmin.ymin.xmax.ymax).instead.o
198a0 66 20 74 68 65 20 66 6f 72 6d 61 74 0a 20 20 3b 3b 20 28 78 6d 69 6e 20 79 6d 69 6e 20 77 69 64 f.the.format...;;.(xmin.ymin.wid
198c0 74 68 20 68 65 69 67 68 74 29 20 75 73 65 64 20 62 79 20 64 6a 76 75 73 65 64 20 66 6f 72 20 6d th.height).used.by.djvused.for.m
198e0 61 70 61 72 65 61 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 0a 20 20 28 63 6f 6e 64 20 28 28 6e 6f aparea.annotations....(cond.((no
19900 74 20 64 70 6f 73 29 20 6e 69 6c 29 20 3b 20 44 50 4f 53 20 69 73 20 6e 69 6c 2c 20 64 6f 20 6e t.dpos).nil).;.DPOS.is.nil,.do.n
19920 6f 74 68 69 6e 67 2c 20 72 65 74 75 72 6e 20 6e 69 6c 0a 0a 20 20 20 20 20 20 20 20 28 28 65 6c othing,.return.nil..........((el
19940 74 20 64 70 6f 73 20 32 29 20 3b 20 44 50 4f 53 20 69 73 20 61 20 6c 69 73 74 20 6f 72 20 76 65 t.dpos.2).;.DPOS.is.a.list.or.ve
19960 63 74 6f 72 20 28 58 4d 49 4e 20 59 4d 49 4e 20 58 4d 41 58 20 59 4d 41 58 29 0a 20 20 20 20 20 ctor.(XMIN.YMIN.XMAX.YMAX)......
19980 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)).....
199a0 20 20 20 20 20 28 6f 72 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 28 66 6f 72 .....(or.(re-search-forward.(for
199c0 6d 61 74 20 22 5c 5c 3c 25 73 5c 5c 3e 5b 20 5c 74 5c 6e 5d 2b 25 73 5c 5c 28 5b 20 5c 74 5c 6e mat."\\<%s\\>[.\t\n]+%s\\([.\t\n
199e0 5d 2b 5c 22 5c 5c 29 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ]+\"\\)?".......................
19a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 ..................object........
19a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19a40 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 64 .(mapconcat.#'number-to-string.d
19a60 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pos.............................
19a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5b 20 5c 74 5c 6e 5d 2b ......................."[.\t\n]+
19aa0 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")).............................
19ac0 20 20 20 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 72 79 20 61 ....nil.t)..............;;.try.a
19ae0 67 61 69 6e 2c 20 75 73 69 6e 67 20 74 68 65 20 6d 65 61 6e 20 76 61 6c 75 65 20 6f 66 20 44 50 gain,.using.the.mean.value.of.DP
19b00 4f 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f 73 20 OS..............(djvu-goto-dpos.
19b20 6f 62 6a 65 63 74 20 28 64 6a 76 75 2d 6d 65 61 6e 2d 64 70 6f 73 20 64 70 6f 73 29 29 29 29 0a object.(djvu-mean-dpos.dpos)))).
19b40 0a 20 20 20 20 20 20 20 20 28 74 20 3b 20 44 50 4f 53 20 69 73 20 61 20 6c 69 73 74 20 28 58 20 .........(t.;.DPOS.is.a.list.(X.
19b60 59 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f 6f 6b 20 66 6f 72 20 4f 42 4a 45 43 54 20 77 Y)..........;;.Look.for.OBJECT.w
19b80 69 74 68 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 2d 20 44 50 4f 53 20 69 6e ith.either..........;;.-.DPOS.in
19ba0 73 69 64 65 20 4f 42 4a 45 43 54 20 2d 3e 20 65 78 61 63 74 20 6d 61 74 63 68 0a 20 20 20 20 20 side.OBJECT.->.exact.match......
19bc0 20 20 20 20 3b 3b 20 2d 20 4f 42 4a 45 43 54 20 6e 65 61 72 65 73 74 20 74 6f 20 44 50 4f 53 20 ....;;.-.OBJECT.nearest.to.DPOS.
19be0 2d 3e 20 61 70 70 72 6f 78 69 6d 61 74 65 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 3b 3b ->.approximate.match..........;;
19c00 20 54 68 65 20 6c 61 74 74 65 72 20 61 6c 77 61 79 73 20 73 75 63 63 65 65 64 73 2e 0a 20 20 20 .The.latter.always.succeeds.....
19c20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 72 65 20 28 66 6f 72 6d 61 74 20 22 5c 5c 3c 25 73 5c ......(let*.((re.(format."\\<%s\
19c40 5c 3e 5b 20 5c 74 5c 6e 5d 2b 25 73 5c 5c 28 5b 20 5c 74 5c 6e 5d 2b 5c 22 5c 5c 29 3f 22 0a 20 \>[.\t\n]+%s\\([.\t\n]+\"\\)?"..
19c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 ...........................objec
19c80 74 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 28 6d t.............................(m
19ca0 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 apconcat.#'identity.............
19cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 ...........................(make
19ce0 2d 6c 69 73 74 20 34 20 22 5c 5c 28 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 22 29 0a 20 20 -list.4."\\([[:digit:]]+\\)")...
19d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19d20 20 20 20 20 20 22 5b 20 5c 74 5c 6e 5d 2b 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....."[.\t\n]+")))..............
19d40 20 20 20 28 78 20 28 6e 74 68 20 30 20 64 70 6f 73 29 29 20 28 79 20 28 6e 74 68 20 31 20 64 70 ...(x.(nth.0.dpos)).(y.(nth.1.dp
19d60 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 32 20 28 2d 20 28 2a 20 32 os)).................(x2.(-.(*.2
19d80 20 78 29 29 29 20 28 79 32 20 28 2d 20 28 2a 20 32 20 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 .x))).(y2.(-.(*.2.y)))..........
19da0 20 20 20 20 20 20 20 28 67 6f 6f 64 2d 64 69 73 74 20 28 2a 20 34 20 28 64 6a 76 75 2d 64 69 73 .......(good-dist.(*.4.(djvu-dis
19dc0 74 20 28 63 61 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 29 29 0a 20 20 20 20 t.(car.(djvu-ref.pagesize)).....
19de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19e00 20 20 20 20 20 20 20 28 63 64 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 29 29 .......(cdr.(djvu-ref.pagesize))
19e20 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 6f 64 2d 70 6e 74 20 28 70 ))).................(good-pnt.(p
19e40 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6e 74 20 64 oint-min)).................pnt.d
19e60 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e ist)............(goto-char.(poin
19e80 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 t-min))............(while.(and.(
19ea0 6e 6f 74 20 28 7a 65 72 6f 70 20 67 6f 6f 64 2d 64 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 not.(zerop.good-dist))..........
19ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6e 74 20 28 72 65 2d 73 65 61 72 ..............(setq.pnt.(re-sear
19ee0 63 68 2d 66 6f 72 77 61 72 64 20 72 65 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 ch-forward.re.nil.t)))..........
19f00 20 20 20 20 28 6c 65 74 20 28 28 78 6d 69 6e 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 ....(let.((xmin.(djvu-match-numb
19f20 65 72 20 31 29 29 20 28 79 6d 69 6e 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 er.1)).(ymin.(djvu-match-number.
19f40 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 61 78 20 28 64 6a 2))....................(xmax.(dj
19f60 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 33 29 29 20 28 79 6d 61 78 20 28 64 6a 76 75 2d vu-match-number.3)).(ymax.(djvu-
19f80 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 34 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 match-number.4)))...............
19fa0 20 28 69 66 20 28 61 6e 64 20 28 3c 3d 20 78 6d 69 6e 20 78 20 78 6d 61 78 29 20 28 3c 3d 20 79 .(if.(and.(<=.xmin.x.xmax).(<=.y
19fc0 6d 69 6e 20 79 20 79 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 min.y.ymax))....................
19fe0 28 73 65 74 71 20 67 6f 6f 64 2d 64 69 73 74 20 30 20 67 6f 6f 64 2d 70 6e 74 20 70 6e 74 29 20 (setq.good-dist.0.good-pnt.pnt).
1a000 3b 20 65 78 61 63 74 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ;.exact.match..................(
1a020 73 65 74 71 20 64 69 73 74 20 28 64 6a 76 75 2d 64 69 73 74 20 28 2b 20 78 6d 69 6e 20 78 6d 61 setq.dist.(djvu-dist.(+.xmin.xma
1a040 78 20 78 32 29 20 28 2b 20 79 6d 69 6e 20 79 6d 61 78 20 79 32 29 29 29 0a 20 20 20 20 20 20 20 x.x2).(+.ymin.ymax.y2)))........
1a060 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 64 69 73 74 20 67 6f 6f 64 2d 64 69 73 74 29 ..........(if.(<.dist.good-dist)
1a080 0a 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 71 20 67 6f 6f 64 ......................(setq.good
1a0a0 2d 70 6e 74 20 70 6e 74 20 67 6f 6f 64 2d 64 69 73 74 20 64 69 73 74 29 29 29 29 29 20 3b 20 61 -pnt.pnt.good-dist.dist))))).;.a
1a0c0 70 70 72 6f 78 69 6d 61 74 65 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 pproximate.match............(got
1a0e0 6f 2d 63 68 61 72 20 67 6f 6f 64 2d 70 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 o-char.good-pnt)............(if.
1a100 28 2f 3d 20 67 6f 6f 64 2d 70 6e 74 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 20 67 6f 6f 64 2d 70 (/=.good-pnt.(point-min)).good-p
1a120 6e 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 67 6f 74 6f 2d 72 65 61 64 20 28 nt)))))..(defun.djvu-goto-read.(
1a140 26 6f 70 74 69 6f 6e 61 6c 20 64 70 6f 73 29 0a 20 20 22 47 6f 20 74 6f 20 62 75 66 66 65 72 20 &optional.dpos)..."Go.to.buffer.
1a160 70 6f 73 69 74 69 6f 6e 20 69 6e 20 52 65 61 64 20 62 75 66 66 65 72 20 63 6f 72 72 65 73 70 6f position.in.Read.buffer.correspo
1a180 6e 64 69 6e 67 20 74 6f 20 44 6a 76 75 20 70 6f 73 69 74 69 6f 6e 20 44 50 4f 53 2e 0a 52 65 74 nding.to.Djvu.position.DPOS..Ret
1a1a0 75 72 6e 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f urn.corresponding.buffer.positio
1a1c0 6e 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 n."...(with-current-buffer.(djvu
1a1e0 2d 72 65 66 20 72 65 61 64 2d 62 75 66 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 64 6a 76 75 2d 69 -ref.read-buf).....(cond.(djvu-i
1a200 6d 61 67 65 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 72 mage-mode............(djvu-set.r
1a220 65 61 64 2d 70 6f 73 20 64 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d ead-pos.dpos)............(point-
1a240 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 64 70 6f 73 29 20 6e 69 6c 29 min))...........((not.dpos).nil)
1a260 20 3b 20 44 50 4f 53 20 69 73 20 6e 69 6c 2c 20 64 6f 20 6e 6f 74 68 69 6e 67 2c 20 72 65 74 75 .;.DPOS.is.nil,.do.nothing,.retu
1a280 72 6e 20 6e 69 6c 0a 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 6c 74 20 64 70 6f 73 20 32 29 20 rn.nil............((elt.dpos.2).
1a2a0 3b 20 44 50 4f 53 20 69 73 20 61 20 6c 69 73 74 20 6f 72 20 76 65 63 74 6f 72 20 28 58 4d 49 4e ;.DPOS.is.a.list.or.vector.(XMIN
1a2c0 20 59 4d 49 4e 20 58 4d 41 58 20 59 4d 41 58 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 47 .YMIN.XMAX.YMAX)............;;.G
1a2e0 6f 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 o.to.the.buffer.position.of.the.
1a300 66 69 72 73 74 20 77 6f 72 64 20 69 6e 73 69 64 65 20 44 50 4f 53 2e 0a 20 20 20 20 20 20 20 20 first.word.inside.DPOS..........
1a320 20 20 20 28 6c 65 74 20 28 28 70 6e 74 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 ...(let.((pnt.(point-min))......
1a340 20 20 20 20 20 20 20 20 20 20 20 20 28 78 6d 69 6e 20 28 65 6c 74 20 64 70 6f 73 20 30 29 29 20 ............(xmin.(elt.dpos.0)).
1a360 28 79 6d 69 6e 20 28 65 6c 74 20 64 70 6f 73 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (ymin.(elt.dpos.1)).............
1a380 20 20 20 20 20 28 78 6d 61 78 20 28 65 6c 74 20 64 70 6f 73 20 32 29 29 20 28 79 6d 61 78 20 28 .....(xmax.(elt.dpos.2)).(ymax.(
1a3a0 65 6c 74 20 64 70 6f 73 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f elt.dpos.3))..................wo
1a3c0 72 64 20 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 rd.done)..............(goto-char
1a3e0 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c .(point-min))..............(whil
1a400 65 20 28 70 72 6f 67 6e 20 3b 20 44 6f 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 e.(progn.;.Do.while.............
1a420 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 ..........(setq.done............
1a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 65 74 71 20 77 6f 72 64 .................(and.(setq.word
1a460 20 28 64 6a 76 75 2d 6d 65 61 6e 2d 64 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(djvu-mean-dpos................
1a480 20 20 20 20 20 20 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 67 ..............................(g
1a4a0 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6e 74 20 27 77 6f 72 64 29 29 29 0a 20 20 et-text-property.pnt.'word)))...
1a4c0 20 20 20 20 20 20 20 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 ...............................(
1a4e0 3c 3d 20 78 6d 69 6e 20 28 6e 74 68 20 30 20 77 6f 72 64 29 20 78 6d 61 78 29 0a 20 20 20 20 20 <=.xmin.(nth.0.word).xmax)......
1a500 20 20 20 20 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 3c 3d 20 ............................(<=.
1a520 79 6d 69 6e 20 28 6e 74 68 20 31 20 77 6f 72 64 29 20 79 6d 61 78 29 29 29 0a 20 20 20 20 20 20 ymin.(nth.1.word).ymax))).......
1a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 64 6f 6e 65 29 0a ................(and.(not.done).
1a560 20 20 20 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 71 ...........................(setq
1a580 20 70 6e 74 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 61 6e 67 .pnt.(next-single-property-chang
1a5a0 65 20 70 6e 74 20 27 77 6f 72 64 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 e.pnt.'word)))))..............(i
1a5c0 66 20 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 f.done..................(goto-ch
1a5e0 61 72 20 70 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 72 79 20 61 67 ar.pnt)................;;.try.ag
1a600 61 69 6e 2c 20 75 73 69 6e 67 20 74 68 65 20 6d 65 61 6e 20 76 61 6c 75 65 20 6f 66 20 44 50 4f ain,.using.the.mean.value.of.DPO
1a620 53 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 72 65 61 64 S................(djvu-goto-read
1a640 20 28 64 6a 76 75 2d 6d 65 61 6e 2d 64 70 6f 73 20 64 70 6f 73 29 29 29 29 29 0a 0a 20 20 20 20 .(djvu-mean-dpos.dpos)))))......
1a660 20 20 20 20 20 20 28 74 20 3b 20 44 50 4f 53 20 69 73 20 61 20 6c 69 73 74 20 28 58 20 59 29 0a ......(t.;.DPOS.is.a.list.(X.Y).
1a680 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f 6f 6b 20 66 6f 72 20 77 6f 72 64 20 77 69 74 68 ...........;;.Look.for.word.with
1a6a0 20 65 69 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 2d 20 44 50 4f 53 20 69 6e 73 .either............;;.-.DPOS.ins
1a6c0 69 64 65 20 77 6f 72 64 20 2d 3e 20 65 78 61 63 74 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 ide.word.->.exact.match.........
1a6e0 20 20 20 3b 3b 20 2d 20 77 6f 72 64 20 6e 65 61 72 65 73 74 20 74 6f 20 44 50 4f 53 20 2d 3e 20 ...;;.-.word.nearest.to.DPOS.->.
1a700 61 70 70 72 6f 78 69 6d 61 74 65 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 approximate.match............;;.
1a720 54 68 65 20 6c 61 74 74 65 72 20 61 6c 77 61 79 73 20 73 75 63 63 65 65 64 73 2e 0a 20 20 20 20 The.latter.always.succeeds......
1a740 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 78 20 28 6e 74 68 20 30 20 64 70 6f 73 29 29 20 28 .......(let*.((x.(nth.0.dpos)).(
1a760 79 20 28 6e 74 68 20 31 20 64 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.(nth.1.dpos)).................
1a780 20 20 28 78 32 20 28 2d 20 28 2a 20 32 20 78 29 29 29 20 28 79 32 20 28 2d 20 28 2a 20 32 20 79 ..(x2.(-.(*.2.x))).(y2.(-.(*.2.y
1a7a0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 6f 64 2d 64 69 73 74 )))...................(good-dist
1a7c0 20 28 2a 20 34 20 28 64 6a 76 75 2d 64 69 73 74 20 28 63 61 72 20 28 64 6a 76 75 2d 72 65 66 20 .(*.4.(djvu-dist.(car.(djvu-ref.
1a7e0 70 61 67 65 73 69 7a 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 pagesize))......................
1a800 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 64 72 20 28 64 6a ........................(cdr.(dj
1a820 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 vu-ref.pagesize)))))............
1a840 20 20 20 20 20 20 20 28 70 6e 74 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 20 28 67 6f 6f 64 2d 70 .......(pnt.(point-min)).(good-p
1a860 6e 74 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt.(point-min)).................
1a880 20 20 77 6f 72 64 20 64 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d ..word.dist)..............(goto-
1a8a0 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 20 20 20 20 28 char.(point-min))..............(
1a8c0 77 68 69 6c 65 20 28 70 72 6f 67 6e 20 3b 20 44 6f 20 77 68 69 6c 65 0a 20 20 20 20 20 20 20 20 while.(progn.;.Do.while.........
1a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 65 74 71 20 77 6f 72 64 20 28 ..............(when.(setq.word.(
1a900 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6e 74 20 27 77 6f 72 64 29 29 0a 20 20 get-text-property.pnt.'word))...
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 ......................(if.(and.(
1a940 3c 3d 20 28 61 72 65 66 20 77 6f 72 64 20 30 29 20 78 20 28 61 72 65 66 20 77 6f 72 64 20 32 29 <=.(aref.word.0).x.(aref.word.2)
1a960 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
1a980 20 20 20 28 3c 3d 20 28 61 72 65 66 20 77 6f 72 64 20 31 29 20 79 20 28 61 72 65 66 20 77 6f 72 ...(<=.(aref.word.1).y.(aref.wor
1a9a0 64 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.3)))..........................
1a9c0 20 20 20 28 73 65 74 71 20 67 6f 6f 64 2d 64 69 73 74 20 30 20 67 6f 6f 64 2d 70 6e 74 20 70 6e ...(setq.good-dist.0.good-pnt.pn
1a9e0 74 29 20 3b 20 65 78 61 63 74 20 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t).;.exact.match................
1aa00 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 69 73 74 20 28 64 6a 76 75 2d 64 69 73 74 ...........(setq.dist.(djvu-dist
1aa20 20 28 2b 20 28 61 72 65 66 20 77 6f 72 64 20 30 29 20 28 61 72 65 66 20 77 6f 72 64 20 32 29 20 .(+.(aref.word.0).(aref.word.2).
1aa40 78 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x2).............................
1aa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 61 72 65 66 20 77 6f 72 ....................(+.(aref.wor
1aa80 64 20 31 29 20 28 61 72 65 66 20 77 6f 72 64 20 33 29 20 79 32 29 29 29 0a 20 20 20 20 20 20 20 d.1).(aref.word.3).y2)))........
1aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 64 69 73 74 20 67 ...................(if.(<.dist.g
1aac0 6f 6f 64 2d 64 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ood-dist).......................
1aae0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 67 6f 6f 64 2d 70 6e 74 20 70 6e 74 20 67 6f 6f 64 2d ........(setq.good-pnt.pnt.good-
1ab00 64 69 73 74 20 64 69 73 74 29 29 29 29 20 3b 20 61 70 70 72 6f 78 69 6d 61 74 65 20 6d 61 74 63 dist.dist)))).;.approximate.matc
1ab20 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f h.......................(and.(no
1ab40 74 20 28 7a 65 72 6f 70 20 67 6f 6f 64 2d 64 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 t.(zerop.good-dist))............
1ab60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6e 74 20 28 6e 65 78 74 2d ................(setq.pnt.(next-
1ab80 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6e 74 20 27 77 6f 72 64 single-property-change.pnt.'word
1aba0 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 67 6f )))))..............(goto-char.go
1abc0 6f 64 2d 70 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 2f 3d 20 67 6f 6f od-pnt)..............(if.(/=.goo
1abe0 64 2d 70 6e 74 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 20 67 6f 6f 64 2d 70 6e 74 29 29 29 29 29 d-pnt.(point-min)).good-pnt)))))
1ac00 29 0a 0a 3b 3b 3b 20 44 6a 76 75 20 41 6e 6e 6f 74 61 74 69 6f 6e 20 6d 6f 64 65 0a 0a 28 64 65 )..;;;.Djvu.Annotation.mode..(de
1ac20 66 75 6e 20 64 6a 76 75 2d 69 6e 69 74 2d 61 6e 6e 6f 74 20 28 62 75 66 20 64 6f 63 20 26 6f 70 fun.djvu-init-annot.(buf.doc.&op
1ac40 74 69 6f 6e 61 6c 20 73 68 61 72 65 64 29 0a 20 20 22 49 6e 69 74 69 61 6c 69 7a 65 20 41 6e 6e tional.shared)..."Initialize.Ann
1ac60 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 65 72 20 42 55 46 20 6f 66 20 44 6a 76 75 20 64 6f 63 75 otations.buffer.BUF.of.Djvu.docu
1ac80 6d 65 6e 74 20 44 4f 43 2e 0a 53 48 41 52 45 44 20 73 68 6f 75 6c 64 20 62 65 20 6e 6f 6e 2d 6e ment.DOC..SHARED.should.be.non-n
1aca0 69 6c 20 66 6f 72 20 61 20 53 68 61 72 65 64 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 il.for.a.Shared.Annotations.buff
1acc0 65 72 2e 22 0a 20 20 28 64 6a 76 75 2d 63 6f 6e 76 65 72 74 2d 68 61 73 68 29 0a 20 20 28 67 6f er."...(djvu-convert-hash)...(go
1ace0 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 28 6c 65 74 20 28 6f 62 6a to-char.(point-min))...(let.(obj
1ad00 65 63 74 20 61 6c 69 73 74 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 70 72 6f 67 6e 20 28 73 6b ect.alist).....(while.(progn.(sk
1ad20 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 20 28 6e 6f 74 20 28 ip-chars-forward.".\t\n").(not.(
1ad40 65 6f 62 70 29 29 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 eobp))).......(beginning-of-line
1ad60 29 0a 20 20 20 20 20 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 64 6a 76 75 2d 62 65 67 ).......(if.(looking-at.djvu-beg
1ad80 2d 6f 62 6a 65 63 74 2d 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 72 65 61 -object-re)...........(push.(rea
1ada0 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 d.(current-buffer)).object).....
1adc0 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e 6f 77 6e 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 60 ....(error."Unknown.annotation.`
1ade0 25 73 27 22 20 28 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 %s'".(buffer-substring-no-proper
1ae00 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ties............................
1ae20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 20 28 6c 69 6e 65 2d 65 6e 64 ...............(point).(line-end
1ae40 2d 70 6f 73 69 74 69 6f 6e 29 29 29 29 29 0a 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 74 -position)))))......(dolist.(elt
1ae60 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 65 71 20 27 6d 61 70 .object).......(if.(not.(eq.'map
1ae80 61 72 65 61 20 28 63 61 72 20 65 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 area.(car.elt)))...........(push
1aea0 20 65 6c 74 20 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 54 6f 20 73 69 6d 70 6c 69 .elt.alist).........;;.To.simpli
1aec0 66 79 20 74 68 65 20 65 64 69 74 69 6e 67 20 6f 66 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2c 20 69 fy.the.editing.of.annotations,.i
1aee0 64 65 6e 74 69 66 79 20 72 65 63 74 20 6d 61 70 61 72 65 61 73 0a 20 20 20 20 20 20 20 20 3b 3b dentify.rect.mapareas.........;;
1af00 20 73 68 61 72 69 6e 67 20 74 68 65 20 73 61 6d 65 20 74 65 78 74 20 73 74 72 69 6e 67 2e 0a 20 .sharing.the.same.text.string...
1af20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 27 72 65 63 74 20 28 63 61 72 20 28 6e 74 .......(cond.((eq.'rect.(car.(nt
1af40 68 20 33 20 65 6c 74 29 29 29 20 3b 20 72 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.3.elt))).;.rect...............
1af60 20 28 6c 65 74 20 28 28 61 72 65 61 20 28 64 6a 76 75 2d 61 72 65 61 20 28 6e 74 68 20 33 20 65 .(let.((area.(djvu-area.(nth.3.e
1af80 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 29 0a 20 20 lt)))......................e)...
1afa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 61 72 65 61 20 64 65 ...............;;.Remove.area.de
1afc0 73 74 72 75 63 74 69 76 65 6c 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 structively...................(s
1afe0 65 74 63 64 72 20 28 6e 74 68 63 64 72 20 32 20 65 6c 74 29 20 28 6e 74 68 63 64 72 20 34 20 65 etcdr.(nthcdr.2.elt).(nthcdr.4.e
1b000 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 6e 65 77 lt))..................;;.The.new
1b020 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 6c 69 73 74 20 61 72 65 20 63 6f 6e 73 20 63 65 6c 6c .elements.of.alist.are.cons.cell
1b040 73 2c 20 77 68 65 72 65 20 74 68 65 20 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s,.where.the.car................
1b060 20 20 3b 3b 20 69 73 20 74 68 65 20 6d 61 70 61 72 65 61 20 77 69 74 68 6f 75 74 20 61 72 65 61 ..;;.is.the.maparea.without.area
1b080 2c 20 61 6e 64 20 74 68 65 20 63 64 72 20 69 73 20 74 68 65 20 6c 69 73 74 0a 20 20 20 20 20 20 ,.and.the.cdr.is.the.list.......
1b0a0 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 66 20 61 72 65 61 73 2e 20 20 45 76 65 6e 20 69 66 ...........;;.of.areas...Even.if
1b0c0 20 77 65 20 68 61 76 65 20 6a 75 73 74 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 0a 20 .we.have.just.an.empty.string,..
1b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 65 20 73 74 69 6c 6c 20 77 61 6e 74 ................;;.we.still.want
1b100 20 74 6f 20 6d 61 73 73 61 67 65 20 74 68 65 20 61 72 65 61 2e 0a 20 20 20 20 20 20 20 20 20 20 .to.massage.the.area............
1b120 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 73 74 72 69 6e 67 3d 20 22 22 20 28 6e 74 68 20 .......(if.(or.(string=."".(nth.
1b140 32 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2.elt)).........................
1b160 20 28 6e 6f 74 20 28 73 65 74 71 20 65 20 28 61 73 73 6f 63 20 65 6c 74 20 61 6c 69 73 74 29 29 .(not.(setq.e.(assoc.elt.alist))
1b180 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 ))......................(push.(c
1b1a0 6f 6e 73 20 65 6c 74 20 28 6c 69 73 74 20 61 72 65 61 29 29 20 61 6c 69 73 74 29 0a 20 20 20 20 ons.elt.(list.area)).alist).....
1b1c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 65 20 28 63 6f 6e 73 20 61 ...............(setcdr.e.(cons.a
1b1e0 72 65 61 20 28 63 64 72 20 65 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 rea.(cdr.e))))))...............(
1b200 28 6d 65 6d 71 20 28 63 61 72 20 28 6e 74 68 20 33 20 65 6c 74 29 29 20 27 28 74 65 78 74 20 6f (memq.(car.(nth.3.elt)).'(text.o
1b220 76 61 6c 29 29 20 3b 20 6d 61 70 61 72 65 61 73 20 74 65 78 74 2c 20 6f 76 61 6c 0a 20 20 20 20 val)).;.mapareas.text,.oval.....
1b240 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 20 28 6e 74 68 63 64 72 20 33 20 65 6c 74 ...........(setcar.(nthcdr.3.elt
1b260 29 20 28 64 6a 76 75 2d 61 72 65 61 20 28 6e 74 68 20 33 20 65 6c 74 29 29 29 0a 20 20 20 20 20 ).(djvu-area.(nth.3.elt)))......
1b280 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 65 6c 74 20 61 6c 69 73 74 29 29 0a 20 20 20 20 ..........(push.elt.alist)).....
1b2a0 20 20 20 20 20 20 20 20 20 20 28 74 20 28 70 75 73 68 20 65 6c 74 20 61 6c 69 73 74 29 29 29 29 ..........(t.(push.elt.alist))))
1b2c0 29 0a 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 73 68 61 72 65 64 0a 20 20 20 20 20 20 28 6c 65 74 )......(unless.shared.......(let
1b2e0 20 28 28 69 64 20 30 29 20 72 65 63 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c .((id.0).rect-list).........(dol
1b300 69 73 74 20 28 65 6c 74 20 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 ist.(elt.alist)...........(when.
1b320 28 63 6f 6e 73 70 20 28 63 61 72 20 65 6c 74 29 29 20 3b 20 6d 61 70 61 72 65 61 20 72 65 63 74 (consp.(car.elt)).;.maparea.rect
1b340 20 61 6e 64 20 6f 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 64 20 28 .and.oval.............(setq.id.(
1b360 31 2b 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 64 6a 76 75 2d 1+.id)).............(push.(djvu-
1b380 72 65 63 74 2d 65 6c 74 20 65 6c 74 20 69 64 29 20 72 65 63 74 2d 6c 69 73 74 29 29 29 0a 20 20 rect-elt.elt.id).rect-list)))...
1b3a0 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 72 65 63 74 2d 6c 69 73 74 20 28 61 70 70 6c 79 ......(djvu-set.rect-list.(apply
1b3c0 20 27 6e 63 6f 6e 63 20 72 65 63 74 2d 6c 69 73 74 29 20 64 6f 63 29 29 29 0a 0a 20 20 20 20 3b .'nconc.rect-list).doc)))......;
1b3e0 3b 20 50 72 65 74 74 79 20 70 72 69 6e 74 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 0a 20 20 20 20 ;.Pretty.print.annotations......
1b400 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 28 (with-current-buffer.buf.......(
1b420 6c 65 74 20 28 28 73 74 61 6e 64 61 72 64 2d 6f 75 74 70 75 74 20 28 63 75 72 72 65 6e 74 2d 62 let.((standard-output.(current-b
1b440 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d uffer)).............buffer-read-
1b460 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 only).........(erase-buffer)....
1b480 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 74 20 61 6c 69 73 74 29 0a 20 20 20 20 20 20 20 .....(dolist.(elt.alist)........
1b4a0 20 20 20 28 63 6f 6e 64 20 28 28 63 6f 6e 73 70 20 28 63 61 72 20 65 6c 74 29 29 20 3b 20 6d 61 ...(cond.((consp.(car.elt)).;.ma
1b4c0 70 61 72 65 61 20 77 69 74 68 20 6c 69 73 74 20 6f 66 20 61 72 65 61 73 0a 20 20 20 20 20 20 20 parea.with.list.of.areas........
1b4e0 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 20 28 63 61 72 20 65 6c 74 29 29 29 0a 20 ..........(let.((c.(car.elt)))..
1b500 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 20 28 66 6f 72 6d 61 ..................(insert.(forma
1b520 74 20 22 28 6d 61 70 61 72 65 61 20 25 53 5c 6e 20 25 53 5c 6e 20 28 22 0a 20 20 20 20 20 20 20 t."(maparea.%S\n.%S\n.("........
1b540 20 20 20 20 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 64 6a 76 ............................(djv
1b560 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 20 28 6e 74 68 20 31 20 63 29 20 64 6f 63 29 20 28 6e 74 u-resolve-url.(nth.1.c).doc).(nt
1b580 68 20 32 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.2.c)).........................
1b5a0 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 ...(mapconcat.#'prin1-to-string.
1b5c0 28 63 64 72 20 65 6c 74 29 20 22 5c 6e 20 20 22 29 20 22 29 5c 6e 20 22 20 3b 20 72 65 63 74 20 (cdr.elt)."\n..").")\n.".;.rect.
1b5e0 61 6e 64 20 6f 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 and.oval........................
1b600 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 ....(mapconcat.#'prin1-to-string
1b620 20 28 6e 74 68 63 64 72 20 33 20 63 29 20 22 20 22 29 20 3b 20 72 65 73 74 0a 20 20 20 20 20 20 .(nthcdr.3.c).".").;.rest.......
1b640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 29 22 29 29 29 0a 20 20 20 20 .....................")"))).....
1b660 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 27 6d 65 74 61 64 61 74 61 20 28 63 61 72 20 ............((eq.'metadata.(car.
1b680 65 6c 74 29 29 20 3b 20 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 elt)).;.metadata................
1b6a0 20 20 28 69 6e 73 65 72 74 20 22 28 6d 65 74 61 64 61 74 61 22 29 0a 20 20 20 20 20 20 20 20 20 ..(insert."(metadata")..........
1b6c0 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74 72 79 20 28 63 64 72 20 65 6c 74 29 ........(dolist.(entry.(cdr.elt)
1b6e0 29 0a 20 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 20 28 66 6f )....................(insert.(fo
1b700 72 6d 61 74 20 22 5c 6e 20 28 25 73 20 25 53 29 22 20 28 63 61 72 20 65 6e 74 72 79 29 20 28 63 rmat."\n.(%s.%S)".(car.entry).(c
1b720 61 64 72 20 65 6e 74 72 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 adr.entry))))..................(
1b740 69 6e 73 65 72 74 20 22 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e insert.")")).................((n
1b760 6f 74 20 28 65 71 20 27 6d 61 70 61 72 65 61 20 28 63 61 72 20 65 6c 74 29 29 29 20 3b 20 6e 6f ot.(eq.'maparea.(car.elt))).;.no
1b780 20 6d 61 70 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 .maparea..................(prin1
1b7a0 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 28 63 .elt)).................((memq.(c
1b7c0 61 72 20 28 6e 74 68 20 33 20 65 6c 74 29 29 20 27 28 74 65 78 74 20 6f 76 61 6c 20 6c 69 6e 65 ar.(nth.3.elt)).'(text.oval.line
1b7e0 20 70 6f 6c 79 29 29 20 3b 20 6d 61 70 61 72 65 61 20 74 65 78 74 2c 20 6f 76 61 6c 2c 20 6c 69 .poly)).;.maparea.text,.oval,.li
1b800 6e 65 2c 20 70 6f 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 ne,.poly..................(inser
1b820 74 20 28 66 6f 72 6d 61 74 20 22 28 6d 61 70 61 72 65 61 20 25 53 5c 6e 20 25 53 5c 6e 20 22 20 t.(format."(maparea.%S\n.%S\n.".
1b840 28 6e 74 68 20 31 20 65 6c 74 29 20 28 6e 74 68 20 32 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 (nth.1.elt).(nth.2.elt))........
1b860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 70 ..................(mapconcat.#'p
1b880 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6e 74 68 63 64 72 20 33 20 65 6c 74 29 20 22 20 rin1-to-string.(nthcdr.3.elt).".
1b8a0 22 29 20 3b 20 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ").;.rest.......................
1b8c0 20 20 20 22 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 ...")")).................(t.(err
1b8e0 6f 72 20 22 44 6a 76 75 20 6d 61 70 61 72 65 61 20 25 73 20 75 6e 64 65 66 69 6e 65 64 22 20 28 or."Djvu.maparea.%s.undefined".(
1b900 63 61 72 20 28 6e 74 68 20 33 20 65 6c 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 car.(nth.3.elt)))))...........(i
1b920 6e 73 65 72 74 20 22 5c 6e 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6e nsert."\n\n")).........(djvu-con
1b940 76 65 72 74 2d 68 61 73 68 20 74 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 vert-hash.t)).......(goto-char.(
1b960 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f point-min)).......(set-buffer-mo
1b980 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 dified-p.nil).......(setq.buffer
1b9a0 2d 75 6e 64 6f 2d 6c 69 73 74 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d -undo-list.nil))))..(defun.djvu-
1b9c0 72 65 63 74 2d 65 6c 74 20 28 72 65 63 74 20 69 64 29 0a 20 20 22 46 6f 72 20 72 65 63 74 20 52 rect-elt.(rect.id)..."For.rect.R
1b9e0 45 43 54 20 64 65 66 69 6e 65 20 65 6e 74 72 79 20 66 6f 72 20 60 64 6a 76 75 2d 72 65 63 74 2d ECT.define.entry.for.`djvu-rect-
1ba00 6c 69 73 74 27 20 75 73 69 6e 67 20 49 44 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6d 61 70 61 72 list'.using.ID."...(let*.((mapar
1ba20 65 61 20 28 63 61 72 20 72 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 72 6c 20 28 6e 74 ea.(car.rect))..........(url.(nt
1ba40 68 20 31 20 6d 61 70 61 72 65 61 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 65 78 74 20 28 6e 74 h.1.maparea))..........(text.(nt
1ba60 68 20 32 20 6d 61 70 61 72 65 61 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 20 28 64 h.2.maparea))..........(color.(d
1ba80 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 jvu-color-background............
1baa0 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 74 68 20 31 20 28 61 73 73 6f 63 20 27 68 69 6c 69 ......(cond.((nth.1.(assoc.'hili
1bac0 74 65 20 6d 61 70 61 72 65 61 29 29 29 20 3b 20 55 73 65 20 63 6f 6c 6f 72 20 69 66 20 70 6f 73 te.maparea))).;.Use.color.if.pos
1bae0 73 69 62 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 sible.........................(u
1bb00 72 6c 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 75 72 6c 29 20 3b 20 77 65 20 68 61 76 65 20 61 20 55 rl.djvu-color-url).;.we.have.a.U
1bb20 52 4c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 64 6a 76 RL........................(t.djv
1bb40 75 2d 63 6f 6c 6f 72 2d 68 69 67 68 6c 69 67 68 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 u-color-highlight)).............
1bb60 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e .....nil..................(or.(n
1bb80 74 68 20 31 20 28 61 73 73 6f 63 20 27 6f 70 61 63 69 74 79 20 6d 61 70 61 72 65 61 29 29 0a 20 th.1.(assoc.'opacity.maparea))..
1bba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 6f 70 61 63 69 74 79 ....................djvu-opacity
1bbc0 29 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 6d 75 6c 74 69 70 6c 65 20 61 6e 6e 6f 74 61 74 69 )))).....;;.If.multiple.annotati
1bbe0 6f 6e 73 20 64 69 66 66 65 72 20 6f 6e 6c 79 20 69 6e 20 74 68 65 20 41 52 45 41 73 2c 20 69 74 ons.differ.only.in.the.AREAs,.it
1bc00 20 69 73 20 61 73 73 75 6d 65 64 0a 20 20 20 20 3b 3b 20 74 68 61 74 20 74 68 65 79 20 62 65 6c .is.assumed.....;;.that.they.bel
1bc20 6f 6e 67 20 74 6f 67 65 74 68 65 72 2c 20 73 6f 20 74 68 61 74 20 74 68 65 79 20 61 72 65 20 63 ong.together,.so.that.they.are.c
1bc40 6f 6c 6c 61 70 73 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 3b 3b 20 61 6e 6e 6f 74 61 74 69 6f ollapsed.in.the.....;;.annotatio
1bc60 6e 73 20 62 75 66 66 65 72 20 61 6e 64 20 74 68 65 69 72 20 74 65 78 74 20 70 72 6f 70 65 72 74 ns.buffer.and.their.text.propert
1bc80 69 65 73 20 69 6e 20 74 68 65 20 52 65 61 64 20 62 75 66 66 65 72 0a 20 20 20 20 3b 3b 20 61 72 ies.in.the.Read.buffer.....;;.ar
1bca0 65 20 6d 65 72 67 65 64 20 61 63 72 6f 73 73 20 77 6f 72 64 20 62 6f 75 6e 64 61 72 69 65 73 2e e.merged.across.word.boundaries.
1bcc0 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 4f 4b 20 77 68 65 6e 20 55 52 4c 0a 20 20 ..This.is.usually.OK.when.URL...
1bce0 20 20 3b 3b 20 61 6e 64 20 54 45 58 54 20 61 72 65 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 74 72 69 ..;;.and.TEXT.are.non-empty.stri
1bd00 6e 67 73 2e 20 20 42 75 74 20 77 65 20 64 6f 20 6e 6f 74 20 63 6f 6c 6c 61 70 73 65 20 73 75 63 ngs...But.we.do.not.collapse.suc
1bd20 68 20 65 6e 74 72 69 65 73 0a 20 20 20 20 3b 3b 20 69 6e 20 74 68 65 20 61 6e 6e 6f 74 61 74 69 h.entries.....;;.in.the.annotati
1bd40 6f 6e 73 20 62 75 66 66 65 72 20 69 66 20 55 52 4c 20 61 6e 64 20 54 45 58 54 20 61 72 65 20 65 ons.buffer.if.URL.and.TEXT.are.e
1bd60 6d 70 74 79 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 3b 3b 20 54 6f 20 61 63 68 69 65 76 65 20 mpty.strings......;;.To.achieve.
1bd80 74 68 65 20 73 61 6d 65 20 77 69 74 68 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 69 6e the.same.with.text.properties.in
1bda0 20 74 68 65 20 52 65 61 64 20 62 75 66 66 65 72 2c 20 77 65 20 61 64 64 0a 20 20 20 20 3b 3b 20 .the.Read.buffer,.we.add.....;;.
1bdc0 74 68 65 20 65 78 74 72 61 20 65 6c 65 6d 65 6e 74 20 49 44 20 74 6f 20 74 68 65 20 65 6c 65 6d the.extra.element.ID.to.the.elem
1bde0 65 6e 74 73 20 6f 66 20 60 64 6a 76 75 2d 72 65 63 74 2d 6c 69 73 74 27 2e 0a 20 20 20 20 28 6d ents.of.`djvu-rect-list'......(m
1be00 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 apcar.(lambda.(area)............
1be20 20 20 20 28 6c 69 73 74 20 28 63 64 72 20 61 72 65 61 29 20 75 72 6c 20 74 65 78 74 20 63 6f 6c ...(list.(cdr.area).url.text.col
1be40 6f 72 20 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 72 65 63 74 29 29 29 or.id)).............(cdr.rect)))
1be60 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 75 72 6c 20 28 62 6f )..(defun.djvu-font-lock-url.(bo
1be80 75 6e 64 29 0a 20 20 28 6c 65 74 20 28 28 70 6e 74 20 28 70 6f 69 6e 74 29 29 20 63 61 73 65 2d und)...(let.((pnt.(point)).case-
1bea0 66 6f 6c 64 2d 73 65 61 72 63 68 20 66 6f 75 6e 64 20 62 65 67 20 65 6e 64 29 0a 20 20 20 20 28 fold-search.found.beg.end).....(
1bec0 63 6f 6e 64 20 28 28 6d 65 6d 71 20 64 6a 76 75 2d 62 75 66 66 65 72 20 27 28 61 6e 6e 6f 74 20 cond.((memq.djvu-buffer.'(annot.
1bee0 73 68 61 72 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f shared))............(beginning-o
1bf00 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 f-line)............(while.(and.(
1bf20 6e 6f 74 20 66 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 not.found)......................
1bf40 20 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 5b 20 5c 74 5d 2a 28 6d 61 ..(re-search-forward."^[.\t]*(ma
1bf60 70 61 72 65 61 22 20 62 6f 75 6e 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 parea".bound.t))..............(s
1bf80 65 74 71 20 66 6f 75 6e 64 20 28 61 6e 64 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5b 20 5c 74 etq.found.(and.(looking-at."[.\t
1bfa0 5d 2a 5c 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 20 20 20 20 ]*\"")..........................
1bfc0 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(progn.....................
1bfe0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 62 65 67 20 28 6d 61 74 63 68 2d 65 6e 64 ............(setq.beg.(match-end
1c000 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .0))............................
1c020 20 20 20 20 20 28 3e 3d 20 62 65 67 20 70 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(>=.beg.pnt))..............
1c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 62 65 67 20 62 6f 75 6e 64 29 0a .................(<=.beg.bound).
1c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 ..............................(p
1c080 72 6f 67 6e 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 rogn............................
1c0a0 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....(forward-sexp).............
1c0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 31 ....................(setq.end.(1
1c0e0 2d 20 28 70 6f 69 6e 74 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 -.(point))))))))...........((eq.
1c100 64 6a 76 75 2d 62 75 66 66 65 72 20 27 62 6f 6f 6b 6d 61 72 6b 73 29 0a 20 20 20 20 20 20 20 20 djvu-buffer.'bookmarks).........
1c120 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 22 5e 5b 20 5c 74 5d 2a 28 ...(re-search-backward."^[.\t]*(
1c140 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 ".nil.t)............(while.(and.
1c160 28 6e 6f 74 20 66 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (not.found).....................
1c180 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 5b 20 5c 74 5d 2a 28 22 ...(re-search-forward."^[.\t]*("
1c1a0 20 62 6f 75 6e 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 6f .bound.t))..............(setq.fo
1c1c0 75 6e 64 20 28 61 6e 64 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5b 20 5c 74 5d 2a 5c 22 22 29 und.(and.(looking-at."[.\t]*\"")
1c1e0 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 28 ...............................(
1c200 70 72 6f 67 6e 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 progn...........................
1c220 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(forward-sexp)............
1c240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 .....................(looking-at
1c260 20 22 5b 20 5c 74 5c 6e 5d 2b 5c 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."[.\t\n]+\"")).................
1c280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 ..............(progn............
1c2a0 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 71 20 62 65 67 20 28 .....................(setq.beg.(
1c2c0 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 match-end.0))...................
1c2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 3d 20 62 65 67 20 70 6e 74 29 29 0a 20 20 20 20 ..............(>=.beg.pnt)).....
1c300 20 20 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 3c 3d 20 62 65 ..........................(<=.be
1c320 67 20 62 6f 75 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.bound)........................
1c340 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(progn...................
1c360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 0a 20 20 20 ..............(forward-sexp)....
1c380 20 20 20 20 20 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 .............................(se
1c3a0 74 71 20 65 6e 64 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 29 29 29 29 29 29 29 0a 20 20 20 20 28 tq.end.(1-.(point))))))))).....(
1c3c0 77 68 65 6e 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 when.found.......(remove-text-pr
1c3e0 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 20 27 28 66 61 63 65 29 29 0a 20 20 20 20 20 20 operties.beg.end.'(face)).......
1c400 28 6d 61 6b 65 2d 74 65 78 74 2d 62 75 74 74 6f 6e 20 62 65 67 20 65 6e 64 20 27 74 79 70 65 20 (make-text-button.beg.end.'type.
1c420 27 64 6a 76 75 2d 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 'djvu-url.......................
1c440 20 20 27 64 6a 76 75 2d 61 72 67 73 20 28 6c 69 73 74 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 ..'djvu-args.(list.(buffer-subst
1c460 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 29 29 0a 20 ring-no-properties.beg.end))))..
1c480 20 20 20 66 6f 75 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 62 75 74 74 6f 6e 2d 61 ...found))..(defun.djvu-button-a
1c4a0 63 74 69 6f 6e 20 28 62 75 74 74 6f 6e 29 0a 20 20 22 43 61 6c 6c 20 42 55 54 54 4f 4e 27 73 20 ction.(button)..."Call.BUTTON's.
1c4c0 44 6a 76 75 20 66 75 6e 63 74 69 6f 6e 2e 22 0a 20 20 28 61 70 70 6c 79 20 28 62 75 74 74 6f 6e Djvu.function."...(apply.(button
1c4e0 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 64 6a 76 75 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 -get.button.'djvu-function).....
1c500 20 20 20 20 20 28 62 75 74 74 6f 6e 2d 67 65 74 20 62 75 74 74 6f 6e 20 27 64 6a 76 75 2d 61 72 .....(button-get.button.'djvu-ar
1c520 67 73 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 62 75 74 74 6f 6e 2d 74 79 70 65 20 27 64 6a 76 75 gs)))..(define-button-type.'djvu
1c540 2d 75 72 6c 0a 20 20 27 61 63 74 69 6f 6e 20 27 64 6a 76 75 2d 62 75 74 74 6f 6e 2d 61 63 74 69 -url...'action.'djvu-button-acti
1c560 6f 6e 0a 20 20 27 64 6a 76 75 2d 66 75 6e 63 74 69 6f 6e 20 27 64 6a 76 75 2d 75 72 6c 0a 20 20 on...'djvu-function.'djvu-url...
1c580 27 68 65 6c 70 2d 65 63 68 6f 20 22 6d 6f 75 73 65 2d 32 2c 20 52 45 54 3a 20 66 6f 6c 6c 6f 77 'help-echo."mouse-2,.RET:.follow
1c5a0 20 55 52 4c 22 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 75 72 6c 20 28 75 72 6c 29 0a 20 20 .URL")..(defun.djvu-url.(url)...
1c5c0 22 42 72 6f 77 73 65 20 55 52 4c 20 69 6e 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 49 66 "Browse.URL.in.Djvu.document..If
1c5e0 20 55 52 4c 20 69 73 20 61 6e 20 69 6e 74 65 72 6e 61 6c 20 75 72 6c 2c 20 67 6f 20 74 6f 20 74 .URL.is.an.internal.url,.go.to.t
1c600 68 61 74 20 70 61 67 65 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 hat.page."...(if.(string-match."
1c620 5c 5c 60 23 22 20 75 72 6c 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 61 67 65 2d 75 72 \\`#".url).......(let*.((page-ur
1c640 6c 20 28 73 75 62 73 74 72 69 6e 67 20 75 72 6c 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 l.(substring.url.1))............
1c660 20 20 28 70 61 67 65 20 28 6f 72 20 28 63 61 72 20 28 72 61 73 73 6f 63 20 70 61 67 65 2d 75 72 ..(page.(or.(car.(rassoc.page-ur
1c680 6c 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 l.(djvu-ref.page-id)))..........
1c6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 ..............(and.(string-match
1c6c0 20 22 5c 5c 60 5b 30 2d 39 5d 2b 5c 5c 27 22 20 70 61 67 65 2d 75 72 6c 29 0a 20 20 20 20 20 20 ."\\`[0-9]+\\'".page-url).......
1c6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 6f ......................(string-to
1c700 2d 6e 75 6d 62 65 72 20 70 61 67 65 2d 75 72 6c 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 -number.page-url))))).........(u
1c720 6e 6c 65 73 73 20 70 61 67 65 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 69 6e 74 65 72 nless.page.(error."Invalid.inter
1c740 6e 61 6c 20 75 72 6c 20 60 25 73 27 22 20 70 61 67 65 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 20 nal.url.`%s'".page-url))........
1c760 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 20 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 28 .(djvu-goto-page.page).........(
1c780 64 6a 76 75 2d 73 77 69 74 63 68 2d 72 65 61 64 29 29 0a 20 20 20 20 28 62 72 6f 77 73 65 2d 75 djvu-switch-read)).....(browse-u
1c7a0 72 6c 20 75 72 6c 29 29 29 0a 0a 3b 3b 20 44 6a 76 75 73 65 64 20 6d 61 70 61 72 65 61 20 60 74 rl.url)))..;;.Djvused.maparea.`t
1c7c0 65 78 74 27 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 74 65 78 ext'.(defun.djvu-interactive-tex
1c7e0 74 2d 61 72 65 61 20 28 26 6f 70 74 69 6f 6e 61 6c 20 62 6f 72 64 65 72 20 62 61 63 6b 63 6c 72 t-area.(&optional.border.backclr
1c800 20 74 65 78 74 63 6c 72 20 70 75 73 68 70 69 6e 29 0a 20 20 22 49 6e 74 65 72 61 63 74 69 76 65 .textclr.pushpin)..."Interactive
1c820 20 73 70 65 63 20 66 6f 72 20 60 64 6a 76 75 2d 74 65 78 74 2d 61 72 65 61 27 20 61 6e 64 20 66 .spec.for.`djvu-text-area'.and.f
1c840 72 69 65 6e 64 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 70 6f 73 20 28 64 6a 76 75 2d 6d 65 61 riends."...(let.((dpos.(djvu-mea
1c860 6e 2d 64 70 6f 73 20 28 64 6a 76 75 2d 72 65 61 64 2d 64 70 6f 73 29 29 29 0a 20 20 20 20 20 20 n-dpos.(djvu-read-dpos))).......
1c880 20 20 28 70 61 67 65 73 69 7a 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 29 29 ..(pagesize.(djvu-ref.pagesize))
1c8a0 0a 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 .........(color.(djvu-interactiv
1c8c0 65 2d 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 67 68 6c 69 67 68 74 29 29 29 0a e-color.djvu-color-highlight))).
1c8e0 20 20 20 20 28 6c 69 73 74 20 6e 69 6c 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d ....(list.nil.(read-string.(form
1c900 61 74 20 22 28 25 73 29 20 54 65 78 74 3a 20 22 20 28 6f 72 20 63 6f 6c 6f 72 20 22 6e 6f 20 63 at."(%s).Text:.".(or.color."no.c
1c920 6f 6c 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olor")).........................
1c940 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 64 6a 76 75 2d 69 6e 68 65 72 69 74 2d 69 6e 70 75 ...nil.nil.nil.djvu-inherit-inpu
1c960 74 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 6e 74 68 20 30 t-method)...........(list.(nth.0
1c980 20 64 70 6f 73 29 20 28 6e 74 68 20 31 20 64 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .dpos).(nth.1.dpos).............
1c9a0 20 20 20 20 28 2b 20 28 6e 74 68 20 30 20 64 70 6f 73 29 20 28 2f 20 28 63 61 72 20 70 61 67 65 ....(+.(nth.0.dpos).(/.(car.page
1c9c0 73 69 7a 65 29 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 6e 74 size).2)).................(+.(nt
1c9e0 68 20 31 20 64 70 6f 73 29 20 28 2f 20 28 63 64 72 20 70 61 67 65 73 69 7a 65 29 20 33 30 29 29 h.1.dpos).(/.(cdr.pagesize).30))
1ca00 29 0a 20 20 20 20 20 20 20 20 20 20 62 6f 72 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 )...........border...........(or
1ca20 20 62 61 63 6b 63 6c 72 20 28 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 20 .backclr.(djvu-color-background.
1ca40 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 74 65 78 74 63 6c 72 20 70 75 73 68 70 69 color))...........textclr.pushpi
1ca60 6e 29 29 29 0a 0a 28 64 65 66 73 75 62 73 74 20 64 6a 76 75 2d 69 6e 73 65 72 74 2d 63 6f 6c 6f n)))..(defsubst.djvu-insert-colo
1ca80 72 20 28 6b 65 79 20 63 6f 6c 6f 72 29 0a 20 20 28 69 66 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 r.(key.color)...(if.color.......
1caa0 28 66 6f 72 6d 61 74 20 22 20 28 25 73 20 25 73 29 22 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 (format.".(%s.%s)".key..........
1cac0 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 22 .....(cond.((string-match."\\`#"
1cae0 20 63 6f 6c 6f 72 29 20 63 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .color).color)..................
1cb00 20 20 20 28 28 63 64 72 20 28 61 73 73 6f 63 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 ...((cdr.(assoc.color.djvu-color
1cb20 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 -alist))).....................(t
1cb40 20 28 65 72 72 6f 72 20 22 43 6f 6c 6f 72 20 60 25 73 27 20 75 6e 64 65 66 69 6e 65 64 22 20 63 .(error."Color.`%s'.undefined".c
1cb60 6f 6c 6f 72 29 29 29 29 0a 20 20 20 20 22 22 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 62 olor)))).....""))..(defun.djvu-b
1cb80 6f 75 6e 64 2d 61 72 65 61 20 28 61 72 65 61 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 ound-area.(area.&optional.doc)..
1cba0 20 22 52 65 73 74 72 69 63 74 20 41 52 45 41 20 74 6f 20 70 61 67 65 20 62 6f 75 6e 64 61 72 69 ."Restrict.AREA.to.page.boundari
1cbc0 65 73 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 es."...(unless.doc.(setq.doc.djv
1cbe0 75 2d 64 6f 63 29 29 0a 20 20 3b 3b 20 41 52 45 41 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 20 u-doc))...;;.AREA.may.be.a.list.
1cc00 6f 72 20 76 65 63 74 6f 72 2e 20 20 41 6c 77 61 79 73 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 or.vector...Always.return.a.list
1cc20 2e 0a 20 20 28 6c 69 73 74 20 28 6d 61 78 20 31 20 28 6d 69 6e 20 28 65 6c 74 20 61 72 65 61 20 ....(list.(max.1.(min.(elt.area.
1cc40 30 29 20 28 63 61 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f 63 29 29 0).(car.(djvu-ref.pagesize.doc))
1cc60 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 20 31 20 28 6d 69 6e 20 28 65 6c 74 20 61 72 65 61 )).........(max.1.(min.(elt.area
1cc80 20 31 29 20 28 63 64 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f 63 29 .1).(cdr.(djvu-ref.pagesize.doc)
1cca0 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 20 31 20 28 6d 69 6e 20 28 65 6c 74 20 61 72 65 ))).........(max.1.(min.(elt.are
1ccc0 61 20 32 29 20 28 63 61 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f 63 a.2).(car.(djvu-ref.pagesize.doc
1cce0 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 78 20 31 20 28 6d 69 6e 20 28 65 6c 74 20 61 72 )))).........(max.1.(min.(elt.ar
1cd00 65 61 20 33 29 20 28 63 64 72 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 20 64 6f ea.3).(cdr.(djvu-ref.pagesize.do
1cd20 63 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 74 65 78 74 2d 61 72 65 61 20 28 c))))))..(defun.djvu-text-area.(
1cd40 75 72 6c 20 63 6f 6d 6d 65 6e 74 20 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 url.comment.area................
1cd60 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 74 69 6f 6e 61 6c 20 62 6f 72 64 65 72 20 62 61 63 ............&optional.border.bac
1cd80 6b 63 6c 72 20 74 65 78 74 63 6c 72 20 70 75 73 68 70 69 6e 29 0a 20 20 22 55 73 69 6e 67 20 73 kclr.textclr.pushpin)..."Using.s
1cda0 74 72 69 6e 67 73 20 55 52 4c 20 61 6e 64 20 43 4f 4d 4d 45 4e 54 2c 20 68 69 67 68 6c 69 67 68 trings.URL.and.COMMENT,.highligh
1cdc0 74 20 41 52 45 41 2e 0a 54 68 69 73 20 64 65 66 69 6e 65 73 20 61 20 74 65 78 74 20 6d 61 70 61 t.AREA..This.defines.a.text.mapa
1cde0 72 65 61 20 66 6f 72 20 64 6a 76 75 73 65 64 2e 0a 41 52 45 41 20 69 73 20 61 20 6c 69 73 74 20 rea.for.djvused..AREA.is.a.list.
1ce00 28 58 4d 49 4e 20 59 4d 49 4e 20 58 4d 41 58 20 59 4d 41 58 29 2e 0a 49 6e 74 65 72 61 63 74 69 (XMIN.YMIN.XMAX.YMAX)..Interacti
1ce20 76 65 6c 79 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 60 64 6a 76 75 2d 6d 6f 75 73 65 2d 74 65 vely,.the.command.`djvu-mouse-te
1ce40 78 74 2d 61 72 65 61 27 20 69 6e 20 60 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 27 0a 69 73 xt-area'.in.`djvu-image-mode'.is
1ce60 20 75 73 75 61 6c 6c 79 20 65 61 73 69 65 72 20 74 6f 20 75 73 65 2e 22 0a 20 20 28 69 6e 74 65 .usually.easier.to.use."...(inte
1ce80 72 61 63 74 69 76 65 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 74 65 78 74 2d 61 ractive.(djvu-interactive-text-a
1cea0 72 65 61 29 29 0a 20 20 28 73 65 74 71 20 61 72 65 61 20 28 64 6a 76 75 2d 62 6f 75 6e 64 2d 61 rea))...(setq.area.(djvu-bound-a
1cec0 72 65 61 20 61 72 65 61 29 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 rea.area))...(with-current-buffe
1cee0 72 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 29 0a 20 20 20 20 28 67 6f 74 6f r.(djvu-ref.annot-buf).....(goto
1cf00 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 -char.(point-max)).....(insert.(
1cf20 66 6f 72 6d 61 74 20 22 28 6d 61 70 61 72 65 61 20 25 53 5c 6e 20 25 53 5c 6e 20 22 0a 20 20 20 format."(maparea.%S\n.%S\n."....
1cf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 75 72 6c 20 22 22 29 20 28 69 66 .................(or.url."").(if
1cf60 20 63 6f 6d 6d 65 6e 74 20 28 64 6a 76 75 2d 66 69 6c 6c 20 63 6f 6d 6d 65 6e 74 29 20 22 22 29 .comment.(djvu-fill.comment)."")
1cf80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 66 6f 72 6d 61 74 20 22 28 74 ).............(apply.'format."(t
1cfa0 65 78 74 20 25 64 20 25 64 20 25 64 20 25 64 29 22 20 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 ext.%d.%d.%d.%d)".area).........
1cfc0 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 28 25 73 29 22 20 28 6f 72 20 62 6f 72 64 65 72 20 27 ....(format.".(%s)".(or.border.'
1cfe0 6e 6f 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 62 61 63 6b 63 6c 72 20 28 none)).............(if.backclr.(
1d000 64 6a 76 75 2d 69 6e 73 65 72 74 2d 63 6f 6c 6f 72 20 22 62 61 63 6b 63 6c 72 22 20 62 61 63 6b djvu-insert-color."backclr".back
1d020 63 6c 72 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 74 65 78 74 63 6c 72 clr)."").............(if.textclr
1d040 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 63 6f 6c 6f 72 20 22 74 65 78 74 63 6c 72 22 20 74 65 .(djvu-insert-color."textclr".te
1d060 78 74 63 6c 72 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 75 73 68 70 xtclr)."").............(if.pushp
1d080 69 6e 20 22 20 28 70 75 73 68 70 69 6e 29 22 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 in.".(pushpin)"."").............
1d0a0 22 29 5c 6e 5c 6e 22 29 0a 20 20 20 20 28 75 6e 64 6f 2d 62 6f 75 6e 64 61 72 79 29 29 29 0a 0a ")\n\n").....(undo-boundary)))..
1d0c0 28 64 65 66 75 6e 20 64 6a 76 75 2d 74 65 78 74 2d 61 72 65 61 2d 70 75 73 68 70 69 6e 20 28 75 (defun.djvu-text-area-pushpin.(u
1d0e0 72 6c 20 63 6f 6d 6d 65 6e 74 20 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rl.comment.area.................
1d100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 74 69 6f 6e 61 6c 20 62 6f 72 ...................&optional.bor
1d120 64 65 72 20 62 61 63 6b 63 6c 72 20 74 65 78 74 63 6c 72 20 70 75 73 68 70 69 6e 29 0a 20 20 22 der.backclr.textclr.pushpin)..."
1d140 55 73 69 6e 67 20 55 52 4c 20 61 6e 64 20 43 4f 4d 4d 45 4e 54 2c 20 68 69 67 68 6c 69 67 68 74 Using.URL.and.COMMENT,.highlight
1d160 20 41 52 45 41 20 61 73 20 70 75 73 68 70 69 6e 2e 0a 54 68 69 73 20 64 65 66 69 6e 65 73 20 61 .AREA.as.pushpin..This.defines.a
1d180 20 72 65 63 74 20 61 72 65 61 20 66 6f 72 20 64 6a 76 75 73 65 64 2e 0a 49 6e 74 65 72 61 63 74 .rect.area.for.djvused..Interact
1d1a0 69 76 65 6c 79 2c 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 60 64 6a 76 75 2d 6d 6f 75 73 65 2d 74 ively,.the.command.`djvu-mouse-t
1d1c0 65 78 74 2d 61 72 65 61 2d 70 75 73 68 70 69 6e 27 20 69 6e 20 60 64 6a 76 75 2d 69 6d 61 67 65 ext-area-pushpin'.in.`djvu-image
1d1e0 2d 6d 6f 64 65 27 0a 69 73 20 75 73 75 61 6c 6c 79 20 65 61 73 69 65 72 20 74 6f 20 75 73 65 2e -mode'.is.usually.easier.to.use.
1d200 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 "...(interactive.(djvu-interacti
1d220 76 65 2d 74 65 78 74 2d 61 72 65 61 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 74 29 29 0a 20 20 28 ve-text-area.nil.nil.nil.t))...(
1d240 64 6a 76 75 2d 74 65 78 74 2d 61 72 65 61 20 75 72 6c 20 63 6f 6d 6d 65 6e 74 20 61 72 65 61 20 djvu-text-area.url.comment.area.
1d260 62 6f 72 64 65 72 20 62 61 63 6b 63 6c 72 20 74 65 78 74 63 6c 72 20 70 75 73 68 70 69 6e 29 29 border.backclr.textclr.pushpin))
1d280 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 61 72 6b 2d 6c 69 6e 65 2d 62 65 67 20 28 70 6e 74 ..(defun.djvu-mark-line-beg.(pnt
1d2a0 20 63 6f 6d 6d 65 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 66 74 20 63 6f 6c 6f 72 29 0a 20 .comment.&optional.left.color)..
1d2c0 20 22 4d 61 72 6b 20 77 6f 72 64 20 61 74 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 6c 69 6e 65 ."Mark.word.at.beginning.of.line
1d2e0 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 4c 45 46 54 20 6d 61 72 6b 20 6c 65 66 74 20 6f 66 20 ..With.prefix.LEFT.mark.left.of.
1d300 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 6c 69 6e 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 beginning.of.line."...(interacti
1d320 76 65 0a 20 20 20 28 6c 65 74 20 28 28 70 72 65 66 69 78 20 63 75 72 72 65 6e 74 2d 70 72 65 66 ve....(let.((prefix.current-pref
1d340 69 78 2d 61 72 67 29 29 0a 20 20 20 20 20 28 6c 69 73 74 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e ix-arg))......(list.(line-beginn
1d360 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 ing-position)............(read-s
1d380 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 20 25 73 4d 61 72 6b 65 72 20 63 6f 6d tring.(format."(%s).%sMarker.com
1d3a0 6d 65 6e 74 3a 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 ment:.".........................
1d3c0 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 6d 61 72 6b 0a 20 20 20 20 20 20 ........djvu-color-himark.......
1d3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 72 ..........................(if.pr
1d400 65 66 69 78 20 22 6c 65 66 74 20 22 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 efix."left.".""))...............
1d420 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 64 6a 76 75 2d 69 6e 68 65 72 ..........nil.nil.nil.djvu-inher
1d440 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 65 66 it-input-method)............pref
1d460 69 78 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 6d 61 72 6b 29 29 29 0a 20 20 28 6c 65 74 2a 20 ix.djvu-color-himark)))...(let*.
1d480 28 28 7a 6f 6e 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6e 74 20 27 77 ((zone.(get-text-property.pnt.'w
1d4a0 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 69 67 68 74 20 28 2d 20 28 61 72 65 66 20 ord))..........(height.(-.(aref.
1d4c0 7a 6f 6e 65 20 33 29 20 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 zone.3).(aref.zone.1))).........
1d4e0 20 28 78 6d 69 6e 20 28 2d 20 28 61 72 65 66 20 7a 6f 6e 65 20 30 29 20 28 72 6f 75 6e 64 20 28 .(xmin.(-.(aref.zone.0).(round.(
1d500 2a 20 32 2e 35 20 68 65 69 67 68 74 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 6c 65 66 74 0a 20 *.2.5.height))))).....(if.left..
1d520 20 20 20 20 20 20 20 28 64 6a 76 75 2d 74 65 78 74 2d 61 72 65 61 20 6e 69 6c 20 63 6f 6d 6d 65 .......(djvu-text-area.nil.comme
1d540 6e 74 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 28 6c 69 73 74 nt.........................(list
1d560 20 78 6d 69 6e 20 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .xmin.(aref.zone.1).............
1d580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 61 72 65 66 20 7a 6f 6e 65 20 ..................(-.(aref.zone.
1d5a0 30 29 20 28 2f 20 68 65 69 67 68 74 20 32 29 29 20 28 61 72 65 66 20 7a 6f 6e 65 20 33 29 29 0a 0).(/.height.2)).(aref.zone.3)).
1d5c0 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 69 6c 0a 20 20 20 20 ........................nil.....
1d5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6c 6f 72 2d ....................(djvu-color-
1d600 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 72 background.color)).......(djvu-r
1d620 65 63 74 2d 61 72 65 61 20 6e 69 6c 20 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 ect-area.nil.comment............
1d640 20 20 20 20 20 20 20 20 20 20 20 60 28 28 2c 78 6d 69 6e 20 2c 28 61 72 65 66 20 7a 6f 6e 65 20 ...........`((,xmin.,(aref.zone.
1d660 31 29 20 2c 28 61 72 65 66 20 7a 6f 6e 65 20 32 29 20 2c 28 61 72 65 66 20 7a 6f 6e 65 20 33 29 1).,(aref.zone.2).,(aref.zone.3)
1d680 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6f 72 20 64 )).......................color.d
1d6a0 6a 76 75 2d 6f 70 61 63 69 74 79 29 29 29 29 0a 0a 3b 3b 20 44 6a 76 75 73 65 64 20 6d 61 70 61 jvu-opacity))))..;;.Djvused.mapa
1d6c0 72 65 61 20 60 72 65 63 74 27 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 68 69 6d 61 72 6b 20 28 62 rea.`rect'.(defun.djvu-himark.(b
1d6e0 6f 6f 6b 6d 61 72 6b 20 75 72 6c 20 62 65 67 20 65 6e 64 20 63 6f 6d 6d 65 6e 74 0a 20 20 20 20 ookmark.url.beg.end.comment.....
1d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 74 69 6f 6e .........................&option
1d720 61 6c 20 6c 65 76 65 6c 20 63 6f 6c 6f 72 20 6f 70 61 63 69 74 79 20 62 6f 72 64 65 72 29 0a 20 al.level.color.opacity.border)..
1d740 20 3b 3b 20 46 69 78 6d 65 3a 20 46 69 78 20 64 6f 63 73 74 72 69 6e 67 2e 0a 20 20 22 42 6f 6f .;;.Fixme:.Fix.docstring...."Boo
1d760 6b 6d 61 72 6b 20 61 6e 64 20 68 69 67 68 6c 69 67 68 74 20 74 68 65 20 72 65 67 69 6f 6e 20 62 kmark.and.highlight.the.region.b
1d780 65 74 77 65 65 6e 20 42 45 47 20 61 6e 64 20 45 4e 44 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 etween.BEG.and.END."...(interact
1d7a0 69 76 65 0a 20 20 20 28 64 6a 76 75 2d 77 69 74 68 2d 72 65 67 69 6f 6e 20 72 65 67 69 6f 6e 0a ive....(djvu-with-region.region.
1d7c0 20 20 20 20 20 28 6c 65 74 20 28 28 6c 65 76 65 6c 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 .....(let.((level.(djvu-interact
1d7e0 69 76 65 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 76 65 6c 29 29 20 3b 20 68 61 6e 64 6c 65 20 70 72 ive-bookmark-level)).;.handle.pr
1d800 65 66 69 78 20 61 72 67 20 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 6f 6b 6d efix.arg.first............(bookm
1d820 61 72 6b 20 28 64 6a 76 75 2d 72 65 61 64 2d 73 74 72 69 6e 67 20 22 42 6f 6f 6b 6d 61 72 6b 3a ark.(djvu-read-string."Bookmark:
1d840 20 22 20 72 65 67 69 6f 6e 20 74 29 29 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 20 62 6f 6f 6b .".region.t)))........(list.book
1d860 6d 61 72 6b 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 20 28 63 61 72 20 72 65 67 69 6f 6e mark.(djvu-ref.page).(car.region
1d880 29 20 28 63 64 72 20 72 65 67 69 6f 6e 29 20 62 6f 6f 6b 6d 61 72 6b 20 6c 65 76 65 6c 0a 20 20 ).(cdr.region).bookmark.level...
1d8a0 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 6d 61 72 6b 20 64 6a 76 ...........djvu-color-himark.djv
1d8c0 75 2d 6f 70 61 63 69 74 79 20 6e 69 6c 29 29 29 29 0a 20 20 28 64 6a 76 75 2d 62 6f 6f 6b 6d 61 u-opacity.nil))))...(djvu-bookma
1d8e0 72 6b 20 62 6f 6f 6b 6d 61 72 6b 20 75 72 6c 20 6c 65 76 65 6c 29 0a 20 20 28 64 6a 76 75 2d 72 rk.bookmark.url.level)...(djvu-r
1d900 65 63 74 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 20 6e 69 6c 20 63 6f 6d 6d 65 6e 74 20 63 ect-region.beg.end.nil.comment.c
1d920 6f 6c 6f 72 20 6f 70 61 63 69 74 79 20 62 6f 72 64 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a olor.opacity.border))..(defun.dj
1d940 76 75 2d 75 70 64 61 74 65 2d 75 72 6c 20 28 75 72 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 6c vu-update-url.(url.&optional.col
1d960 6f 72 20 6f 70 61 63 69 74 79 20 62 6f 72 64 65 72 29 0a 20 20 22 55 70 64 61 74 65 20 55 52 4c or.opacity.border)..."Update.URL
1d980 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 6c 6f "...(interactive....(let*.((colo
1d9a0 72 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 r.(djvu-interactive-color.djvu-c
1d9c0 6f 6c 6f 72 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 20 28 64 6a 76 75 2d olor-url))...........(url.(djvu-
1d9e0 69 6e 74 65 72 61 63 74 69 76 65 2d 75 72 6c 20 63 6f 6c 6f 72 29 29 29 0a 20 20 20 20 20 28 6c interactive-url.color)))......(l
1da00 69 73 74 20 75 72 6c 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 6f 70 61 63 69 74 79 20 27 78 6f 72 29 ist.url.color.djvu-opacity.'xor)
1da20 29 29 0a 20 20 28 6c 65 74 20 28 28 64 70 6f 73 20 28 64 6a 76 75 2d 64 70 6f 73 29 29 0a 20 20 ))...(let.((dpos.(djvu-dpos))...
1da40 20 20 20 20 20 20 28 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 20 20 28 77 69 74 68 2d ......(doc.djvu-doc)).....(with-
1da60 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 current-buffer.(djvu-ref.annot-b
1da80 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 28 69 66 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 64 70 6f uf.doc).......(if.(djvu-goto-dpo
1daa0 73 20 27 72 65 63 74 20 64 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 75 70 s.'rect.dpos)...........(djvu-up
1dac0 64 61 74 65 2d 75 72 6c 2d 69 6e 74 65 72 6e 61 6c 20 75 72 6c 20 63 6f 6c 6f 72 20 6f 70 61 63 date-url-internal.url.color.opac
1dae0 69 74 79 20 62 6f 72 64 65 72 29 0a 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 ity.border).........(user-error.
1db00 22 4e 6f 20 6f 62 6a 65 63 74 20 74 6f 20 75 70 64 61 74 65 22 29 29 29 29 29 0a 0a 28 64 65 66 "No.object.to.update")))))..(def
1db20 75 6e 20 64 6a 76 75 2d 75 70 64 61 74 65 2d 75 72 6c 2d 69 6e 74 65 72 6e 61 6c 20 28 75 72 6c un.djvu-update-url-internal.(url
1db40 20 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 6c 6f 72 20 5f 6f 70 61 63 69 74 79 20 62 6f 72 64 65 72 .&optional.color._opacity.border
1db60 29 0a 20 20 22 55 70 64 61 74 65 20 55 52 4c 20 69 6e 74 65 72 6e 61 6c 2e 22 0a 20 20 28 69 6e )..."Update.URL.internal."...(in
1db80 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 6c 6f 72 20 28 64 6a 76 75 teractive....(let*.((color.(djvu
1dba0 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 75 72 -interactive-color.djvu-color-ur
1dbc0 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 l))...........(url.(djvu-interac
1dbe0 74 69 76 65 2d 75 72 6c 20 63 6f 6c 6f 72 29 29 29 0a 20 20 20 20 20 28 6c 69 73 74 20 75 72 6c tive-url.color)))......(list.url
1dc00 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 6f 70 61 63 69 74 79 20 27 78 6f 72 29 29 29 0a 20 20 28 6c .color.djvu-opacity.'xor)))...(l
1dc20 65 74 20 28 28 62 6f 75 6e 64 73 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 6f 75 6e 64 73 29 et.((bounds.(djvu-object-bounds)
1dc40 29 29 0a 20 20 20 20 28 69 66 20 62 6f 75 6e 64 73 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d )).....(if.bounds.........(save-
1dc60 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 excursion...........(save-restri
1dc80 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 ction.............(narrow-to-reg
1dca0 69 6f 6e 20 28 63 61 72 20 62 6f 75 6e 64 73 29 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 0a 20 ion.(car.bounds).(cdr.bounds))..
1dcc0 20 20 20 20 20 20 20 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 ...........(goto-char.(point-min
1dce0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 6c 6f 6f 6b 69 6e 67 )).............(if.(not.(looking
1dd00 2d 61 74 20 22 28 6d 61 70 61 72 65 61 20 5c 5c 28 5c 22 5b 5e 5c 22 5d 2a 5c 22 5c 5c 29 22 29 -at."(maparea.\\(\"[^\"]*\"\\)")
1dd20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e ).................(user-error."N
1dd40 6f 74 68 69 6e 67 20 74 6f 20 75 70 64 61 74 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 othing.to.update")..............
1dd60 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 28 66 6f 72 6d 61 74 20 22 5c 22 25 73 5c 22 22 .(replace-match.(format."\"%s\""
1dd80 20 75 72 6c 29 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 .url).nil.nil.nil.1)............
1dda0 20 20 20 28 64 6a 76 75 2d 75 70 64 61 74 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 63 ...(djvu-update-color-internal.c
1ddc0 6f 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 olor)...............(goto-char.(
1dde0 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 point-min))...............(let.(
1de00 28 62 6f 72 64 65 72 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 22 20 62 6f 72 64 65 72 29 29 29 (border.(format."(%s)".border)))
1de20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 72 65 2d 73 65 61 72 63 68 2d .................(if.(re-search-
1de40 66 6f 72 77 61 72 64 20 22 28 5c 5c 28 6e 6f 6e 65 5c 5c 7c 78 6f 72 5c 5c 29 29 22 20 6e 69 6c forward."(\\(none\\|xor\\))".nil
1de60 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 .t).....................(replace
1de80 2d 6d 61 74 63 68 20 62 6f 72 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -match.border)..................
1dea0 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 20 .(goto-char.(point-max))........
1dec0 20 20 20 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 62 61 63 6b 77 61 72 64 20 ...........(skip-chars-backward.
1dee0 22 20 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 63 6b ".\t\n")...................(back
1df00 77 61 72 64 2d 63 68 61 72 29 20 3b 20 73 6b 69 70 20 63 6c 6f 73 69 6e 67 20 22 29 22 0a 20 20 ward-char).;.skip.closing.")"...
1df20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 20 22 20 62 6f 72 64 ................(insert.".".bord
1df40 65 72 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 63 74 2d 72 65 er)))))))))..(defun.djvu-rect-re
1df60 67 69 6f 6e 2d 75 72 6c 20 28 62 65 67 20 65 6e 64 20 75 72 6c 20 63 6f 6d 6d 65 6e 74 20 26 6f gion-url.(beg.end.url.comment.&o
1df80 70 74 69 6f 6e 61 6c 20 63 6f 6c 6f 72 20 6f 70 61 63 69 74 79 20 62 6f 72 64 65 72 29 0a 20 20 ptional.color.opacity.border)...
1dfa0 22 50 75 74 20 55 52 4c 20 6f 76 65 72 20 72 65 67 69 6f 6e 20 62 65 74 77 65 65 6e 20 42 45 47 "Put.URL.over.region.between.BEG
1dfc0 20 61 6e 64 20 45 4e 44 2c 20 61 64 64 69 6e 67 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 43 4f 4d 4d .and.END,.adding.annotation.COMM
1dfe0 45 4e 54 2e 22 0a 20 20 3b 3b 20 53 61 6d 65 20 61 73 20 60 64 6a 76 75 2d 72 65 63 74 2d 72 65 ENT."...;;.Same.as.`djvu-rect-re
1e000 67 69 6f 6e 27 2c 20 62 75 74 20 69 74 20 61 6c 73 6f 20 61 64 64 73 20 74 68 65 20 75 72 6c 20 gion',.but.it.also.adds.the.url.
1e020 66 69 65 6c 64 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 64 6a 76 75 2d 77 69 field...(interactive....(djvu-wi
1e040 74 68 2d 72 65 67 69 6f 6e 20 72 65 67 69 6f 6e 0a 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f th-region.region......(let*.((co
1e060 6c 6f 72 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 20 64 6a 76 75 lor.(djvu-interactive-color.djvu
1e080 2d 63 6f 6c 6f 72 2d 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 72 6c 20 28 64 -color-url)).............(url.(d
1e0a0 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 75 72 6c 20 63 6f 6c 6f 72 29 29 0a 20 20 20 20 jvu-interactive-url.color)).....
1e0c0 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 65 6e 74 20 28 64 6a 76 75 2d 72 65 61 64 2d 73 74 72 69 ........(comment.(djvu-read-stri
1e0e0 6e 67 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 6f 72 6d 61 74 ng.......................(format
1e100 20 22 28 25 73 2c 20 25 73 29 20 41 6e 6e 6f 74 61 74 69 6f 6e 3a 20 22 0a 20 20 20 20 20 20 20 ."(%s,.%s).Annotation:."........
1e120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 72 6c 20 28 6f 72 20 63 .......................url.(or.c
1e140 6f 6c 6f 72 20 22 6e 6f 20 63 6f 6c 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 olor."no.color"))...............
1e160 20 20 20 20 20 20 20 20 72 65 67 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 ........region)))........(list.(
1e180 63 61 72 20 72 65 67 69 6f 6e 29 20 28 63 64 72 20 72 65 67 69 6f 6e 29 20 75 72 6c 20 63 6f 6d car.region).(cdr.region).url.com
1e1a0 6d 65 6e 74 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 6f 70 61 63 69 74 79 20 27 78 6f 72 29 29 29 29 ment.color.djvu-opacity.'xor))))
1e1c0 0a 20 20 28 64 6a 76 75 2d 72 65 63 74 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 20 75 72 6c ...(djvu-rect-region.beg.end.url
1e1e0 20 63 6f 6d 6d 65 6e 74 20 63 6f 6c 6f 72 20 6f 70 61 63 69 74 79 20 62 6f 72 64 65 72 29 29 0a .comment.color.opacity.border)).
1e200 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 63 74 2d 72 65 67 69 6f 6e 20 28 62 65 67 20 65 6e .(defun.djvu-rect-region.(beg.en
1e220 64 20 75 72 6c 20 63 6f 6d 6d 65 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 6c 6f 72 20 6f 70 d.url.comment.&optional.color.op
1e240 61 63 69 74 79 20 62 6f 72 64 65 72 29 0a 20 20 22 48 69 67 68 6c 69 67 68 74 20 72 65 67 69 6f acity.border)..."Highlight.regio
1e260 6e 20 62 65 74 77 65 65 6e 20 42 45 47 20 61 6e 64 20 45 4e 44 2c 20 61 64 64 20 55 52 4c 20 61 n.between.BEG.and.END,.add.URL.a
1e280 6e 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 43 4f 4d 4d 45 4e 54 2e 22 0a 20 20 28 69 6e 74 65 72 nd.annotation.COMMENT."...(inter
1e2a0 61 63 74 69 76 65 0a 20 20 20 28 64 6a 76 75 2d 77 69 74 68 2d 72 65 67 69 6f 6e 20 72 65 67 69 active....(djvu-with-region.regi
1e2c0 6f 6e 0a 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 6c 6f 72 20 28 64 6a 76 75 2d 69 6e 74 65 on......(let*.((color.(djvu-inte
1e2e0 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 67 68 6c 69 67 ractive-color.djvu-color-highlig
1e300 68 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 65 6e 74 20 28 64 6a 76 75 2d ht)).............(comment.(djvu-
1e320 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 20 41 6e 6e 6f 74 61 read-string.(format."(%s).Annota
1e340 74 69 6f 6e 3a 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 tion:.".........................
1e360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 63 6f 6c 6f 72 .......................(or.color
1e380 20 22 6e 6f 20 63 6f 6c 6f 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."no.color"))...................
1e3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 67 69 6f 6e 29 29 29 0a 20 .....................region)))..
1e3c0 20 20 20 20 20 20 28 6c 69 73 74 20 28 63 61 72 20 72 65 67 69 6f 6e 29 20 28 63 64 72 20 72 65 ......(list.(car.region).(cdr.re
1e3e0 67 69 6f 6e 29 20 6e 69 6c 20 63 6f 6d 6d 65 6e 74 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 6f 70 61 gion).nil.comment.color.djvu-opa
1e400 63 69 74 79 20 27 6e 6f 6e 65 29 29 29 29 0a 0a 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 2d 74 city.'none))))....(unless.(get-t
1e420 65 78 74 2d 70 72 6f 70 65 72 74 79 20 62 65 67 20 27 77 6f 72 64 29 0a 20 20 20 20 28 75 73 65 ext-property.beg.'word).....(use
1e440 72 2d 65 72 72 6f 72 20 22 53 74 61 72 74 20 70 6f 73 69 74 69 6f 6e 20 60 25 73 27 20 6e 6f 74 r-error."Start.position.`%s'.not
1e460 20 61 20 77 6f 72 64 22 20 62 65 67 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 2d 74 65 .a.word".beg))...(unless.(get-te
1e480 78 74 2d 70 72 6f 70 65 72 74 79 20 28 31 2d 20 65 6e 64 29 20 27 77 6f 72 64 29 0a 20 20 20 20 xt-property.(1-.end).'word).....
1e4a0 28 75 73 65 72 2d 65 72 72 6f 72 20 22 45 6e 64 20 70 6f 73 69 74 69 6f 6e 20 60 25 73 27 20 6e (user-error."End.position.`%s'.n
1e4c0 6f 74 20 61 20 77 6f 72 64 22 20 65 6e 64 29 29 0a 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 73 20 ot.a.word".end))...(let.((lines.
1e4e0 28 64 6a 76 75 2d 72 65 67 69 6f 6e 2d 63 6f 75 6e 74 20 62 65 67 20 65 6e 64 20 27 6c 69 6e 65 (djvu-region-count.beg.end.'line
1e500 29 29 0a 20 20 20 20 20 20 20 20 28 70 61 72 61 73 20 28 64 6a 76 75 2d 72 65 67 69 6f 6e 2d 63 )).........(paras.(djvu-region-c
1e520 6f 75 6e 74 20 62 65 67 20 65 6e 64 20 27 70 61 72 61 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 ount.beg.end.'para)).........(re
1e540 67 69 6f 6e 73 20 28 64 6a 76 75 2d 72 65 67 69 6f 6e 2d 63 6f 75 6e 74 20 62 65 67 20 65 6e 64 gions.(djvu-region-count.beg.end
1e560 20 27 72 65 67 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6c 75 6d 6e 73 20 28 64 6a 76 .'region)).........(columns.(djv
1e580 75 2d 72 65 67 69 6f 6e 2d 63 6f 75 6e 74 20 62 65 67 20 65 6e 64 20 27 63 6f 6c 75 6d 6e 29 29 u-region-count.beg.end.'column))
1e5a0 0a 20 20 20 20 20 20 20 20 61 72 65 61 73 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 .........areas).....(unless.(and
1e5c0 20 28 3e 3d 20 31 20 70 61 72 61 73 29 20 28 3e 3d 20 31 20 72 65 67 69 6f 6e 73 29 20 28 3e 3d .(>=.1.paras).(>=.1.regions).(>=
1e5e0 20 31 20 63 6f 6c 75 6d 6e 73 29 29 0a 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 .1.columns)).......(user-error."
1e600 52 65 67 69 6f 6e 20 73 70 61 6e 73 20 6d 75 6c 74 69 70 6c 65 20 70 61 72 61 67 72 61 70 68 73 Region.spans.multiple.paragraphs
1e620 22 29 29 0a 0a 20 20 20 20 28 69 66 20 28 65 71 20 31 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 "))......(if.(eq.1.lines).......
1e640 20 20 28 73 65 74 71 20 61 72 65 61 73 20 28 6c 69 73 74 20 28 64 6a 76 75 2d 73 63 61 6e 2d 7a ..(setq.areas.(list.(djvu-scan-z
1e660 6f 6e 65 20 62 65 67 20 65 6e 64 20 27 77 6f 72 64 29 29 29 0a 0a 20 20 20 20 20 20 28 69 66 20 one.beg.end.'word)))........(if.
1e680 28 65 71 20 32 20 6c 69 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 31 (eq.2.lines)...........(let.((c1
1e6a0 20 28 64 6a 76 75 2d 73 63 61 6e 2d 7a 6f 6e 65 20 62 65 67 20 28 64 6a 76 75 2d 70 72 6f 70 65 .(djvu-scan-zone.beg.(djvu-prope
1e6c0 72 74 79 2d 65 6e 64 20 28 31 2b 20 62 65 67 29 20 27 6c 69 6e 65 29 20 27 77 6f 72 64 29 29 0a rty-end.(1+.beg).'line).'word)).
1e6e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 32 20 28 64 6a 76 75 2d 73 63 61 6e 2d 7a ................(c2.(djvu-scan-z
1e700 6f 6e 65 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 62 65 67 20 28 31 2d 20 65 6e 64 29 20 one.(djvu-property-beg.(1-.end).
1e720 27 6c 69 6e 65 29 20 65 6e 64 20 27 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 'line).end.'word))).............
1e740 3b 3b 20 49 66 20 42 45 47 20 69 73 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 66 69 72 73 74 20 ;;.If.BEG.is.beginning.of.first.
1e760 6c 69 6e 65 2c 20 62 6f 74 68 20 6c 69 6e 65 73 20 73 68 61 72 65 20 73 61 6d 65 20 6c 65 66 74 line,.both.lines.share.same.left
1e780 20 6d 61 72 67 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3d .margin..............(if.(and.(=
1e7a0 20 62 65 67 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 62 65 67 20 62 65 67 20 27 6c 69 6e .beg.(djvu-property-beg.beg.'lin
1e7c0 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 28 64 6a 76 75 2d 61 e))......................(djvu-a
1e7e0 72 65 61 73 2d 6a 75 73 74 69 66 79 20 74 20 63 31 20 63 32 29 29 0a 20 20 20 20 20 20 20 20 20 reas-justify.t.c1.c2))..........
1e800 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6a 75 73 74 69 66 79 2d 61 72 65 61 73 20 27 6d 69 6e 20 .......(djvu-justify-areas.'min.
1e820 30 20 63 31 20 63 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 45 4e 44 20 0.c1.c2)).............;;.If.END.
1e840 69 73 20 65 6e 64 20 6f 66 20 73 65 63 6f 6e 64 20 6c 69 6e 65 2c 20 62 6f 74 68 20 6c 69 6e 65 is.end.of.second.line,.both.line
1e860 73 20 73 68 61 72 65 20 73 61 6d 65 20 72 69 67 68 74 20 6d 61 72 67 69 6e 2e 0a 20 20 20 20 20 s.share.same.right.margin.......
1e880 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 65 6e 64 20 28 64 6a 76 75 2d 70 72 6f .......(if.(and.(=.end.(djvu-pro
1e8a0 70 65 72 74 79 2d 65 6e 64 20 65 6e 64 20 27 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 perty-end.end.'line))...........
1e8c0 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 61 72 65 61 73 2d 6a 75 73 74 69 66 79 20 6e ...........(djvu-areas-justify.n
1e8e0 69 6c 20 63 32 20 63 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 il.c2.c1)).................(djvu
1e900 2d 6a 75 73 74 69 66 79 2d 61 72 65 61 73 20 27 6d 61 78 20 32 20 63 31 20 63 32 29 29 0a 20 20 -justify-areas.'max.2.c1.c2))...
1e920 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 3d 20 28 61 72 65 66 20 63 31 20 30 29 20 28 61 ..........(if.(<=.(aref.c1.0).(a
1e940 72 65 66 20 63 32 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f ref.c2.2)).................;;.Lo
1e960 77 65 72 20 62 6f 75 6e 64 20 6f 66 20 75 70 70 65 72 20 62 6f 78 20 61 6e 64 20 75 70 70 65 72 wer.bound.of.upper.box.and.upper
1e980 20 62 6f 75 6e 64 20 6f 66 20 6c 6f 77 65 72 20 62 6f 78 20 63 6f 69 6e 63 69 64 65 2e 0a 20 20 .bound.of.lower.box.coincide....
1e9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 6d 70 20 28 2f 20 28 2b 20 28 ..............(let.((tmp.(/.(+.(
1e9c0 61 72 65 66 20 63 31 20 31 29 20 28 61 72 65 66 20 63 32 20 33 29 29 20 32 29 29 29 0a 20 20 20 aref.c1.1).(aref.c2.3)).2)))....
1e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 63 31 20 31 20 74 6d 70 29 20 28 ...............(aset.c1.1.tmp).(
1ea00 61 73 65 74 20 63 32 20 33 20 74 6d 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 aset.c2.3.tmp))).............(se
1ea20 74 71 20 61 72 65 61 73 20 28 6c 69 73 74 20 63 31 20 63 32 29 29 29 0a 20 20 20 20 20 20 20 20 tq.areas.(list.c1.c2))).........
1ea40 3b 3b 20 33 20 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 31 65 20 28 ;;.3.lines.........(let*.((l1e.(
1ea60 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 65 6e 64 20 28 31 2b 20 62 65 67 29 20 27 6c 69 6e 65 djvu-property-end.(1+.beg).'line
1ea80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 32 62 20 28 64 6a 76 75 2d 70 72 6f ))................(l2b.(djvu-pro
1eaa0 70 65 72 74 79 2d 62 65 67 20 28 31 2d 20 65 6e 64 29 20 27 6c 69 6e 65 29 29 0a 20 20 20 20 20 perty-beg.(1-.end).'line))......
1eac0 20 20 20 20 20 20 20 20 20 20 28 63 31 20 20 28 64 6a 76 75 2d 73 63 61 6e 2d 7a 6f 6e 65 20 62 ..........(c1..(djvu-scan-zone.b
1eae0 65 67 20 6c 31 65 20 27 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 eg.l1e.'word))................(c
1eb00 69 20 20 28 64 6a 76 75 2d 73 63 61 6e 2d 7a 6f 6e 65 20 28 31 2b 20 6c 31 65 29 20 28 31 2d 20 i..(djvu-scan-zone.(1+.l1e).(1-.
1eb20 6c 32 62 29 20 27 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 32 20 l2b).'line))................(c2.
1eb40 20 28 64 6a 76 75 2d 73 63 61 6e 2d 7a 6f 6e 65 20 6c 32 62 20 65 6e 64 20 27 77 6f 72 64 29 29 .(djvu-scan-zone.l2b.end.'word))
1eb60 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 42 45 47 20 69 73 20 62 65 67 69 6e 6e 69 )...........;;.If.BEG.is.beginni
1eb80 6e 67 20 6f 66 20 66 69 72 73 74 20 6c 69 6e 65 2c 20 61 6c 6c 20 6c 69 6e 65 73 20 73 68 61 72 ng.of.first.line,.all.lines.shar
1eba0 65 20 73 61 6d 65 20 6c 65 66 74 20 6d 61 72 67 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 28 63 e.same.left.margin............(c
1ebc0 6f 6e 64 20 28 28 61 6e 64 20 28 3d 20 62 65 67 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d ond.((and.(=.beg.(djvu-property-
1ebe0 62 65 67 20 62 65 67 20 27 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 beg.beg.'line)).................
1ec00 20 20 20 20 20 20 28 64 6a 76 75 2d 61 72 65 61 73 2d 6a 75 73 74 69 66 79 20 74 20 63 31 20 63 ......(djvu-areas-justify.t.c1.c
1ec20 69 20 63 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6a 75 i.c2))..................(djvu-ju
1ec40 73 74 69 66 79 2d 61 72 65 61 73 20 27 6d 69 6e 20 30 20 63 31 20 63 69 20 63 32 29 29 0a 20 20 stify-areas.'min.0.c1.ci.c2))...
1ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 64 6a 76 75 2d 61 72 65 61 73 2d 6a 75 73 74 69 ..............((djvu-areas-justi
1ec80 66 79 20 74 20 63 69 20 63 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a fy.t.ci.c2)..................(dj
1eca0 76 75 2d 6a 75 73 74 69 66 79 2d 61 72 65 61 73 20 27 6d 69 6e 20 30 20 63 69 20 63 32 29 29 29 vu-justify-areas.'min.0.ci.c2)))
1ecc0 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 45 4e 44 20 69 73 20 65 6e 64 20 6f 66 20 6c ...........;;.If.END.is.end.of.l
1ece0 61 73 74 20 6c 69 6e 65 2c 20 61 6c 6c 20 6c 69 6e 65 73 20 73 68 61 72 65 20 73 61 6d 65 20 72 ast.line,.all.lines.share.same.r
1ed00 69 67 68 74 20 6d 61 72 67 69 6e 2e 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 61 ight.margin............(cond.((a
1ed20 6e 64 20 28 3d 20 65 6e 64 20 28 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 65 6e 64 20 65 6e 64 nd.(=.end.(djvu-property-end.end
1ed40 20 27 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .'line)).......................(
1ed60 64 6a 76 75 2d 61 72 65 61 73 2d 6a 75 73 74 69 66 79 20 6e 69 6c 20 63 32 20 63 69 20 63 31 29 djvu-areas-justify.nil.c2.ci.c1)
1ed80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6a 75 73 74 69 66 79 )..................(djvu-justify
1eda0 2d 61 72 65 61 73 20 27 6d 61 78 20 32 20 63 31 20 63 69 20 63 32 29 29 0a 20 20 20 20 20 20 20 -areas.'max.2.c1.ci.c2))........
1edc0 20 20 20 20 20 20 20 20 20 28 28 64 6a 76 75 2d 61 72 65 61 73 2d 6a 75 73 74 69 66 79 20 6e 69 .........((djvu-areas-justify.ni
1ede0 6c 20 63 31 20 63 69 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d l.c1.ci)..................(djvu-
1ee00 6a 75 73 74 69 66 79 2d 61 72 65 61 73 20 27 6d 61 78 20 32 20 63 31 20 63 69 29 29 29 0a 20 20 justify-areas.'max.2.c1.ci)))...
1ee20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 6d 70 31 20 28 2f 20 28 2b 20 28 61 72 65 66 20 ........(let.((tmp1.(/.(+.(aref.
1ee40 63 31 20 31 29 20 28 61 72 65 66 20 63 69 20 33 29 29 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 c1.1).(aref.ci.3)).2))..........
1ee60 20 20 20 20 20 20 20 28 74 6d 70 32 20 28 2f 20 28 2b 20 28 61 72 65 66 20 63 69 20 31 29 20 28 .......(tmp2.(/.(+.(aref.ci.1).(
1ee80 61 72 65 66 20 63 32 20 33 29 29 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 aref.c2.3)).2))).............;;.
1eea0 4c 6f 77 65 72 20 62 6f 75 6e 64 20 6f 66 20 75 70 70 65 72 20 62 6f 78 65 73 20 61 6e 64 20 75 Lower.bound.of.upper.boxes.and.u
1eec0 70 70 65 72 20 62 6f 75 6e 64 20 6f 66 20 6c 6f 77 65 72 20 62 6f 78 65 73 20 63 6f 69 6e 63 69 pper.bound.of.lower.boxes.coinci
1eee0 64 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 63 31 20 31 20 74 6d 70 31 29 de..............(aset.c1.1.tmp1)
1ef00 20 28 61 73 65 74 20 63 69 20 33 20 74 6d 70 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 .(aset.ci.3.tmp1).............(a
1ef20 73 65 74 20 63 69 20 31 20 74 6d 70 32 29 20 28 61 73 65 74 20 63 32 20 33 20 74 6d 70 32 29 29 set.ci.1.tmp2).(aset.c2.3.tmp2))
1ef40 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 72 65 61 73 20 28 6c 69 73 74 20 63 31 20 ...........(setq.areas.(list.c1.
1ef60 63 69 20 63 32 29 29 29 29 29 0a 0a 20 20 20 20 28 64 6a 76 75 2d 72 65 63 74 2d 61 72 65 61 20 ci.c2)))))......(djvu-rect-area.
1ef80 75 72 6c 20 63 6f 6d 6d 65 6e 74 20 61 72 65 61 73 20 63 6f 6c 6f 72 20 6f 70 61 63 69 74 79 20 url.comment.areas.color.opacity.
1efa0 62 6f 72 64 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 65 72 67 65 2d 61 72 65 border)))..(defun.djvu-merge-are
1efc0 61 73 20 28 61 72 65 61 73 29 0a 20 20 22 54 72 79 20 74 6f 20 6d 65 72 67 65 20 65 6c 65 6d 65 as.(areas)..."Try.to.merge.eleme
1efe0 6e 74 73 20 69 6e 20 41 52 45 41 53 2e 0a 54 68 69 73 20 61 73 73 75 6d 65 73 20 74 68 61 74 20 nts.in.AREAS..This.assumes.that.
1f000 65 6c 65 6d 65 6e 74 20 4e 20 69 6e 20 41 52 45 41 53 20 69 73 20 61 62 6f 76 65 20 65 6c 65 6d element.N.in.AREAS.is.above.elem
1f020 65 6e 74 20 4e 2b 31 2e 0a 49 66 20 73 75 63 68 20 61 20 70 61 69 72 20 6f 66 20 65 6c 65 6d 65 ent.N+1..If.such.a.pair.of.eleme
1f040 6e 74 73 20 68 61 73 20 74 68 65 20 73 61 6d 65 20 6c 65 66 74 20 61 6e 64 20 72 69 67 68 74 20 nts.has.the.same.left.and.right.
1f060 62 6f 75 6e 64 61 72 69 65 73 2c 0a 61 6e 64 20 74 68 65 20 6c 6f 77 65 72 20 62 6f 75 6e 64 61 boundaries,.and.the.lower.bounda
1f080 72 79 20 6f 66 20 4e 20 65 71 75 61 6c 73 20 74 68 65 20 75 70 70 65 72 20 62 6f 75 6e 64 61 72 ry.of.N.equals.the.upper.boundar
1f0a0 79 20 6f 66 20 4e 2b 31 2c 0a 74 68 65 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 6d 65 72 y.of.N+1,.these.elements.are.mer
1f0c0 67 65 64 20 69 6e 74 6f 20 6f 6e 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 61 72 65 61 73 20 61 72 ged.into.one."...(let.((areas.ar
1f0e0 65 61 73 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 74 68 20 31 20 61 72 65 61 73 29 0a 20 eas)).....(while.(nth.1.areas)..
1f100 20 20 20 20 20 28 6c 65 74 20 28 28 63 30 20 28 6e 74 68 20 30 20 61 72 65 61 73 29 29 20 28 63 .....(let.((c0.(nth.0.areas)).(c
1f120 31 20 28 6e 74 68 20 31 20 61 72 65 61 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 61 1.(nth.1.areas))).........(if.(a
1f140 6e 64 20 28 65 71 20 28 61 72 65 66 20 63 30 20 30 29 20 28 61 72 65 66 20 63 31 20 30 29 29 0a nd.(eq.(aref.c0.0).(aref.c1.0)).
1f160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 61 72 65 66 20 63 30 20 32 29 .................(eq.(aref.c0.2)
1f180 20 28 61 72 65 66 20 63 31 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .(aref.c1.2))..................(
1f1a0 65 71 20 28 61 72 65 66 20 63 30 20 31 29 20 28 61 72 65 66 20 63 31 20 33 29 29 29 0a 20 20 20 eq.(aref.c0.1).(aref.c1.3)))....
1f1c0 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 61 73 65 74 20 63 30 20 31 20 28 61 72 65 66 .........(progn.(aset.c0.1.(aref
1f1e0 20 63 31 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 .c1.1))....................(setc
1f200 64 72 20 61 72 65 61 73 20 28 63 64 64 72 20 61 72 65 61 73 29 29 29 0a 20 20 20 20 20 20 20 20 dr.areas.(cddr.areas))).........
1f220 20 20 28 70 6f 70 20 61 72 65 61 73 29 29 29 29 29 0a 20 20 61 72 65 61 73 29 0a 0a 28 64 65 66 ..(pop.areas)))))...areas)..(def
1f240 75 6e 20 64 6a 76 75 2d 72 65 63 74 2d 61 72 65 61 20 28 75 72 6c 20 63 6f 6d 6d 65 6e 74 20 72 un.djvu-rect-area.(url.comment.r
1f260 65 63 74 73 20 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 6c 6f 72 20 6f 70 61 63 69 74 79 20 62 6f 72 ects.&optional.color.opacity.bor
1f280 64 65 72 29 0a 20 20 22 55 73 69 6e 67 20 55 52 4c 20 61 6e 64 20 43 4f 4d 4d 45 4e 54 2c 20 68 der)..."Using.URL.and.COMMENT,.h
1f2a0 69 67 68 6c 69 67 68 74 20 52 45 43 54 53 2e 0a 54 68 65 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 ighlight.RECTS..The.elements.in.
1f2c0 74 68 65 20 6c 69 73 74 20 52 45 43 54 53 20 61 72 65 20 34 2d 65 6c 65 6d 65 6e 74 20 73 65 71 the.list.RECTS.are.4-element.seq
1f2e0 75 65 6e 63 65 73 20 6f 66 20 63 6f 6f 72 64 69 6e 61 74 65 73 0a 65 61 63 68 20 64 65 66 69 6e uences.of.coordinates.each.defin
1f300 69 6e 67 20 61 20 72 65 63 74 20 61 72 65 61 20 66 6f 72 20 64 6a 76 75 73 65 64 2e 22 0a 20 20 ing.a.rect.area.for.djvused."...
1f320 28 73 65 74 71 20 72 65 63 74 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 72 65 63 (setq.rects.(mapcar.(lambda.(rec
1f340 74 29 20 28 61 70 70 6c 79 20 27 66 6f 72 6d 61 74 20 22 28 72 65 63 74 20 25 64 20 25 64 20 25 t).(apply.'format."(rect.%d.%d.%
1f360 64 20 25 64 29 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 d.%d)"..........................
1f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 62 6f 75 6e 64 2d 61 ...................(djvu-bound-a
1f3a0 72 65 61 20 72 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rea.rect))).....................
1f3c0 20 20 28 64 6a 76 75 2d 6d 65 72 67 65 2d 61 72 65 61 73 20 72 65 63 74 73 29 29 29 0a 20 20 3b ..(djvu-merge-areas.rects)))...;
1f3e0 3b 20 49 6e 73 65 72 74 20 69 6e 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 65 72 2e 0a ;.Insert.in.Annotations.buffer..
1f400 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 ..(with-current-buffer.(djvu-ref
1f420 20 61 6e 6e 6f 74 2d 62 75 66 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 64 6a 76 .annot-buf).....(unless.(and.djv
1f440 75 2d 72 65 63 74 2d 61 72 65 61 2d 6e 6f 64 75 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 u-rect-area-nodups..............
1f460 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 20 20 20 20 20 20 ....(save-excursion.............
1f480 20 20 20 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 .......(goto-char.(point-min))..
1f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 ..................(re-search-for
1f4c0 77 61 72 64 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 72 65 63 74 73 ward.(mapconcat.#'identity.rects
1f4e0 20 22 5b 20 5c 74 5c 6e 5d 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."[.\t\n]*")....................
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 ...................nil.t))).....
1f520 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 20 ..(goto-char.(point-max)).......
1f540 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 28 6d 61 70 61 72 65 61 20 25 53 5c 6e 20 25 (insert.(format."(maparea.%S\n.%
1f560 53 5c 6e 20 28 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 6f 72 S\n.(".......................(or
1f580 20 75 72 6c 20 22 22 29 20 28 69 66 20 63 6f 6d 6d 65 6e 74 20 28 64 6a 76 75 2d 66 69 6c 6c 20 .url."").(if.comment.(djvu-fill.
1f5a0 63 6f 6d 6d 65 6e 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 comment).""))...............(map
1f5c0 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 72 65 63 74 73 20 22 5c 6e 20 20 22 29 0a concat.#'identity.rects."\n..").
1f5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 29 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..............")\n".............
1f600 20 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 63 6f 6c 6f 72 20 22 68 69 6c 69 74 65 22 20 63 6f ..(djvu-insert-color."hilite".co
1f620 6c 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 63 6f 6c 6f lor)...............(if.(and.colo
1f640 72 20 6f 70 61 63 69 74 79 29 20 28 66 6f 72 6d 61 74 20 22 20 28 6f 70 61 63 69 74 79 20 25 73 r.opacity).(format.".(opacity.%s
1f660 29 22 20 6f 70 61 63 69 74 79 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 )".opacity)."")...............(f
1f680 6f 72 6d 61 74 20 22 20 28 25 73 29 22 20 28 6f 72 20 62 6f 72 64 65 72 20 27 6e 6f 6e 65 29 29 ormat.".(%s)".(or.border.'none))
1f6a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 29 5c 6e 5c 6e 22 29 0a 20 20 20 20 20 20 28 75 ...............")\n\n").......(u
1f6c0 6e 64 6f 2d 62 6f 75 6e 64 61 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 66 69 ndo-boundary))))..(defun.djvu-fi
1f6e0 6c 6c 20 28 74 65 78 74 29 0a 20 20 22 46 69 6c 6c 20 73 74 72 69 6e 67 20 54 45 58 54 20 75 73 ll.(text)..."Fill.string.TEXT.us
1f700 69 6e 67 20 60 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 27 20 6f 66 20 74 68 65 20 61 6e 6e 6f 74 61 74 ing.`fill-column'.of.the.annotat
1f720 69 6f 6e 73 20 62 75 66 66 65 72 2e 0a 54 68 69 73 20 76 61 6c 75 65 20 6f 66 20 60 66 69 6c 6c ions.buffer..This.value.of.`fill
1f740 2d 63 6f 6c 75 6d 6e 27 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 6a 76 75 2d 66 69 6c 6c 2d -column'.defaults.to.`djvu-fill-
1f760 63 6f 6c 75 6d 6e 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 63 6f 6c 75 6d 6e 20 28 77 69 74 68 column'."...(let.((fcolumn.(with
1f780 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d -current-buffer.(djvu-ref.annot-
1f7a0 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 6c 2d 63 6f 6c buf)....................fill-col
1f7c0 75 6d 6e 29 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 umn))).....(with-temp-buffer....
1f7e0 20 20 20 28 69 6e 73 65 72 74 20 74 65 78 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 ...(insert.text).......(let.((fi
1f800 6c 6c 2d 63 6f 6c 75 6d 6e 20 66 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 28 66 69 6c ll-column.fcolumn)).........(fil
1f820 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 l-region.(point-min).(point-max)
1f840 29 29 0a 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 )).......(buffer-substring-no-pr
1f860 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 operties........(point-min).(poi
1f880 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 74 6f 67 67 6c 65 2d nt-max)))))..(defun.djvu-toggle-
1f8a0 72 65 63 74 2d 74 65 78 74 2d 69 6e 74 65 72 6e 61 6c 20 28 29 0a 20 20 22 54 6f 67 67 6c 65 20 rect-text-internal.()..."Toggle.
1f8c0 62 65 74 77 65 65 6e 20 4d 61 70 61 72 65 61 73 20 72 65 63 74 20 61 6e 64 20 74 65 78 74 2e 22 between.Mapareas.rect.and.text."
1f8e0 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 62 6f 75 6e 64 73 ...(interactive)...(let.((bounds
1f900 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 6f 75 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 .(djvu-object-bounds)).........(
1f920 72 65 63 74 2d 72 65 20 28 66 6f 72 6d 61 74 20 22 28 72 65 63 74 5b 5c 73 5c 74 5d 2b 25 73 29 rect-re.(format."(rect[\s\t]+%s)
1f940 22 20 64 6a 76 75 2d 63 6f 6f 72 64 73 2d 72 65 29 29 0a 20 20 20 20 20 20 20 20 28 74 65 78 74 ".djvu-coords-re)).........(text
1f960 2d 72 65 20 28 66 6f 72 6d 61 74 20 22 28 74 65 78 74 5b 5c 73 5c 74 5d 2b 25 73 29 22 20 64 6a -re.(format."(text[\s\t]+%s)".dj
1f980 76 75 2d 63 6f 6f 72 64 73 2d 72 65 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6c 6f 72 2d 72 65 vu-coords-re)).........(color-re
1f9a0 20 28 66 6f 72 6d 61 74 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 72 65 20 22 23 22 20 22 22 20 22 22 .(format.djvu-color-re."#"."".""
1f9c0 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 62 6f 75 6e 64 73 29 0a 20 20 20 20 20 20 20 ))).....(if.(not.bounds)........
1f9e0 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 6f 62 6a 65 63 74 20 74 6f 20 75 70 64 61 74 .(user-error."No.object.to.updat
1fa00 65 22 29 0a 20 20 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 e").......(save-excursion.......
1fa20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6e ..(save-restriction...........(n
1fa40 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 28 63 61 72 20 62 6f 75 6e 64 73 29 20 28 63 64 arrow-to-region.(car.bounds).(cd
1fa60 72 20 62 6f 75 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 r.bounds))...........(goto-char.
1fa80 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 (point-min))............(cond.((
1faa0 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 72 65 63 74 2d 72 65 20 6e 69 6c 20 74 29 re-search-forward.rect-re.nil.t)
1fac0 20 3b 20 4d 61 70 61 72 65 61 20 72 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .;.Maparea.rect.................
1fae0 20 28 69 66 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 20 28 72 65 2d 73 65 61 72 63 68 .(if.(save-match-data.(re-search
1fb00 2d 66 6f 72 77 61 72 64 20 72 65 63 74 2d 72 65 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 20 -forward.rect-re.nil.t))........
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4f 6e 6c 79 20 ..............(user-error."Only.
1fb40 73 69 6e 67 6c 65 20 72 65 63 74 20 63 61 6e 20 62 65 20 63 6f 6e 76 65 72 74 65 64 20 74 6f 20 single.rect.can.be.converted.to.
1fb60 74 65 78 74 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 text"))..................(replac
1fb80 65 2d 6d 61 74 63 68 20 28 66 6f 72 6d 61 74 20 22 74 65 78 74 20 25 73 22 20 28 6d 61 74 63 68 e-match.(format."text.%s".(match
1fba0 2d 73 74 72 69 6e 67 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 -string.2)))..................(g
1fbc0 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 20 oto-char.(point-min))...........
1fbe0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 70 61 63 69 74 79 0a 20 20 20 20 20 20 20 20 20 20 .......(let.((opacity...........
1fc00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 ..............(if.(re-search-for
1fc20 77 61 72 64 20 22 20 2a 28 6f 70 61 63 69 74 79 20 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 29 22 20 ward.".*(opacity.\\([0-9]+\\))".
1fc40 6e 69 6c 20 74 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 nil.t)..........................
1fc60 20 20 20 28 70 72 6f 67 31 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 31 29 0a ...(prog1.(djvu-match-number.1).
1fc80 20 20 20 20 20 20 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 72 ..............................(r
1fca0 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eplace-match.""))...............
1fcc0 20 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 6f 70 61 63 69 74 79 29 29 29 0a 20 20 20 20 ............djvu-opacity))).....
1fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 ...............(goto-char.(point
1fd00 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f 6f -min))....................;;.Loo
1fd20 70 20 6f 76 65 72 20 6d 61 74 63 68 65 73 20 6f 66 20 43 4f 4c 4f 52 2d 52 45 20 61 73 20 74 68 p.over.matches.of.COLOR-RE.as.th
1fd40 69 73 20 67 65 6e 65 72 61 6c 20 72 65 67 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 is.general.regexp...............
1fd60 20 20 20 20 20 3b 3b 20 61 6c 73 6f 20 6d 61 74 63 68 65 73 20 65 6c 65 6d 65 6e 74 73 20 74 68 .....;;.also.matches.elements.th
1fd80 61 74 20 73 6f 20 66 61 72 20 77 65 20 64 6f 20 6e 6f 74 20 63 61 72 65 20 61 62 6f 75 74 2e 0a at.so.far.we.do.not.care.about..
1fda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 ...................(while.(re-se
1fdc0 61 72 63 68 2d 66 6f 72 77 61 72 64 20 63 6f 6c 6f 72 2d 72 65 20 6e 69 6c 20 74 29 0a 20 20 20 arch-forward.color-re.nil.t)....
1fde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 28 6d 61 ..................(if.(equal.(ma
1fe00 74 63 68 2d 73 74 72 69 6e 67 20 31 29 20 22 68 69 6c 69 74 65 22 29 0a 20 20 20 20 20 20 20 20 tch-string.1)."hilite").........
1fe20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 0a .................(replace-match.
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 ..........................(forma
1fe60 74 20 22 28 62 61 63 6b 63 6c 72 20 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t."(backclr.%s)"................
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 ...................(save-match-d
1fea0 61 74 61 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 ata.............................
1fec0 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 0a 20 ........(djvu-color-background..
1fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ff00 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 29 20 6e 69 6c 20 6f 70 61 63 69 74 79 ....(match-string.2).nil.opacity
1ff20 29 29 29 29 29 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 72 65 2d 73 ))))))))..................((re-s
1ff40 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 74 65 78 74 2d 72 65 20 6e 69 6c 20 74 29 20 3b 20 4d earch-forward.text-re.nil.t).;.M
1ff60 61 70 61 72 65 61 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 aparea.text..................;;.
1ff80 4f 6e 6c 79 20 77 69 74 68 20 6d 61 70 61 72 65 61 20 74 65 78 74 20 77 65 20 77 61 6e 74 20 74 Only.with.maparea.text.we.want.t
1ffa0 6f 20 71 75 65 72 79 20 74 68 65 20 6f 70 61 63 69 74 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 o.query.the.opacity.............
1ffc0 20 20 20 20 20 20 3b 3b 20 50 75 74 74 69 6e 67 20 74 68 69 73 20 69 6e 74 6f 20 74 68 65 20 69 ......;;.Putting.this.into.the.i
1ffe0 6e 74 65 72 61 63 74 69 76 65 20 73 70 65 63 20 77 6f 75 6c 64 20 72 65 71 75 69 72 65 0a 20 20 nteractive.spec.would.require...
20000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 20 64 75 70 6c 69 63 61 74 65 20 74 ...............;;.to.duplicate.t
20020 68 65 20 6a 6f 62 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 he.job...................(let.((
20040 6f 70 61 63 69 74 79 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 opacity.(save-match-data........
20060 20 20 20 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 72 65 61 64 ...........................(read
20080 2d 6e 75 6d 62 65 72 20 22 4f 70 61 63 69 74 79 3a 20 22 20 64 6a 76 75 2d 6f 70 61 63 69 74 79 -number."Opacity:.".djvu-opacity
200a0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 ))))....................(replace
200c0 2d 6d 61 74 63 68 20 28 66 6f 72 6d 61 74 20 22 28 28 72 65 63 74 20 25 73 29 29 22 20 28 6d 61 -match.(format."((rect.%s))".(ma
200e0 74 63 68 2d 73 74 72 69 6e 67 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tch-string.2))).................
20100 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 20 ...(goto-char.(point-min))......
20120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4c 6f 6f 70 20 6f 76 65 72 20 6d 61 74 63 68 ..............;;.Loop.over.match
20140 65 73 20 6f 66 20 43 4f 4c 4f 52 2d 52 45 20 61 73 20 74 68 69 73 20 67 65 6e 65 72 61 6c 20 72 es.of.COLOR-RE.as.this.general.r
20160 65 67 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6c 73 6f egexp....................;;.also
20180 20 6d 61 74 63 68 65 73 20 65 6c 65 6d 65 6e 74 73 20 74 68 61 74 20 73 6f 20 66 61 72 20 77 65 .matches.elements.that.so.far.we
201a0 20 64 6f 20 6e 6f 74 20 63 61 72 65 20 61 62 6f 75 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .do.not.care.about..............
201c0 20 20 20 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 .......(while.(re-search-forward
201e0 20 63 6f 6c 6f 72 2d 72 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .color-re.nil.t)................
20200 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 ......(if.(equal.(match-string.1
20220 29 20 22 62 61 63 6b 63 6c 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )."backclr")....................
20240 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 ......(replace-match............
20260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 28 68 69 6c 69 74 65 20 ...............(format."(hilite.
20280 25 73 29 20 28 6f 70 61 63 69 74 79 20 25 64 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %s).(opacity.%d)"...............
202a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 6d 61 74 63 68 2d ....................(save-match-
202c0 64 61 74 61 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 data............................
202e0 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 0a .........(djvu-color-background.
20300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20320 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 29 20 6e 69 6c 20 6f 70 61 63 69 74 .....(match-string.2).nil.opacit
20340 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.t))...........................
20360 20 20 20 20 20 20 20 20 6f 70 61 63 69 74 79 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ........opacity))))))...........
20380 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d ......(t..................(user-
203a0 65 72 72 6f 72 20 22 4e 6f 74 68 69 6e 67 20 74 6f 20 74 6f 67 67 6c 65 22 29 29 29 29 29 29 29 error."Nothing.to.toggle")))))))
203c0 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 73 69 7a 65 2d 69 6e 74 65 72 6e 61 6c 20 28 )..(defun.djvu-resize-internal.(
203e0 73 74 65 70 29 0a 20 20 22 52 65 73 69 7a 65 20 44 6a 76 75 20 6d 61 70 61 72 65 61 73 20 72 65 step)..."Resize.Djvu.mapareas.re
20400 63 74 20 61 6e 64 20 74 65 78 74 20 62 79 20 53 54 45 50 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 ct.and.text.by.STEP."...(interac
20420 74 69 76 65 20 22 6e 53 74 65 70 3a 20 22 29 0a 20 20 28 6c 65 74 20 28 28 62 6f 75 6e 64 73 20 tive."nStep:.")...(let.((bounds.
20440 28 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 20 28 69 66 20 28 (djvu-object-bounds))).....(if.(
20460 6e 6f 74 20 62 6f 75 6e 64 73 29 0a 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 not.bounds).........(user-error.
20480 22 4e 6f 20 6f 62 6a 65 63 74 20 74 6f 20 75 70 64 61 74 65 22 29 0a 20 20 20 20 20 20 28 73 61 "No.object.to.update").......(sa
204a0 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 ve-excursion.........(save-restr
204c0 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 iction...........(narrow-to-regi
204e0 6f 6e 20 28 63 61 72 20 62 6f 75 6e 64 73 29 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 0a 20 20 on.(car.bounds).(cdr.bounds))...
20500 20 20 20 20 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 ........(goto-char.(point-min)).
20520 20 20 20 20 20 20 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 ..........(while.(re-search-forw
20540 61 72 64 20 64 6a 76 75 2d 61 72 65 61 2d 72 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 ard.djvu-area-re.nil.t).........
20560 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 3d 20 22 70 6f 6c 79 22 20 28 6d 61 74 63 68 2d 73 ....(if.(string=."poly".(match-s
20580 74 72 69 6e 67 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d tring.1)).................(user-
205a0 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 72 65 73 69 7a 65 20 6d 61 70 61 72 65 61 20 70 6f 6c error."Cannot.resize.maparea.pol
205c0 79 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 y")).............(replace-match.
205e0 28 66 6f 72 6d 61 74 20 22 25 64 20 25 64 20 25 64 20 25 64 22 0a 20 20 20 20 20 20 20 20 20 20 (format."%d.%d.%d.%d"...........
20600 20 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 64 6a 76 .........................(-.(djv
20620 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 33 29 20 73 74 65 70 29 0a 20 20 20 20 20 20 20 20 u-match-number.3).step).........
20640 20 20 20 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 64 ...........................(-.(d
20660 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 34 29 20 73 74 65 70 29 0a 20 20 20 20 20 20 jvu-match-number.4).step).......
20680 20 20 20 20 20 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 2b 20 .............................(+.
206a0 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 35 29 20 73 74 65 70 29 0a 20 20 20 20 (djvu-match-number.5).step).....
206c0 20 20 20 20 20 20 20 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 ...............................(
206e0 2b 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 36 29 20 73 74 65 70 29 29 0a 20 +.(djvu-match-number.6).step))..
20700 20 20 20 20 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 69 6c 20 ............................nil.
20720 6e 69 6c 20 6e 69 6c 20 32 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 68 nil.nil.2)))))))..(defun.djvu-sh
20740 69 66 74 2d 69 6e 74 65 72 6e 61 6c 20 28 73 68 69 66 74 78 20 73 68 69 66 74 79 20 26 6f 70 74 ift-internal.(shiftx.shifty.&opt
20760 69 6f 6e 61 6c 20 61 6c 6c 20 73 63 61 6c 65 29 0a 20 20 22 53 68 69 66 74 20 44 6a 76 75 20 6d ional.all.scale)..."Shift.Djvu.m
20780 61 70 61 72 65 61 73 20 72 65 63 74 20 61 6e 64 20 74 65 78 74 20 62 79 20 53 48 49 46 54 58 20 apareas.rect.and.text.by.SHIFTX.
207a0 61 6e 64 20 53 48 49 46 54 59 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 41 4c 4c 20 6e 6f 6e 2d and.SHIFTY..With.prefix.ALL.non-
207c0 6e 69 6c 20 73 68 69 66 74 20 61 6c 6c 20 6d 61 70 61 72 65 61 73 20 6f 66 20 63 75 72 72 65 6e nil.shift.all.mapareas.of.curren
207e0 74 20 70 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 65 74 20 t.page."...(interactive....(let.
20800 28 28 73 68 69 66 74 20 28 6d 61 70 63 61 72 20 23 27 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 ((shift.(mapcar.#'string-to-numb
20820 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 70 6c 69 er.........................(spli
20840 74 2d 73 74 72 69 6e 67 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 53 68 69 66 74 78 2c 20 73 t-string.(read-string."Shiftx,.s
20860 68 69 66 74 79 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hifty:.").......................
20880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5b 5c 74 5c 73 5c 6e 2c 3b 5d 2b 22 20 74 20 ................"[\t\s\n,;]+".t.
208a0 22 5b 5c 74 5c 73 5c 6e 5d 22 29 29 29 29 0a 20 20 20 20 20 28 6c 69 73 74 20 28 6e 74 68 20 30 "[\t\s\n]"))))......(list.(nth.0
208c0 20 73 68 69 66 74 29 20 28 6e 74 68 20 31 20 73 68 69 66 74 29 20 63 75 72 72 65 6e 74 2d 70 72 .shift).(nth.1.shift).current-pr
208e0 65 66 69 78 2d 61 72 67 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 6e 75 6d 62 65 72 70 20 73 efix-arg)))...(unless.(numberp.s
20900 63 61 6c 65 29 20 28 73 65 74 71 20 73 63 61 6c 65 20 31 29 29 0a 20 20 28 73 61 76 65 2d 65 78 cale).(setq.scale.1))...(save-ex
20920 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 cursion.....(save-restriction...
20940 20 20 20 20 28 75 6e 6c 65 73 73 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 ....(unless.all.........(let.((b
20960 6f 75 6e 64 73 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 ounds.(djvu-object-bounds)))....
20980 20 20 20 20 20 20 20 28 69 66 20 62 6f 75 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(if.bounds...............
209a0 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 28 63 61 72 20 62 6f 75 6e 64 73 29 20 28 (narrow-to-region.(car.bounds).(
209c0 63 64 72 20 62 6f 75 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 cdr.bounds)).............(user-e
209e0 72 72 6f 72 20 22 4e 6f 20 6f 62 6a 65 63 74 20 74 6f 20 75 70 64 61 74 65 22 29 29 29 29 0a 20 rror."No.object.to.update"))))..
20a00 20 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 .....(goto-char.(point-min))....
20a20 20 20 20 3b 3b 20 46 49 58 4d 45 3a 20 70 72 6f 76 69 64 65 20 61 6c 74 65 72 6e 61 74 69 76 65 ...;;.FIXME:.provide.alternative
20a40 20 72 65 67 65 78 70 20 66 6f 72 20 74 65 78 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 3b .regexp.for.text.buffer........;
20a60 3b 20 46 49 58 4d 45 3a 20 68 6f 6e 6f 72 20 70 61 67 65 20 62 6f 75 6e 64 61 72 69 65 73 3a 0a ;.FIXME:.honor.page.boundaries:.
20a80 20 20 20 20 20 20 3b 3b 20 43 75 74 20 6f 66 66 20 76 69 73 69 62 6c 65 20 61 72 65 61 73 2c 20 ......;;.Cut.off.visible.areas,.
20aa0 64 72 6f 70 20 69 6e 76 69 73 62 6c 65 20 61 72 65 61 73 20 28 77 69 74 68 20 77 61 72 6e 69 6e drop.invisble.areas.(with.warnin
20ac0 67 3f 29 0a 20 20 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 g?).......(while.(re-search-forw
20ae0 61 72 64 20 64 6a 76 75 2d 61 72 65 61 2d 72 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 ard.djvu-area-re.nil.t).........
20b00 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 28 66 6f 72 6d 61 74 20 22 25 64 20 25 64 20 25 64 (replace-match.(format."%d.%d.%d
20b20 20 25 64 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 .%d"............................
20b40 20 20 20 20 28 2b 20 28 2a 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 33 29 20 ....(+.(*.(djvu-match-number.3).
20b60 73 63 61 6c 65 29 20 73 68 69 66 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 scale).shiftx)..................
20b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2a 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d ..............(+.(*.(djvu-match-
20ba0 6e 75 6d 62 65 72 20 34 29 20 73 63 61 6c 65 29 20 73 68 69 66 74 79 29 0a 20 20 20 20 20 20 20 number.4).scale).shifty)........
20bc0 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 2b 20 28 2a 20 28 64 ........................(+.(*.(d
20be0 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 35 29 20 73 63 61 6c 65 29 20 73 68 69 66 74 jvu-match-number.5).scale).shift
20c00 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x)..............................
20c20 20 20 28 2b 20 28 2a 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 36 29 20 73 63 ..(+.(*.(djvu-match-number.6).sc
20c40 61 6c 65 29 20 73 68 69 66 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ale).shifty))...................
20c60 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 32 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 .....nil.nil.nil.2).........(if.
20c80 28 73 74 72 69 6e 67 3d 20 22 70 6f 6c 79 22 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 (string=."poly".(match-string.1)
20ca0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 70 72 6f 67 6e 20 28 73 6b 69 ).............(while.(progn.(ski
20cc0 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 5c 73 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 p-chars-forward."\s\t\n").......
20ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 ....................(looking-at.
20d00 64 6a 76 75 2d 63 6f 6f 72 64 2d 78 79 2d 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 djvu-coord-xy-re))..............
20d20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 28 66 6f 72 6d 61 74 20 22 25 64 20 25 64 22 0a .(replace-match.(format."%d.%d".
20d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20d60 20 20 20 20 20 28 2b 20 28 2a 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 31 29 .....(+.(*.(djvu-match-number.1)
20d80 20 73 63 61 6c 65 29 20 73 68 69 66 74 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .scale).shiftx).................
20da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2a 20 28 64 6a 76 75 .....................(+.(*.(djvu
20dc0 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 32 29 20 73 63 61 6c 65 29 20 73 68 69 66 74 79 29 29 -match-number.2).scale).shifty))
20de0 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 6d 6f 76 65 2d 6c 69 6e 65 )))))))..(defun.djvu-remove-line
20e00 62 72 65 61 6b 73 2d 69 6e 74 65 72 6e 61 6c 20 28 29 0a 20 20 22 52 65 6d 6f 76 65 20 6c 69 6e breaks-internal.()..."Remove.lin
20e20 65 62 72 65 61 6b 73 20 69 6e 20 4d 61 70 61 72 65 61 20 73 74 72 69 6e 67 2e 0a 54 68 69 73 20 ebreaks.in.Maparea.string..This.
20e40 6d 61 79 20 63 6f 6d 65 20 68 61 6e 64 79 20 66 6f 72 20 72 65 66 6f 72 6d 61 74 74 69 6e 67 20 may.come.handy.for.reformatting.
20e60 73 75 63 68 20 73 74 72 69 6e 67 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 such.strings."...(interactive)..
20e80 20 28 6c 65 74 20 28 28 62 6f 75 6e 64 73 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 6f 75 6e .(let.((bounds.(djvu-object-boun
20ea0 64 73 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 20 62 6f 75 6e 64 73 29 0a 20 20 20 20 20 ds))).....(if.(not.bounds)......
20ec0 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 6f 62 6a 65 63 74 20 74 6f 20 75 70 64 ...(user-error."No.object.to.upd
20ee0 61 74 65 22 29 0a 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 ate").......(save-excursion.....
20f00 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 63 61 72 20 62 6f 75 6e 64 73 29 29 0a 20 20 20 ....(goto-char.(car.bounds))....
20f20 20 20 20 20 20 3b 3b 20 53 6b 69 70 20 6f 76 65 72 20 6d 61 70 61 72 65 61 20 61 6e 64 20 75 72 .....;;.Skip.over.maparea.and.ur
20f40 6c 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 63 68 61 72 29 0a 20 20 20 20 20 20 20 l.........(forward-char)........
20f60 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 20 32 29 0a 20 20 20 20 20 20 20 20 28 73 6b 69 70 2d .(forward-sexp.2).........(skip-
20f80 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 5c 73 5c 74 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 chars-forward."\s\t\n").........
20fa0 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6e 61 72 (save-restriction...........(nar
20fc0 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e 74 29 20 28 73 63 61 6e 2d 73 65 78 70 row-to-region.(point).(scan-sexp
20fe0 73 20 28 70 6f 69 6e 74 29 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 s.(point).1))...........(while.(
21000 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5c 6e 5c 5c 28 5c 6e 5c 5c 29 2a 22 20 re-search-forward."\n\\(\n\\)*".
21020 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d 61 74 63 nil.t).............(unless.(matc
21040 68 2d 73 74 72 69 6e 67 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 h-string.1)...............(repla
21060 63 65 2d 6d 61 74 63 68 20 22 20 22 29 29 29 29 29 29 29 29 0a 0a 3b 3b 20 54 68 65 20 66 75 6e ce-match."."))))))))..;;.The.fun
21080 63 74 69 6f 6e 73 20 60 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 62 65 67 27 20 61 6e 64 20 60 ctions.`djvu-property-beg'.and.`
210a0 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 65 6e 64 27 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 66 djvu-property-end'.rely.on.the.f
210c0 61 63 74 0a 3b 3b 20 74 68 61 74 20 72 65 67 69 6f 6e 73 20 77 69 74 68 20 70 72 6f 70 65 72 74 act.;;.that.regions.with.propert
210e0 79 20 50 52 4f 50 20 61 72 65 20 61 6c 77 61 79 73 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 y.PROP.are.always.surrounded.by.
21100 61 74 20 6c 65 61 73 74 20 6f 6e 65 0a 3b 3b 20 63 68 61 72 61 63 74 65 72 20 77 69 74 68 6f 75 at.least.one.;;.character.withou
21120 74 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 2e 20 20 52 65 70 65 61 74 65 64 20 63 61 6c 6c 73 t.property.PROP...Repeated.calls
21140 20 6f 66 20 60 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 62 65 67 27 0a 3b 3b 20 61 6e 64 20 60 .of.`djvu-property-beg'.;;.and.`
21160 64 6a 76 75 2d 70 72 6f 70 65 72 74 79 2d 65 6e 64 27 20 74 68 75 73 20 6e 65 76 65 72 20 67 6f djvu-property-end'.thus.never.go
21180 20 62 65 79 6f 6e 64 20 74 68 69 73 20 72 65 67 69 6f 6e 2e 0a 28 64 65 66 75 6e 20 64 6a 76 75 .beyond.this.region..(defun.djvu
211a0 2d 70 72 6f 70 65 72 74 79 2d 62 65 67 20 28 70 6e 74 20 70 72 6f 70 29 0a 20 20 22 53 74 61 72 -property-beg.(pnt.prop)..."Star
211c0 74 69 6e 67 20 66 72 6f 6d 20 70 6f 73 69 74 69 6f 6e 20 50 4e 54 20 73 65 61 72 63 68 20 62 61 ting.from.position.PNT.search.ba
211e0 63 6b 77 61 72 64 20 66 6f 72 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 70 72 6f 70 65 72 74 79 ckward.for.beginning.of.property
21200 20 50 52 4f 50 2e 0a 52 65 74 75 72 6e 20 70 6f 73 69 74 69 6f 6e 20 66 6f 75 6e 64 2e 22 0a 20 .PROP..Return.position.found."..
21220 20 28 6c 65 74 20 28 28 70 31 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6e .(let.((p1.(get-text-property.pn
21240 74 20 70 72 6f 70 29 29 20 70 6e 74 2d 31 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 t.prop)).pnt-1).....(cond.((and.
21260 70 31 20 28 3c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 70 6e 74 29 0a 20 20 20 20 20 20 20 20 20 p1.(<.(point-min).pnt)..........
21280 20 20 20 20 20 20 20 28 65 71 20 70 31 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 .......(eq.p1.(get-text-property
212a0 20 28 31 2d 20 70 6e 74 29 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 .(1-.pnt).prop)))............(pr
212c0 65 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6e evious-single-property-change.pn
212e0 74 20 70 72 6f 70 20 6e 69 6c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 20 20 20 20 20 t.prop.nil.(point-min)))........
21300 20 20 20 28 70 31 20 70 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3c 20 28 ...(p1.pnt)...........((and.(<.(
21320 70 6f 69 6e 74 2d 6d 69 6e 29 20 70 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 point-min).pnt).................
21340 28 73 65 74 71 20 70 31 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 73 65 74 (setq.p1.(get-text-property.(set
21360 71 20 70 6e 74 2d 31 20 28 31 2d 20 70 6e 74 29 29 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 q.pnt-1.(1-.pnt)).prop))).......
21380 20 20 20 20 20 3b 3b 20 50 4e 54 20 69 73 20 61 74 20 74 68 65 20 65 6e 64 20 70 6f 73 69 74 69 .....;;.PNT.is.at.the.end.positi
213a0 6f 6e 20 66 6f 72 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 0a 20 20 20 20 20 20 20 20 20 20 20 on.for.property.PROP............
213c0 28 69 66 20 28 61 6e 64 20 28 3c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 70 6e 74 2d 31 29 0a 20 (if.(and.(<.(point-min).pnt-1)..
213e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 70 31 20 28 67 65 74 2d 74 ...................(eq.p1.(get-t
21400 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 31 2d 20 70 6e 74 2d 31 29 20 70 72 6f 70 29 29 29 0a ext-property.(1-.pnt-1).prop))).
21420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d ...............(previous-single-
21440 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6e 74 2d 31 20 70 72 6f 70 20 6e 69 6c 20 28 property-change.pnt-1.prop.nil.(
21460 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6e 74 2d 31 29 29 point-min))..............pnt-1))
21480 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 50 6f 73 69 74 69 6f 6e 20 25 ...........(t.(error."Position.%
214a0 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 2f 65 6e 64 20 70 72 6f 70 65 72 74 79 20 25 73 22 s.does.not.have/end.property.%s"
214c0 20 70 6e 74 20 70 72 6f 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 70 72 6f 70 .pnt.prop)))))..(defun.djvu-prop
214e0 65 72 74 79 2d 65 6e 64 20 28 70 6e 74 20 70 72 6f 70 29 0a 20 20 22 53 74 61 72 74 69 6e 67 20 erty-end.(pnt.prop)..."Starting.
21500 66 72 6f 6d 20 70 6f 73 69 74 69 6f 6e 20 50 4e 54 20 73 65 61 72 63 68 20 66 6f 72 77 61 72 64 from.position.PNT.search.forward
21520 20 66 6f 72 20 65 6e 64 20 6f 66 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 2e 0a 52 65 74 75 72 .for.end.of.property.PROP..Retur
21540 6e 20 70 6f 73 69 74 69 6f 6e 20 66 6f 75 6e 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 31 20 28 n.position.found."...(let.((p1.(
21560 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6e 74 20 70 72 6f 70 29 29 29 0a 20 20 get-text-property.pnt.prop)))...
21580 20 20 28 63 6f 6e 64 20 28 28 61 6e 64 20 70 31 20 28 3c 20 70 6e 74 20 28 70 6f 69 6e 74 2d 6d ..(cond.((and.p1.(<.pnt.(point-m
215a0 61 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 70 31 20 28 67 65 74 ax)).................(eq.p1.(get
215c0 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 31 2b 20 70 6e 74 29 20 70 72 6f 70 29 29 29 0a -text-property.(1+.pnt).prop))).
215e0 20 20 20 20 20 20 20 20 20 20 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 ...........(next-single-property
21600 2d 63 68 61 6e 67 65 20 70 6e 74 20 70 72 6f 70 20 6e 69 6c 20 28 70 6f 69 6e 74 2d 6d 61 78 29 -change.pnt.prop.nil.(point-max)
21620 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 31 20 28 31 2b 20 70 6e 74 29 29 0a 20 20 20 20 20 ))...........(p1.(1+.pnt))......
21640 20 20 20 20 20 28 28 61 6e 64 20 28 3c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 70 6e 74 29 0a 20 .....((and.(<.(point-min).pnt)..
21660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 ...............(get-text-propert
21680 79 20 28 31 2d 20 70 6e 74 29 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 y.(1-.pnt).prop))............;;.
216a0 57 65 20 68 61 64 20 50 4e 54 20 61 74 20 74 68 65 20 65 6e 64 20 70 6f 73 69 74 69 6f 6e 20 66 We.had.PNT.at.the.end.position.f
216c0 6f 72 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 0a 20 20 20 20 20 20 20 20 20 20 20 70 6e 74 29 or.property.PROP............pnt)
216e0 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 50 6f 73 69 74 69 6f 6e 20 25 ...........(t.(error."Position.%
21700 73 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 2f 65 6e 64 20 70 72 6f 70 65 72 74 79 20 25 73 22 s.does.not.have/end.property.%s"
21720 20 70 6e 74 20 70 72 6f 70 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 61 72 65 61 .pnt.prop)))))..(defun.djvu-area
21740 73 2d 6a 75 73 74 69 66 79 20 28 6c 65 66 74 20 26 72 65 73 74 20 63 69 29 0a 20 20 22 52 65 74 s-justify.(left.&rest.ci)..."Ret
21760 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 61 72 65 61 73 20 43 49 20 73 68 61 6c 6c 20 62 65 urn.non-nil.if.areas.CI.shall.be
21780 20 6a 75 73 74 69 66 69 65 64 20 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 2e 0a 49 66 20 4c 45 46 54 .justified.horizontally..If.LEFT
217a0 20 69 73 20 6e 69 6c 20 61 6e 61 6c 79 7a 65 20 6c 65 66 74 20 62 6f 75 6e 64 61 72 69 65 73 20 .is.nil.analyze.left.boundaries.
217c0 6f 66 20 43 49 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 72 69 67 68 74 20 62 6f 75 6e 64 of.CI,.otherwise.the.right.bound
217e0 61 72 69 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 78 6c 20 28 61 70 70 6c 79 20 27 6d 69 6e 20 aries."...(let.((xl.(apply.'min.
21800 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 63 29 20 28 61 72 65 66 20 63 20 30 29 29 20 (mapcar.(lambda.(c).(aref.c.0)).
21820 63 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 78 72 20 28 61 70 70 6c 79 20 27 6d 61 78 20 28 6d ci))).........(xr.(apply.'max.(m
21840 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 63 29 20 28 61 72 65 66 20 63 20 32 29 29 20 63 69 apcar.(lambda.(c).(aref.c.2)).ci
21860 29 29 29 29 0a 20 20 20 20 28 3e 20 64 6a 76 75 2d 61 72 65 61 73 2d 6a 75 73 74 69 66 79 0a 20 )))).....(>.djvu-areas-justify..
21880 20 20 20 20 20 20 28 2f 20 28 61 70 70 6c 79 20 27 6d 61 78 20 28 6d 61 70 63 61 72 20 28 6c 61 ......(/.(apply.'max.(mapcar.(la
218a0 6d 62 64 61 20 28 63 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mbda.(cj).......................
218c0 20 20 20 20 20 20 20 20 20 20 28 61 62 73 20 28 66 6c 6f 61 74 20 28 69 66 20 6c 65 66 74 20 28 ..........(abs.(float.(if.left.(
218e0 2d 20 28 61 72 65 66 20 63 6a 20 30 29 20 78 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -.(aref.cj.0).xl)...............
21900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21920 28 2d 20 78 72 20 28 61 72 65 66 20 63 6a 20 32 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 (-.xr.(aref.cj.2))))))..........
21940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 69 29 29 0a 20 20 20 20 20 20 .....................ci)).......
21960 20 20 20 20 28 66 6c 6f 61 74 20 28 2d 20 78 72 20 78 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 ....(float.(-.xr.xl))))))..(defu
21980 6e 20 64 6a 76 75 2d 6a 75 73 74 69 66 79 2d 61 72 65 61 73 20 28 66 75 6e 20 6e 20 26 72 65 73 n.djvu-justify-areas.(fun.n.&res
219a0 74 20 63 69 29 0a 20 20 22 50 61 73 73 20 4e 74 68 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 72 t.ci)..."Pass.Nth.elements.of.ar
219c0 72 61 79 73 20 43 49 20 74 6f 20 66 75 6e 63 74 69 6f 6e 20 46 55 4e 2e 0a 53 65 74 20 74 68 65 rays.CI.to.function.FUN..Set.the
219e0 73 65 20 65 6c 65 6d 65 6e 74 73 20 74 6f 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 20 46 se.elements.to.return.value.of.F
21a00 55 4e 2e 0a 49 66 20 46 55 4e 20 69 73 20 60 6d 69 6e 27 20 6f 72 20 60 6d 61 78 27 20 74 68 65 UN..If.FUN.is.`min'.or.`max'.the
21a20 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 73 65 74 20 74 6f 20 74 68 65 20 72 65 73 70 65 se.elements.are.set.to.the.respe
21a40 63 74 69 76 65 20 6d 69 6e 69 6d 75 6d 0a 6f 72 20 6d 61 78 69 6d 75 6d 20 61 6d 6f 6e 67 20 74 ctive.minimum.or.maximum.among.t
21a60 68 65 20 4e 74 68 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 61 6c 6c 20 61 72 72 61 79 73 20 43 49 he.Nth.elements.of.all.arrays.CI
21a80 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 6d 70 20 28 61 70 70 6c 79 20 66 75 6e 20 28 6d 61 70 63 ."...(let.((tmp.(apply.fun.(mapc
21aa0 61 72 20 28 6c 61 6d 62 64 61 20 28 63 29 20 28 61 72 65 66 20 63 20 6e 29 29 20 63 69 29 29 29 ar.(lambda.(c).(aref.c.n)).ci)))
21ac0 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 20 63 69 29 0a 20 20 20 20 20 20 28 61 73 65 74 ).....(dolist.(c.ci).......(aset
21ae0 20 63 20 6e 20 74 6d 70 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 63 61 6e 2d 7a .c.n.tmp))))..(defun.djvu-scan-z
21b00 6f 6e 65 20 28 62 65 67 20 65 6e 64 20 70 72 6f 70 29 0a 20 20 22 42 65 74 77 65 65 6e 20 42 45 one.(beg.end.prop)..."Between.BE
21b20 47 20 61 6e 64 20 45 4e 44 20 63 61 6c 63 75 6c 61 74 65 20 74 6f 74 61 6c 20 7a 6f 6e 65 20 63 G.and.END.calculate.total.zone.c
21b40 6f 6f 72 64 69 6e 61 74 65 73 20 66 6f 72 20 50 52 4f 50 2e 22 0a 20 20 3b 3b 20 41 73 73 75 6d oordinates.for.PROP."...;;.Assum
21b60 65 20 74 68 61 74 20 42 45 47 20 68 61 73 20 50 52 4f 50 2e 0a 20 20 28 6c 65 74 2a 20 28 28 7a e.that.BEG.has.PROP....(let*.((z
21b80 6f 6e 65 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f one.(copy-sequence.(get-text-pro
21ba0 70 65 72 74 79 20 62 65 67 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 perty.beg.prop)))..........(max.
21bc0 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 69 6e 20 28 61 72 (aref.zone.1))..........(min.(ar
21be0 65 66 20 7a 6f 6e 65 20 33 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 6e 74 20 62 65 67 29 0a 20 ef.zone.3))..........(pnt.beg)..
21c00 20 20 20 20 20 20 20 20 76 61 6c 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 2f 3d ........val).....(while.(and.(/=
21c20 20 70 6e 74 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 .pnt.end).................(setq.
21c40 70 6e 74 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 61 6e 67 65 pnt.(next-single-property-change
21c60 20 70 6e 74 20 70 72 6f 70 20 6e 69 6c 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e .pnt.prop.nil.end))).......(when
21c80 20 28 73 65 74 71 20 76 61 6c 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 70 6e .(setq.val.(get-text-property.pn
21ca0 74 20 70 72 6f 70 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 7a 6f 6e 65 20 30 20 28 6d t.prop)).........(aset.zone.0.(m
21cc0 69 6e 20 28 61 72 65 66 20 7a 6f 6e 65 20 30 29 20 28 61 72 65 66 20 76 61 6c 20 30 29 29 29 0a in.(aref.zone.0).(aref.val.0))).
21ce0 20 20 20 20 20 20 20 20 28 61 73 65 74 20 7a 6f 6e 65 20 31 20 28 6d 69 6e 20 28 61 72 65 66 20 ........(aset.zone.1.(min.(aref.
21d00 7a 6f 6e 65 20 31 29 20 28 61 72 65 66 20 76 61 6c 20 31 29 29 29 0a 20 20 20 20 20 20 20 20 28 zone.1).(aref.val.1))).........(
21d20 73 65 74 71 20 6d 61 78 20 28 6d 61 78 20 6d 61 78 20 28 61 72 65 66 20 76 61 6c 20 31 29 29 29 setq.max.(max.max.(aref.val.1)))
21d40 20 3b 20 64 65 73 63 65 6e 64 69 6e 67 20 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 28 61 73 65 .;.descending.words.........(ase
21d60 74 20 7a 6f 6e 65 20 32 20 28 6d 61 78 20 28 61 72 65 66 20 7a 6f 6e 65 20 32 29 20 28 61 72 65 t.zone.2.(max.(aref.zone.2).(are
21d80 66 20 76 61 6c 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 7a 6f 6e 65 20 33 20 f.val.2))).........(aset.zone.3.
21da0 28 6d 61 78 20 28 61 72 65 66 20 7a 6f 6e 65 20 33 29 20 28 61 72 65 66 20 76 61 6c 20 33 29 29 (max.(aref.zone.3).(aref.val.3))
21dc0 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 69 6e 20 28 6d 69 6e 20 6d 69 6e 20 28 61 72 ).........(setq.min.(min.min.(ar
21de0 65 66 20 76 61 6c 20 33 29 29 29 29 29 20 3b 20 61 73 63 65 6e 64 69 6e 67 20 77 6f 72 64 73 0a ef.val.3))))).;.ascending.words.
21e00 0a 20 20 20 20 3b 3b 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 69 73 20 72 61 74 68 65 72 20 .....;;.The.following.is.rather.
21e20 68 65 75 72 69 73 74 69 63 2e 20 20 53 75 67 67 65 73 74 69 6f 6e 73 20 66 6f 72 20 62 65 74 74 heuristic...Suggestions.for.bett
21e40 65 72 0a 20 20 20 20 3b 3b 20 73 6f 6c 75 74 69 6f 6e 73 20 77 65 6c 63 6f 6d 65 2c 20 74 68 6f er.....;;.solutions.welcome,.tho
21e60 75 67 68 20 70 72 6f 62 61 62 6c 79 20 6e 6f 74 20 77 6f 72 74 68 20 74 68 65 20 65 66 66 6f 72 ugh.probably.not.worth.the.effor
21e80 74 2e 0a 20 20 20 20 3b 3b 20 53 65 74 20 60 64 6a 76 75 2d 64 65 73 63 65 6e 64 65 72 73 2d 72 t......;;.Set.`djvu-descenders-r
21ea0 65 27 20 74 6f 20 6e 69 6c 20 69 66 20 79 6f 75 20 64 6f 20 6e 6f 74 20 6c 69 6b 65 20 74 68 69 e'.to.nil.if.you.do.not.like.thi
21ec0 73 2e 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 6f 72 20 64 6a 76 75 2d 64 65 73 63 65 6e 64 s......(if.(and.(or.djvu-descend
21ee0 65 72 73 2d 72 65 20 64 6a 76 75 2d 61 73 63 65 6e 64 65 72 73 2d 72 65 29 0a 20 20 20 20 20 20 ers-re.djvu-ascenders-re).......
21f00 20 20 20 20 20 20 20 28 65 71 20 70 72 6f 70 20 27 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 .......(eq.prop.'word)).........
21f20 28 6c 65 74 2a 20 28 28 73 74 72 69 6e 67 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 (let*.((string.(buffer-substring
21f40 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 62 65 67 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 -no-properties.beg.end))........
21f60 20 20 20 20 20 20 20 20 28 6c 6f 6e 67 20 28 3c 20 31 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e ........(long.(<.1.(length.strin
21f80 67 29 29 29 20 3b 20 6e 6f 74 20 61 20 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 20 73 74 g))).;.not.a.single-character.st
21fa0 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 2d 66 6f 6c 64 2d 73 65 ring................case-fold-se
21fc0 61 72 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 6c 6f 6e 67 20 64 6a arch)...........(if.(and.long.dj
21fe0 76 75 2d 64 65 73 63 65 6e 64 65 72 73 2d 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 vu-descenders-re................
22000 20 20 20 20 3b 3b 20 64 65 73 63 65 6e 64 69 6e 67 20 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 ....;;.descending.words.........
22020 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 30 2e 31 30 20 28 2f 20 28 2d 20 6d 61 78 20 28 61 72 ...........(>.0.10.(/.(-.max.(ar
22040 65 66 20 7a 6f 6e 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ef.zone.1)).....................
22060 20 20 20 20 20 20 20 20 20 20 28 66 6c 6f 61 74 20 28 2d 20 28 61 72 65 66 20 7a 6f 6e 65 20 33 ..........(float.(-.(aref.zone.3
22080 29 20 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ).(aref.zone.1))))).............
220a0 20 20 20 20 20 20 20 3b 3b 20 61 6c 6c 2d 75 70 70 65 72 63 61 73 65 20 73 74 72 69 6e 67 0a 20 .......;;.all-uppercase.string..
220c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 3d 20 ..................(not.(string=.
220e0 73 74 72 69 6e 67 20 28 75 70 63 61 73 65 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 string.(upcase.string)))........
22100 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 65 73 63 65 6e 64 65 72 20 63 68 61 72 61 63 74 ............;;.descender.charact
22120 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 ers....................(not.(str
22140 69 6e 67 2d 6d 61 74 63 68 20 64 6a 76 75 2d 64 65 73 63 65 6e 64 65 72 73 2d 72 65 20 73 74 72 ing-match.djvu-descenders-re.str
22160 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 7a 6f 6e 65 20 ing)))...............(aset.zone.
22180 31 20 28 2d 20 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 1.(-.(aref.zone.1)..............
221a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 6f 75 6e 64 20 28 2a 20 30 2e 32 30 20 .................(round.(*.0.20.
221c0 28 2d 20 28 61 72 65 66 20 7a 6f 6e 65 20 33 29 20 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 29 29 (-.(aref.zone.3).(aref.zone.1)))
221e0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 6c 6f 6e 67 20 64 6a 76 ))))...........(if.(and.long.djv
22200 75 2d 61 73 63 65 6e 64 65 72 73 2d 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 u-ascenders-re..................
22220 20 20 3b 3b 20 61 73 63 65 6e 64 69 6e 67 20 77 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 ..;;.ascending.words............
22240 20 20 20 20 20 20 20 20 28 3e 20 30 2e 31 30 20 28 2f 20 28 2d 20 28 61 72 65 66 20 7a 6f 6e 65 ........(>.0.10.(/.(-.(aref.zone
22260 20 33 29 20 6d 69 6e 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 .3).min)........................
22280 20 20 20 20 20 20 20 28 66 6c 6f 61 74 20 28 2d 20 28 61 72 65 66 20 7a 6f 6e 65 20 33 29 20 28 .......(float.(-.(aref.zone.3).(
222a0 61 72 65 66 20 7a 6f 6e 65 20 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 aref.zone.1)))))................
222c0 20 20 20 20 3b 3b 20 61 73 63 65 6e 64 65 72 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 ....;;.ascender.characters......
222e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 ..............(not.(string-match
22300 20 64 6a 76 75 2d 61 73 63 65 6e 64 65 72 73 2d 72 65 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 .djvu-ascenders-re.string)))....
22320 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 7a 6f 6e 65 20 33 20 28 2b 20 28 61 72 65 66 ...........(aset.zone.3.(+.(aref
22340 20 7a 6f 6e 65 20 33 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 .zone.3)........................
22360 20 20 20 20 20 20 20 28 72 6f 75 6e 64 20 28 2a 20 30 2e 32 30 20 28 2d 20 28 61 72 65 66 20 7a .......(round.(*.0.20.(-.(aref.z
22380 6f 6e 65 20 33 29 20 28 61 72 65 66 20 7a 6f 6e 65 20 31 29 29 29 29 29 29 29 29 29 0a 20 20 20 one.3).(aref.zone.1)))))))))....
223a0 20 7a 6f 6e 65 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 67 69 6f 6e 2d 63 6f 75 6e .zone))..(defun.djvu-region-coun
223c0 74 20 28 62 65 67 20 65 6e 64 20 70 72 6f 70 29 0a 20 20 22 43 6f 75 6e 74 20 72 65 67 69 6f 6e t.(beg.end.prop)..."Count.region
223e0 73 20 62 65 74 77 65 65 6e 20 42 45 47 20 61 6e 64 20 45 4e 44 20 77 69 74 68 20 64 69 73 74 69 s.between.BEG.and.END.with.disti
22400 6e 63 74 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 73 20 6f 66 20 50 52 4f 50 2e 22 0a 20 20 28 nct.non-nil.values.of.PROP."...(
22420 6c 65 74 20 28 28 63 6f 75 6e 74 20 30 29 0a 20 20 20 20 20 20 20 20 28 70 6e 74 20 62 65 67 29 let.((count.0).........(pnt.beg)
22440 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 2f 3d 20 70 6e 74 20 65 6e 64 29 0a 20 ).....(while.(and.(/=.pnt.end)..
22460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6e 74 20 28 6e 65 78 74 2d 73 ...............(setq.pnt.(next-s
22480 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 70 6e 74 20 70 72 6f 70 20 6e ingle-property-change.pnt.prop.n
224a0 69 6c 20 65 6e 64 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 67 65 74 2d 74 65 78 74 2d 70 72 il.end))).......(if.(get-text-pr
224c0 6f 70 65 72 74 79 20 28 31 2d 20 70 6e 74 29 20 70 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 operty.(1-.pnt).prop)...........
224e0 28 73 65 74 71 20 63 6f 75 6e 74 20 28 31 2b 20 63 6f 75 6e 74 29 29 29 29 0a 20 20 20 20 63 6f (setq.count.(1+.count)))).....co
22500 75 6e 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 61 64 2d 61 6e 6e 6f 74 20 28 62 unt))..(defun.djvu-read-annot.(b
22520 75 66 29 0a 20 20 22 52 65 61 64 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 6f 66 20 61 20 44 6a 76 uf)..."Read.annotations.of.a.Djv
22540 75 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 62 75 66 66 u.document.from.annotations.buff
22560 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 77 69 74 68 2d 63 er."...(let.(object).....(with-c
22580 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 0a 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 urrent-buffer.buf.......(save-re
225a0 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 striction.........(widen).......
225c0 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 69 ..(with-temp-buffer...........(i
225e0 6e 73 65 72 74 2d 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 nsert-buffer-substring-no-proper
22600 74 69 65 73 20 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6e 76 65 72 ties.buf)...........(djvu-conver
22620 74 2d 68 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f t-hash)...........(goto-char.(po
22640 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 70 72 6f 67 int-min))...........(while.(prog
22660 6e 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 20 28 n.(skip-chars-forward.".\t\n").(
22680 6e 6f 74 20 28 65 6f 62 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 62 65 67 69 6e 6e not.(eobp))).............(beginn
226a0 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6c 6f ing-of-line).............(if.(lo
226c0 6f 6b 69 6e 67 2d 61 74 20 64 6a 76 75 2d 62 65 67 2d 6f 62 6a 65 63 74 2d 72 65 29 0a 20 20 20 oking-at.djvu-beg-object-re)....
226e0 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 20 6e 69 6c .............(condition-case.nil
22700 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 72 65 61 64 .....................(push.(read
22720 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 .(current-buffer)).object)......
22740 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 65 72 72 6f 72 20 22 53 79 6e 74 .............(error.(error."Synt
22760 61 78 20 65 72 72 6f 72 20 69 6e 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 22 29 29 29 0a 20 20 20 20 ax.error.in.annotations"))).....
22780 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e 6f 77 6e 20 61 6e 6e 6f 74 61 ..........(error."Unknown.annota
227a0 74 69 6f 6e 20 60 25 73 27 22 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d tion.`%s'".(buffer-substring-no-
227c0 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 properties......................
227e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e ...........................(poin
22800 74 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 29 29 29 29 29 29 0a 20 20 t).(line-end-position))))))))...
22820 20 20 28 6e 72 65 76 65 72 73 65 20 6f 62 6a 65 63 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a ..(nreverse.object)))..(defun.dj
22840 76 75 2d 73 61 76 65 2d 61 6e 6e 6f 74 20 28 73 63 72 69 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 vu-save-annot.(script.&optional.
22860 64 6f 63 20 73 68 61 72 65 64 29 0a 20 20 22 53 61 76 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 doc.shared)..."Save.annotations.
22880 6f 66 20 74 68 65 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e 0a 54 68 69 73 20 64 of.the.Djvu.document.DOC..This.d
228a0 75 6d 70 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 44 4f 43 27 73 20 61 6e 6e 6f 74 61 umps.the.content.of.DOC's.annota
228c0 74 69 6f 6e 73 20 62 75 66 66 65 72 20 69 6e 74 6f 20 74 68 65 20 64 6a 76 75 73 65 64 20 73 63 tions.buffer.into.the.djvused.sc
228e0 72 69 70 74 0a 66 69 6c 65 20 53 43 52 49 50 54 2e 20 20 44 4f 43 20 64 65 66 61 75 6c 74 73 20 ript.file.SCRIPT...DOC.defaults.
22900 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 0a 20 to.the.current.Djvu.document."..
22920 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 .(unless.doc.(setq.doc.djvu-doc)
22940 29 0a 20 20 28 6c 65 74 20 28 28 6f 62 6a 65 63 74 20 28 64 6a 76 75 2d 72 65 61 64 2d 61 6e 6e )...(let.((object.(djvu-read-ann
22960 6f 74 20 28 69 66 20 73 68 61 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ot.(if.shared...................
22980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 ...................(djvu-ref.sha
229a0 72 65 64 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 red-buf.doc)....................
229c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d ................(djvu-ref.annot-
229e0 62 75 66 20 64 6f 63 29 29 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 74 20 6f 62 buf.doc))))).....(dolist.(elt.ob
22a00 6a 65 63 74 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 27 6d 61 70 61 72 65 61 20 28 63 61 ject).......(if.(eq.'maparea.(ca
22a20 72 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 55 52 4c 0a 20 20 20 20 20 20 20 r.elt))...........;;.URL........
22a40 20 20 20 28 73 65 74 63 61 72 20 28 63 64 72 20 65 6c 74 29 20 28 64 6a 76 75 2d 72 65 73 6f 6c ...(setcar.(cdr.elt).(djvu-resol
22a60 76 65 2d 75 72 6c 20 28 6e 74 68 20 31 20 65 6c 74 29 29 29 29 29 0a 0a 20 20 20 20 28 77 69 74 ve-url.(nth.1.elt)))))......(wit
22a80 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 6e 64 h-temp-buffer.......(let.((stand
22aa0 61 72 64 2d 6f 75 74 70 75 74 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 ard-output.(current-buffer))....
22ac0 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 73 .........(buffer-file-coding-sys
22ae0 74 65 6d 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 64 20 30 29 0a 20 tem.'utf-8).............(id.0)..
22b00 20 20 20 20 20 20 20 20 20 20 20 72 65 63 74 2d 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 69 ...........rect-list).........(i
22b20 6e 73 65 72 74 20 28 69 66 20 73 68 61 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nsert.(if.shared................
22b40 20 20 20 20 20 22 63 72 65 61 74 65 2d 73 68 61 72 65 64 2d 61 6e 74 3b 20 72 65 6d 6f 76 65 2d ....."create-shared-ant;.remove-
22b60 61 6e 74 3b 20 73 65 74 2d 61 6e 74 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ant;.set-ant\n".................
22b80 20 20 28 66 6f 72 6d 61 74 20 22 73 65 6c 65 63 74 20 25 64 3b 20 72 65 6d 6f 76 65 2d 61 6e 74 ..(format."select.%d;.remove-ant
22ba0 3b 20 73 65 74 2d 61 6e 74 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;.set-ant\n"....................
22bc0 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 29 29 0a 20 20 .......(djvu-ref.page.doc))))...
22be0 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 74 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 ......(dolist.(elt.object)......
22c00 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 27 6d 65 74 61 64 61 74 61 20 28 63 61 72 20 65 .....(cond.((eq.'metadata.(car.e
22c20 6c 74 29 29 20 3b 20 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lt)).;.metadata.................
22c40 20 28 70 72 69 6e 31 20 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .(prin1.elt)..................(i
22c60 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f nsert."\n")).................((o
22c80 72 20 28 6e 6f 74 20 28 65 71 20 27 6d 61 70 61 72 65 61 20 28 63 61 72 20 65 6c 74 29 29 29 20 r.(not.(eq.'maparea.(car.elt))).
22ca0 3b 20 6e 6f 74 20 6d 61 70 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ;.not.maparea...................
22cc0 20 20 20 28 6d 65 6d 71 20 28 63 61 72 20 28 6e 74 68 20 33 20 65 6c 74 29 29 20 27 28 6c 69 6e ...(memq.(car.(nth.3.elt)).'(lin
22ce0 65 20 70 6f 6c 79 29 29 29 20 3b 20 6d 61 70 61 72 65 61 20 6c 69 6e 65 2c 20 70 6f 6c 79 0a 20 e.poly))).;.maparea.line,.poly..
22d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 31 20 65 6c 74 29 0a 20 20 20 20 ................(prin1.elt).....
22d20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 6e 22 29 29 0a 20 20 20 20 .............(insert."\n")).....
22d40 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 6f 6e 73 70 20 28 63 61 72 20 28 6e 74 68 20 33 20 ............((consp.(car.(nth.3.
22d60 65 6c 74 29 29 29 20 3b 20 6d 61 70 61 72 65 61 20 72 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 elt))).;.maparea.rect...........
22d80 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 61 72 65 61 20 28 6e 74 68 20 33 20 65 6c 74 29 .......(dolist.(area.(nth.3.elt)
22da0 29 0a 20 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 20 28 70 72 )....................(insert.(pr
22dc0 69 6e 31 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in1-to-string...................
22de0 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 6c 69 73 74 20 28 63 61 72 20 65 6c 74 29 ..........(apply.'list.(car.elt)
22e00 20 28 6e 74 68 20 31 20 65 6c 74 29 20 28 6e 74 68 20 32 20 65 6c 74 29 0a 20 20 20 20 20 20 20 .(nth.1.elt).(nth.2.elt)........
22e20 20 20 20 20 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 64 6a 76 ............................(djv
22e40 75 2d 61 72 65 61 20 61 72 65 61 20 74 29 20 28 6e 74 68 63 64 72 20 34 20 65 6c 74 29 29 29 0a u-area.area.t).(nthcdr.4.elt))).
22e60 20 20 20 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 5c 6e 22 29 ..........................."\n")
22e80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 64 20 28 31 2b 20 )..................(setq.id.(1+.
22ea0 69 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 64 6a 76 id))..................(push.(djv
22ec0 75 2d 72 65 63 74 2d 65 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 u-rect-elt......................
22ee0 20 20 20 3b 3b 20 60 64 6a 76 75 2d 72 65 63 74 2d 65 6c 74 27 20 65 78 70 65 63 74 73 20 74 68 ...;;.`djvu-rect-elt'.expects.th
22f00 61 74 20 74 68 65 20 72 65 63 74 20 61 72 65 61 73 20 61 72 65 20 61 74 0a 20 20 20 20 20 20 20 at.the.rect.areas.are.at........
22f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 .................;;.the.end.....
22f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 61 70 70 65 .....................(cons.(appe
22f60 6e 64 20 28 6c 69 73 74 20 28 6e 74 68 20 30 20 65 6c 74 29 20 28 6e 74 68 20 31 20 65 6c 74 29 nd.(list.(nth.0.elt).(nth.1.elt)
22f80 20 28 6e 74 68 20 32 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(nth.2.elt))...................
22fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 63 64 72 20 34 20 65 6c ....................(nthcdr.4.el
22fc0 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t)).............................
22fe0 20 20 28 6e 74 68 20 33 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(nth.3.elt))..................
23000 20 20 20 20 20 20 20 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......id)......................
23020 20 20 72 65 63 74 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 ..rect-list)).................((
23040 6d 65 6d 71 20 28 63 61 72 20 28 6e 74 68 20 33 20 65 6c 74 29 29 20 27 28 74 65 78 74 20 6f 76 memq.(car.(nth.3.elt)).'(text.ov
23060 61 6c 29 29 20 3b 20 6d 61 70 61 72 65 61 20 74 65 78 74 2c 20 6f 76 61 6c 0a 20 20 20 20 20 20 al)).;.maparea.text,.oval.......
23080 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 ...........(insert.(prin1-to-str
230a0 69 6e 67 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 28 61 ing...........................(a
230c0 70 70 6c 79 20 27 6c 69 73 74 20 28 63 61 72 20 65 6c 74 29 20 28 6e 74 68 20 31 20 65 6c 74 29 pply.'list.(car.elt).(nth.1.elt)
230e0 20 28 6e 74 68 20 32 20 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(nth.2.elt)....................
23100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 61 72 65 61 20 28 6e 74 68 20 33 20 ..............(djvu-area.(nth.3.
23120 65 6c 74 29 20 74 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 elt).t).........................
23140 20 20 20 20 20 20 20 20 20 28 6e 74 68 63 64 72 20 34 20 65 6c 74 29 29 29 0a 20 20 20 20 20 20 .........(nthcdr.4.elt))).......
23160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 ..................."\n")).......
23180 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 44 6a 76 75 20 6d 61 70 61 72 65 ..........(t.(error."Djvu.mapare
231a0 61 20 25 73 20 75 6e 64 65 66 69 6e 65 64 22 20 28 63 61 72 20 28 6e 74 68 20 33 20 65 6c 74 29 a.%s.undefined".(car.(nth.3.elt)
231c0 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 2e 5c 6e 22 29 0a 20 20 20 ))))).........(insert.".\n")....
231e0 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6e 76 65 72 74 2d 68 61 73 68 20 74 29 0a 20 20 20 20 20 .....(djvu-convert-hash.t)......
23200 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 20 6e 69 6c 20 6e 69 6c 20 73 63 72 69 70 74 20 ...(write-region.nil.nil.script.
23220 74 20 30 29 20 3b 20 61 70 70 65 6e 64 20 74 6f 20 53 43 52 49 50 54 0a 20 20 20 20 20 20 20 20 t.0).;.append.to.SCRIPT.........
23240 3b 3b 20 49 74 20 69 73 20 6e 6f 74 20 61 6c 6c 20 63 6f 72 72 65 63 74 20 74 6f 20 69 67 6e 6f ;;.It.is.not.all.correct.to.igno
23260 72 65 20 72 65 63 74 2d 6c 69 73 74 20 66 6f 72 20 73 68 61 72 65 64 0a 20 20 20 20 20 20 20 20 re.rect-list.for.shared.........
23280 3b 3b 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 72 65 61 6c 6c ;;.annotations...It.should.reall
232a0 79 20 67 6f 20 69 6e 74 6f 20 61 20 73 65 70 61 72 61 74 65 20 76 61 72 69 61 62 6c 65 0a 20 20 y.go.into.a.separate.variable...
232c0 20 20 20 20 20 20 3b 3b 20 60 64 6a 76 75 2d 64 6f 63 2d 73 68 61 72 65 64 2d 72 65 63 74 2d 6c ......;;.`djvu-doc-shared-rect-l
232e0 69 73 74 27 2c 20 73 6f 20 74 68 61 74 20 74 68 65 6e 20 77 65 20 63 61 6e 20 6d 65 72 67 65 0a ist',.so.that.then.we.can.merge.
23300 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 73 65 20 66 6f 72 20 61 6c 6c 20 70 61 67 65 73 2e 0a ........;;.these.for.all.pages..
23320 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 73 68 61 72 65 64 0a 20 20 20 20 20 20 20 20 20 ........(unless.shared..........
23340 20 28 64 6a 76 75 2d 73 65 74 20 72 65 63 74 2d 6c 69 73 74 20 28 61 70 70 6c 79 20 27 6e 63 6f .(djvu-set.rect-list.(apply.'nco
23360 6e 63 20 72 65 63 74 2d 6c 69 73 74 29 20 64 6f 63 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 nc.rect-list).doc))))))..(defun.
23380 64 6a 76 75 2d 61 6e 6e 6f 74 2d 73 63 72 69 70 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 djvu-annot-script.(&optional.doc
233a0 20 62 75 66 66 65 72 20 70 61 67 65 20 64 69 73 70 6c 61 79 29 0a 20 20 22 43 72 65 61 74 65 20 .buffer.page.display)..."Create.
233c0 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 20 66 6f 72 20 63 6f 6d 70 6c 65 74 65 20 61 6e 6e 6f djvused.script.for.complete.anno
233e0 74 61 74 69 6f 6e 20 6c 61 79 65 72 20 6f 66 20 44 4f 43 20 69 6e 20 42 55 46 46 45 52 2e 0a 49 tation.layer.of.DOC.in.BUFFER..I
23400 66 20 70 72 65 66 69 78 20 50 41 47 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 20 63 72 65 61 74 65 20 f.prefix.PAGE.is.non-nil.create.
23420 69 6e 73 74 65 61 64 20 73 63 72 69 70 74 20 66 6f 72 20 6f 6e 6c 79 20 70 61 67 65 20 50 41 47 instead.script.for.only.page.PAG
23440 45 2e 0a 42 55 46 46 45 52 20 64 65 66 61 75 6c 74 73 20 74 6f 20 60 64 6a 76 75 2d 73 63 72 69 E..BUFFER.defaults.to.`djvu-scri
23460 70 74 2d 62 75 66 66 65 72 27 2e 20 20 49 66 20 42 55 46 46 45 52 20 69 73 20 74 20 75 73 65 20 pt-buffer'...If.BUFFER.is.t.use.
23480 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 0a 59 6f 75 20 63 61 6e 20 65 64 69 74 20 74 68 current.buffer...You.can.edit.th
234a0 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 73 20 73 63 72 69 70 74 20 69 6e 20 42 55 46 46 45 52 2e 20 e.annotations.script.in.BUFFER..
234c0 20 41 66 74 65 72 77 61 72 64 73 20 79 6f 75 20 63 61 6e 20 72 65 2d 61 70 70 6c 79 0a 74 68 69 .Afterwards.you.can.re-apply.thi
234e0 73 20 73 63 72 69 70 74 20 75 73 69 6e 67 20 60 64 6a 76 75 2d 70 72 6f 63 65 73 73 2d 73 63 72 s.script.using.`djvu-process-scr
23500 69 70 74 27 2e 20 20 54 68 69 73 20 63 6f 64 65 20 77 69 6c 6c 20 6e 6f 74 20 28 63 61 6e 6e 6f ipt'...This.code.will.not.(canno
23520 74 29 20 63 68 65 63 6b 0a 77 68 65 74 68 65 72 20 74 68 65 20 65 64 69 74 65 64 20 73 63 72 69 t).check.whether.the.edited.scri
23540 70 74 20 69 73 20 6d 65 61 6e 69 6e 67 66 75 6c 20 66 6f 72 20 44 4f 43 2e 20 20 55 73 65 20 61 pt.is.meaningful.for.DOC...Use.a
23560 74 20 79 6f 75 72 20 6f 77 6e 20 72 69 73 6b 2e 0a 59 6f 75 20 67 65 74 20 77 68 61 74 20 79 6f t.your.own.risk..You.get.what.yo
23580 75 20 77 61 6e 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 6c 69 73 74 20 6e 69 u.want."...(interactive.(list.ni
235a0 6c 20 6e 69 6c 20 28 69 66 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 28 64 6a l.nil.(if.current-prefix-arg.(dj
235c0 76 75 2d 72 65 66 20 70 61 67 65 29 29 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 64 6f 63 20 28 vu-ref.page)).t))...(let.((doc.(
235e0 6f 72 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 28 62 75 66 66 65 or.doc.djvu-doc)).........(buffe
23600 72 20 28 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 0a r.(djvu-script-buffer.buffer))).
23620 20 20 20 20 28 64 6a 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 20 20 3b 3b 20 50 75 74 ....(djvu-save.doc.t).....;;.Put
23640 20 74 68 69 73 20 69 6e 20 61 20 73 65 70 61 72 61 74 65 20 62 75 66 66 65 72 21 0a 20 20 20 20 .this.in.a.separate.buffer!.....
23660 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 (with-current-buffer.buffer.....
23680 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 20 74 29 0a 20 20 20 ..(let.((buffer-undo-list.t)....
236a0 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 .........(djvu-init.t)..........
236c0 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 20 28 64 6a ...buffer-read-only).........(dj
236e0 76 75 2d 73 63 72 69 70 74 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 vu-script-mode).........(erase-b
23700 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 41 6c 77 61 79 73 20 63 72 65 61 74 65 20 uffer).........;;.Always.create.
23720 61 20 73 65 6c 66 2d 63 6f 6e 74 61 69 6e 65 64 20 64 6a 76 75 73 65 64 20 73 63 72 69 70 74 2e a.self-contained.djvused.script.
23740 0a 20 20 20 20 20 20 20 20 28 69 66 20 70 61 67 65 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 .........(if.page.(insert.(forma
23760 74 20 22 73 65 6c 65 63 74 20 5c 22 25 73 5c 22 20 23 20 70 61 67 65 20 25 64 5c 6e 22 0a 20 20 t."select.\"%s\".#.page.%d\n"...
23780 20 20 20 20 20 20 20 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 ...............................(
237a0 63 64 72 20 28 61 73 73 71 20 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 cdr.(assq.page.(djvu-ref.page-id
237c0 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .doc))).........................
237e0 20 20 20 20 20 20 20 20 20 70 61 67 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 64 .........page))).........(djvu-d
23800 6a 76 75 73 65 64 20 64 6f 63 20 74 20 22 2d 65 22 20 28 66 6f 72 6d 61 74 20 22 73 65 6c 65 63 jvused.doc.t."-e".(format."selec
23820 74 20 25 73 3b 20 6f 75 74 70 75 74 2d 61 6e 74 3b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 t.%s;.output-ant;"..............
23840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 ............................(or.
23860 70 61 67 65 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 page.""))).........(goto-char.(p
23880 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 oint-min)).........(while.(re-se
238a0 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 28 6d 61 70 61 72 65 61 22 20 6e 69 6c 20 74 29 0a arch-forward."^(maparea".nil.t).
238c0 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 20 3b 20 6a 75 6d 70 20 ..........(forward-sexp).;.jump.
238e0 6f 76 65 72 20 55 52 4c 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 70 6c 61 63 65 20 6e 65 over.URL...........;;.replace.ne
23900 77 6c 69 6e 65 73 20 77 69 74 68 69 6e 20 74 65 78 74 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 wlines.within.text...........(le
23920 74 20 28 28 6c 69 6d 69 74 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 66 6f 72 77 61 t.((limit.(save-excursion.(forwa
23940 72 64 2d 73 65 78 70 29 20 28 70 6f 69 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rd-sexp).(point)))).............
23960 28 77 68 69 6c 65 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5c 5c 6e 22 20 6c 69 6d (while.(search-forward."\\n".lim
23980 69 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 it.t)...............(replace-mat
239a0 63 68 20 22 5c 6e 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 ch."\n")))).........(goto-char.(
239c0 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d point-min))).......(set-buffer-m
239e0 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 odified-p.nil).......(setq.buffe
23a00 72 2d 75 6e 64 6f 2d 6c 69 73 74 20 6e 69 6c 29 29 0a 20 20 20 20 28 69 66 20 64 69 73 70 6c 61 r-undo-list.nil)).....(if.displa
23a20 79 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 0a 0a y.(switch-to-buffer.buffer))))..
23a40 28 64 65 66 75 6e 20 64 6a 76 75 2d 61 6e 6e 6f 74 2d 64 70 6f 73 20 28 26 6f 70 74 69 6f 6e 61 (defun.djvu-annot-dpos.(&optiona
23a60 6c 20 70 6f 69 6e 74 20 64 6f 63 29 0a 20 20 22 52 65 74 75 72 6e 20 44 6a 76 75 20 70 6f 73 69 l.point.doc)..."Return.Djvu.posi
23a80 74 69 6f 6e 20 6f 66 20 50 4f 49 4e 54 20 69 6e 20 44 6a 76 75 20 61 6e 6e 6f 74 61 74 69 6f 6e tion.of.POINT.in.Djvu.annotation
23aa0 73 20 62 75 66 66 65 72 2e 22 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 s.buffer."...(with-current-buffe
23ac0 72 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 28 r.(djvu-ref.annot-buf.doc).....(
23ae0 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 69 66 20 70 6f 69 6e 74 20 28 save-excursion.......(if.point.(
23b00 67 6f 74 6f 2d 63 68 61 72 20 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 goto-char.point)).......(let.((b
23b20 6f 75 6e 64 73 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 ounds.(djvu-object-bounds)))....
23b40 20 20 20 20 20 28 69 66 20 62 6f 75 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 .....(if.bounds.............(let
23b60 2a 20 28 28 6f 62 6a 65 63 74 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 20 62 6f 75 6e 64 73 29 29 *.((object.(djvu-object.bounds))
23b80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 61 20 28 6e 74 68 20 33 ....................(area.(nth.3
23ba0 20 6f 62 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 .object)))...............(if.(eq
23bc0 20 28 63 61 72 20 6f 62 6a 65 63 74 29 20 27 6d 61 70 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 .(car.object).'maparea).........
23be0 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 71 20 28 63 61 72 20 61 72 65 61 ..........(cond.((memq.(car.area
23c00 29 20 27 28 74 65 78 74 20 6f 76 61 6c 20 6c 69 6e 65 20 70 6f 6c 79 29 29 0a 20 20 20 20 20 20 ).'(text.oval.line.poly)).......
23c20 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 6e 74 68 20 33 20 6f ...................(cdr.(nth.3.o
23c40 62 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bject)))........................
23c60 20 28 28 63 6f 6e 73 70 20 61 72 65 61 29 20 3b 20 6d 61 70 61 72 65 61 20 72 65 63 74 0a 20 20 .((consp.area).;.maparea.rect...
23c80 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 64 61 72 20 61 72 65 .......................(cdar.are
23ca0 61 29 29 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 20 4d 61 6e 69 70 75 6c 61 74 65 20 61 6e 6e 6f a))))))))))..;;;.Manipulate.anno
23cc0 74 61 74 69 6f 6e 73 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 6f 75 6e tations..(defun.djvu-object-boun
23ce0 64 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 62 6f 75 6e 64 73 20 28 42 45 47 20 2e 20 45 4e ds.()..."Return.bounds.(BEG...EN
23d00 44 29 20 6f 66 20 44 6a 76 75 20 6f 62 6a 65 63 74 20 74 68 61 74 20 63 6f 6e 74 61 69 6e 73 20 D).of.Djvu.object.that.contains.
23d20 6f 72 20 66 6f 6c 6c 6f 77 73 20 70 6f 69 6e 74 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 or.follows.point..Return.nil.if.
23d40 6e 6f 20 73 75 63 68 20 6f 62 6a 65 63 74 20 63 61 6e 20 62 65 20 66 6f 75 6e 64 2e 22 0a 20 20 no.such.object.can.be.found."...
23d60 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6c 65 74 20 28 28 70 6e 74 20 28 (save-excursion.....(let.((pnt.(
23d80 70 6f 69 6e 74 29 29 20 66 6f 75 6e 64 20 65 6e 64 29 0a 20 20 20 20 20 20 28 62 65 67 69 6e 6e point)).found.end).......(beginn
23da0 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 ing-of-line).......(while.(not.(
23dc0 6f 72 20 28 73 65 74 71 20 66 6f 75 6e 64 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 64 6a 76 75 2d or.(setq.found.(looking-at.djvu-
23de0 62 65 67 2d 6f 62 6a 65 63 74 2d 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 beg-object-re)).................
23e00 20 20 20 20 20 20 28 62 6f 62 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d ......(bobp))).........(forward-
23e20 6c 69 6e 65 20 2d 31 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 66 6f 75 6e 64 0a 20 line.-1)).......(if.(and.found..
23e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 70 6e 74 20 28 73 65 74 71 20 65 6e 64 20 28 ..............(<.pnt.(setq.end.(
23e60 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 20 28 70 save-excursion.(forward-sexp).(p
23e80 6f 69 6e 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 70 6f 69 6e 74 oint)))))...........(cons.(point
23ea0 29 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 6f 75 6e 64 20 6e 69 6c 29 0a ).end).........(setq.found.nil).
23ec0 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6e 74 29 0a 20 20 20 20 20 20 20 20 ........(goto-char.pnt).........
23ee0 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 73 65 74 71 20 66 6f 75 6e 64 20 28 6c 6f 6f (while.(not.(or.(setq.found.(loo
23f00 6b 69 6e 67 2d 61 74 20 64 6a 76 75 2d 62 65 67 2d 6f 62 6a 65 63 74 2d 72 65 29 29 0a 20 20 20 king-at.djvu-beg-object-re))....
23f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6f 62 70 29 29 29 0a 20 20 .....................(eobp)))...
23f40 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 20 20 ........(forward-line.1)).......
23f60 20 20 28 69 66 20 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 70 ..(if.found.............(cons.(p
23f80 6f 69 6e 74 29 20 28 70 72 6f 67 6e 20 28 66 6f 72 77 61 72 64 2d 73 65 78 70 29 20 28 70 6f 69 oint).(progn.(forward-sexp).(poi
23fa0 6e 74 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6f 62 6a 65 63 74 20 28 nt))))))))..(defun.djvu-object.(
23fc0 62 6f 75 6e 64 73 29 0a 20 20 22 52 65 74 75 72 6e 20 44 6a 76 75 20 6f 62 6a 65 63 74 20 64 65 bounds)..."Return.Djvu.object.de
23fe0 66 69 6e 65 64 20 76 69 61 20 42 4f 55 4e 44 53 2c 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 28 42 fined.via.BOUNDS,.a.cons.cell.(B
24000 45 47 20 2e 20 45 4e 44 29 2e 22 0a 20 20 3b 3b 20 57 65 20 63 61 6e 6e 6f 74 20 63 61 6c 6c 20 EG...END)."...;;.We.cannot.call.
24020 60 72 65 61 64 27 20 69 6e 20 61 20 44 6a 76 75 20 62 75 66 66 65 72 20 62 65 63 61 75 73 65 20 `read'.in.a.Djvu.buffer.because.
24040 74 68 65 20 44 6a 76 75 20 68 61 73 68 20 73 79 6e 74 61 78 0a 20 20 3b 3b 20 69 73 20 6e 6f 74 the.Djvu.hash.syntax...;;.is.not
24060 20 63 6f 6d 70 61 74 69 62 6c 65 20 77 69 74 68 20 74 68 65 20 45 6d 61 63 73 20 72 65 61 64 20 .compatible.with.the.Emacs.read.
24080 73 79 6e 74 61 78 2e 0a 20 20 28 6c 65 74 20 28 28 73 74 72 69 6e 67 20 28 62 75 66 66 65 72 2d syntax....(let.((string.(buffer-
240a0 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 63 61 72 20 62 6f 75 substring-no-properties.(car.bou
240c0 6e 64 73 29 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 nds).(cdr.bounds)))).....(with-t
240e0 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 29 emp-buffer.......(insert.string)
24100 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6e 76 65 72 74 2d 68 61 73 68 29 0a 20 20 20 20 20 .......(djvu-convert-hash)......
24120 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 20 20 28 .(goto-char.(point-min)).......(
24140 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 64 65 66 75 read.(current-buffer)))))..(defu
24160 6e 20 64 6a 76 75 2d 75 70 64 61 74 65 2d 63 6f 6c 6f 72 20 28 63 6f 6c 6f 72 29 0a 20 20 22 55 n.djvu-update-color.(color)..."U
24180 70 64 61 74 65 20 63 6f 6c 6f 72 20 61 74 74 72 69 62 75 74 65 20 6f 66 20 44 6a 76 75 20 6d 61 pdate.color.attribute.of.Djvu.ma
241a0 70 61 72 65 61 20 74 6f 20 43 4f 4c 4f 52 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 parea.to.COLOR."...(interactive.
241c0 28 6c 69 73 74 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 2d 72 65 (list.(djvu-interactive-color-re
241e0 61 64 29 29 29 0a 20 20 28 6c 65 74 20 28 28 64 70 6f 73 20 28 64 6a 76 75 2d 64 70 6f 73 29 29 ad)))...(let.((dpos.(djvu-dpos))
24200 0a 20 20 20 20 20 20 20 20 28 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 20 20 28 77 69 .........(doc.djvu-doc)).....(wi
24220 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f th-current-buffer.(djvu-ref.anno
24240 74 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 28 69 66 20 28 64 6a 76 75 2d 67 6f 74 6f 2d t-buf.doc).......(if.(djvu-goto-
24260 64 70 6f 73 20 27 72 65 63 74 20 64 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 dpos.'rect.dpos)...........(djvu
24280 2d 75 70 64 61 74 65 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 63 6f 6c 6f 72 29 0a 20 20 -update-color-internal.color)...
242a0 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 6f 62 6a 65 63 74 20 74 6f 20 ......(user-error."No.object.to.
242c0 75 70 64 61 74 65 22 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 75 70 64 61 74 65 update")))))..(defun.djvu-update
242e0 2d 63 6f 6c 6f 72 2d 69 6e 74 65 72 6e 61 6c 20 28 63 6f 6c 6f 72 20 26 6f 70 74 69 6f 6e 61 6c -color-internal.(color.&optional
24300 20 6f 70 61 63 69 74 79 29 0a 20 20 22 55 70 64 61 74 65 20 63 6f 6c 6f 72 20 61 74 74 72 69 62 .opacity)..."Update.color.attrib
24320 75 74 65 20 6f 66 20 44 6a 76 75 20 6d 61 70 61 72 65 61 20 74 6f 20 43 4f 4c 4f 52 2e 0a 49 66 ute.of.Djvu.maparea.to.COLOR..If
24340 20 6e 6f 20 73 75 63 68 20 61 74 74 72 69 62 75 74 65 20 65 78 69 73 74 73 20 69 6e 73 65 72 74 .no.such.attribute.exists.insert
24360 20 61 20 6e 65 77 20 6f 6e 65 2e 0a 50 72 65 66 69 78 20 61 72 67 20 4f 50 41 43 49 54 59 20 69 .a.new.one..Prefix.arg.OPACITY.i
24380 73 20 74 68 65 20 6f 70 61 63 69 74 79 20 74 6f 20 75 73 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 s.the.opacity.to.use."...(intera
243a0 63 74 69 76 65 0a 20 20 20 28 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 64 6a 76 75 2d 69 6e 74 65 ctive....(let.((color.(djvu-inte
243c0 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 2d 72 65 61 64 29 29 29 0a 20 20 20 20 20 28 6c 69 73 74 ractive-color-read)))......(list
243e0 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 63 6f 6c 6f 72 .color............(if.(and.color
24400 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 .current-prefix-arg)............
24420 20 20 20 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 4f 70 61 63 69 74 79 3a 20 22 29 29 29 29 ....(read-number."Opacity:."))))
24440 29 0a 20 20 28 6c 65 74 20 28 28 62 6f 75 6e 64 73 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 2d 62 )...(let.((bounds.(djvu-object-b
24460 6f 75 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 28 6f 70 61 63 69 74 79 20 28 6f 72 20 6f 70 61 ounds)).........(opacity.(or.opa
24480 63 69 74 79 20 64 6a 76 75 2d 6f 70 61 63 69 74 79 29 29 29 0a 20 20 20 20 28 69 66 20 62 6f 75 city.djvu-opacity))).....(if.bou
244a0 6e 64 73 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 nds.........(save-excursion.....
244c0 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 63 61 72 20 62 6f 75 6e 64 73 29 29 0a 20 ......(goto-char.(car.bounds))..
244e0 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 63 6f 6c 6f 72 29 0a 20 20 20 20 .........(cond.((not.color).....
24500 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 6d 6f 76 65 20 63 6f 6c 6f 72 20 61 6e 64 .............;;.remove.color.and
24520 20 6f 70 61 63 69 74 79 20 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 .opacity.attributes.............
24540 20 20 20 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 .....(when.(re-search-forward...
24560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 64 6a ......................(format.dj
24580 76 75 2d 63 6f 6c 6f 72 2d 72 65 20 22 23 22 20 22 22 20 22 22 29 20 28 63 64 72 20 62 6f 75 6e vu-color-re."#".""."").(cdr.boun
245a0 64 73 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 ds).t)....................(repla
245c0 63 65 2d 6d 61 74 63 68 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ce-match."")....................
245e0 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5b 5c 73 5c 74 5c 6e 5d 2b 22 29 20 28 72 65 (if.(looking-at."[\s\t\n]+").(re
24600 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 place-match."")))...............
24620 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 63 61 72 20 62 6f 75 6e 64 73 29 29 0a 20 20 20 20 ...(goto-char.(car.bounds)).....
24640 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f .............(when.(re-search-fo
24660 72 77 61 72 64 20 22 28 6f 70 61 63 69 74 79 20 5b 30 2d 39 5d 2b 29 22 20 28 63 64 72 20 62 6f rward."(opacity.[0-9]+)".(cdr.bo
24680 75 6e 64 73 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 unds).t)....................(rep
246a0 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lace-match."")..................
246c0 20 20 28 69 66 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5b 5c 73 5c 74 5c 6e 5d 2b 22 29 20 28 ..(if.(looking-at."[\s\t\n]+").(
246e0 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 replace-match.""))))............
24700 20 20 20 20 20 28 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 0a 20 20 20 20 20 20 20 .....((re-search-forward........
24720 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 72 65 ...........(format.djvu-color-re
24740 20 22 23 22 20 22 22 20 22 22 29 20 28 63 64 72 20 62 6f 75 6e 64 73 29 20 74 29 0a 20 20 20 20 ."#".""."").(cdr.bounds).t).....
24760 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 75 70 64 61 74 65 20 65 78 69 73 74 69 6e 67 20 .............;;.update.existing.
24780 63 6f 6c 6f 72 20 61 74 74 72 69 62 75 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 color.attribute.................
247a0 20 28 6c 65 74 20 28 28 61 74 74 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 29 0a .(let.((attr.(match-string.1))).
247c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6d 65 6d 62 65 ...................(cond.((membe
247e0 72 20 61 74 74 72 20 27 28 22 68 69 6c 69 74 65 22 20 22 6c 69 6e 65 63 6c 72 22 20 22 62 6f 72 r.attr.'("hilite"."lineclr"."bor
24800 64 65 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 der"))..........................
24820 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 28 63 64 72 20 28 61 73 73 6f 63 20 63 6f 6c 6f .(replace-match.(cdr.(assoc.colo
24840 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.djvu-color-alist))............
24860 20 20 20 20 20 20 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 69 ..............................ni
24880 6c 20 6e 69 6c 20 6e 69 6c 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.nil.nil.2))...................
248a0 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 61 74 74 72 20 22 62 61 63 6b 63 6c 72 22 29 .......((string=.attr."backclr")
248c0 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 28 72 65 70 6c ...........................(repl
248e0 61 63 65 2d 6d 61 74 63 68 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 ace-match.(save-match-data......
24900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24920 20 20 20 20 20 28 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f .....(djvu-color-background.colo
24940 72 20 6e 69 6c 20 6f 70 61 63 69 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.nil.opacity)).................
24960 20 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 69 6c 20 6e 69 6c .........................nil.nil
24980 20 6e 69 6c 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .nil.2))........................
249a0 20 20 28 74 20 28 6d 65 73 73 61 67 65 20 22 43 6f 6c 6f 72 20 75 70 64 61 74 65 20 66 6f 72 20 ..(t.(message."Color.update.for.
249c0 61 74 74 72 69 62 75 74 65 20 60 25 73 27 20 75 6e 64 65 66 69 6e 65 64 22 0a 20 20 20 20 20 20 attribute.`%s'.undefined".......
249e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 ...............................a
24a00 74 74 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 73 65 ttr))))).................;;.inse
24a20 72 74 20 6e 65 77 20 63 6f 6c 6f 72 20 61 74 74 72 69 62 75 74 65 20 28 64 65 70 65 6e 64 65 6e rt.new.color.attribute.(dependen
24a40 74 20 6f 6e 20 61 72 65 61 20 61 74 74 72 69 62 75 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 t.on.area.attribute)............
24a60 20 20 20 20 20 28 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 28 72 65 63 74 22 .....((re-search-forward."(rect"
24a80 20 28 63 64 72 20 62 6f 75 6e 64 73 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(cdr.bounds).t)................
24aa0 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 2d 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 29 0a ..(goto-char.(1-.(cdr.bounds))).
24ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 .................(insert.(format
24ae0 20 22 20 28 68 69 6c 69 74 65 20 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .".(hilite.%s)".................
24b00 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 6f 63 20 63 6f 6c .................(cdr.(assoc.col
24b20 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 or.djvu-color-alist)))).........
24b40 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e .........(unless.(save-excursion
24b60 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 67 6f 74 ............................(got
24b80 6f 2d 63 68 61 72 20 28 63 61 72 20 62 6f 75 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 o-char.(car.bounds))............
24ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 ................(re-search-forwa
24bc0 72 64 20 22 28 6f 70 61 63 69 74 79 20 5b 30 2d 39 5d 2b 29 22 20 28 63 64 72 20 62 6f 75 6e 64 rd."(opacity.[0-9]+)".(cdr.bound
24be0 73 29 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 s).t))....................(inser
24c00 74 20 28 66 6f 72 6d 61 74 20 22 20 28 6f 70 61 63 69 74 79 20 25 64 29 22 20 6f 70 61 63 69 74 t.(format.".(opacity.%d)".opacit
24c20 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 72 65 2d 73 65 61 72 63 y)))).................((re-searc
24c40 68 2d 66 6f 72 77 61 72 64 20 22 28 6c 69 6e 65 22 20 28 63 64 72 20 62 6f 75 6e 64 73 29 20 74 h-forward."(line".(cdr.bounds).t
24c60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 )..................(goto-char.(1
24c80 2d 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -.(cdr.bounds)))................
24ca0 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 28 6c 69 6e 65 63 6c 72 20 25 73 29 ..(insert.(format.".(lineclr.%s)
24cc0 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 20 20 20 "...............................
24ce0 20 20 20 28 63 64 72 20 28 61 73 73 6f 63 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d ...(cdr.(assoc.color.djvu-color-
24d00 61 6c 69 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 72 65 2d alist))))).................((re-
24d20 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 28 70 6f 6c 79 22 20 28 63 64 72 20 62 6f 75 6e search-forward."(poly".(cdr.boun
24d40 64 73 29 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 ds).t)..................(goto-ch
24d60 61 72 20 28 31 2d 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ar.(1-.(cdr.bounds)))...........
24d80 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 28 62 6f 72 64 65 72 .......(insert.(format.".(border
24da0 20 25 73 29 20 28 62 6f 72 64 65 72 5f 61 76 69 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 .%s).(border_avis)".............
24dc0 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 6f 63 .....................(cdr.(assoc
24de0 20 63 6f 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 61 6c 69 73 74 29 29 29 29 29 0a 20 20 20 .color.djvu-color-alist)))))....
24e00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 .............((re-search-forward
24e20 20 22 28 74 65 78 74 22 20 28 63 64 72 20 62 6f 75 6e 64 73 29 20 74 29 0a 20 20 20 20 20 20 20 ."(text".(cdr.bounds).t)........
24e40 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 2d 20 28 63 64 72 20 62 6f ..........(goto-char.(1-.(cdr.bo
24e60 75 6e 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 unds)))..................(insert
24e80 20 28 66 6f 72 6d 61 74 20 22 20 28 62 61 63 6b 63 6c 72 20 25 73 29 22 0a 20 20 20 20 20 20 20 .(format.".(backclr.%s)"........
24ea0 20 20 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 64 6a 76 75 2d ..........................(djvu-
24ec0 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 6e 64 20 63 6f 6c 6f 72 20 6e 69 6c 20 6f 70 61 63 69 color-background.color.nil.opaci
24ee0 74 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 6d 65 73 73 61 ty)))).................(t.(messa
24f00 67 65 20 22 44 6f 20 6e 6f 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 75 70 64 61 74 65 20 63 6f ge."Do.not.know.how.to.update.co
24f20 6c 6f 72 22 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 65 72 67 65 2d 6d lor")))))))..(defun.djvu-merge-m
24f40 61 70 61 72 65 61 73 20 28 62 65 67 20 65 6e 64 29 0a 20 20 22 4d 65 72 67 65 20 44 6a 76 75 20 apareas.(beg.end)..."Merge.Djvu.
24f60 6d 61 70 61 72 65 61 73 20 66 72 6f 6d 20 42 45 47 20 74 6f 20 45 4e 44 2e 22 0a 20 20 28 69 6e mapareas.from.BEG.to.END."...(in
24f80 74 65 72 61 63 74 69 76 65 20 22 72 22 29 0a 20 20 28 6c 65 74 20 28 62 6f 75 6e 64 73 20 75 72 teractive."r")...(let.(bounds.ur
24fa0 6c 20 74 65 78 74 20 72 65 63 74 20 68 69 6c 69 74 65 20 6f 70 61 63 69 74 79 20 62 6f 72 64 65 l.text.rect.hilite.opacity.borde
24fc0 72 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 67 29 0a 20 20 20 20 28 77 68 69 6c r).....(goto-char.beg).....(whil
24fe0 65 20 28 61 6e 64 20 28 3c 20 28 70 6f 69 6e 74 29 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 e.(and.(<.(point).end)..........
25000 20 20 20 20 20 20 20 28 73 65 74 71 20 62 6f 75 6e 64 73 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 .......(setq.bounds.(djvu-object
25020 2d 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 3c 20 28 63 61 72 20 62 6f 75 -bounds))).......(if.(<.(car.bou
25040 6e 64 73 29 20 62 65 67 29 20 28 73 65 74 71 20 62 65 67 20 28 63 61 72 20 62 6f 75 6e 64 73 29 nds).beg).(setq.beg.(car.bounds)
25060 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 3c 20 65 6e 64 20 28 63 64 72 20 62 6f 75 6e 64 73 29 )).......(if.(<.end.(cdr.bounds)
25080 29 20 28 73 65 74 71 20 65 6e 64 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 20 20 ).(setq.end.(cdr.bounds)))......
250a0 20 28 6c 65 74 20 28 28 6d 61 70 61 72 65 61 20 28 64 6a 76 75 2d 6f 62 6a 65 63 74 20 62 6f 75 .(let.((maparea.(djvu-object.bou
250c0 6e 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 27 6d 61 70 61 nds))).........(unless.(eq.'mapa
250e0 72 65 61 20 28 63 61 72 20 6d 61 70 61 72 65 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 rea.(car.maparea))...........(er
25100 72 6f 72 20 22 43 61 6e 6e 6f 74 20 6d 65 72 67 65 20 60 25 73 27 22 20 28 63 61 72 20 6d 61 70 ror."Cannot.merge.`%s'".(car.map
25120 61 72 65 61 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6e 74 68 20 31 20 6d 61 70 area))).........(push.(nth.1.map
25140 61 72 65 61 29 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6e 74 68 20 32 20 area).url).........(push.(nth.2.
25160 6d 61 70 61 72 65 61 29 20 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 maparea).text).........(dolist.(
25180 65 6c 74 20 28 6e 74 68 63 64 72 20 33 20 6d 61 70 61 72 65 61 29 29 0a 20 20 20 20 20 20 20 20 elt.(nthcdr.3.maparea)).........
251a0 20 20 28 63 6f 6e 64 20 28 28 63 6f 6e 73 70 20 28 63 61 72 20 65 6c 74 29 29 20 3b 20 6c 69 73 ..(cond.((consp.(car.elt)).;.lis
251c0 74 20 6f 66 20 72 65 63 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 t.of.rects..................(map
251e0 63 20 28 6c 61 6d 62 64 61 20 28 72 29 20 28 70 75 73 68 20 72 20 72 65 63 74 29 29 20 65 6c 74 c.(lambda.(r).(push.r.rect)).elt
25200 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 28 63 61 72 20 65 )).................((memq.(car.e
25220 6c 74 29 20 27 28 74 65 78 74 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lt).'(text.line))...............
25240 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 6d 65 72 67 65 20 74 65 78 ...(user-error."Cannot.merge.tex
25260 74 20 6f 72 20 6c 69 6e 65 20 6d 61 70 61 72 65 61 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 t.or.line.mapareas"))...........
25280 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 20 65 6c 74 29 20 27 68 69 6c 69 74 65 29 0a 20 20 ......((eq.(car.elt).'hilite)...
252a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 61 64 72 20 65 6c 74 29 20 ...............(push.(cadr.elt).
252c0 68 69 6c 69 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 hilite)).................((eq.(c
252e0 61 72 20 65 6c 74 29 20 27 6f 70 61 63 69 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.elt).'opacity)...............
25300 20 20 20 28 70 75 73 68 20 28 63 61 64 72 20 65 6c 74 29 20 6f 70 61 63 69 74 79 29 29 0a 20 20 ...(push.(cadr.elt).opacity))...
25320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 28 63 61 72 20 65 6c 74 29 20 27 ..............((memq.(car.elt).'
25340 28 6e 6f 6e 65 20 78 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 (none.xor))..................(pu
25360 73 68 20 28 63 61 72 20 65 6c 74 29 20 62 6f 72 64 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 sh.(car.elt).border))...........
25380 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 ......(t..................(error
253a0 20 22 55 6e 6b 6e 6f 77 6e 20 61 74 74 72 69 62 75 74 65 20 60 25 73 27 22 20 65 6c 74 29 29 29 ."Unknown.attribute.`%s'".elt)))
253c0 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 63 64 72 20 62 6f 75 6e 64 73 29 )).......(goto-char.(cdr.bounds)
253e0 29 0a 20 20 20 20 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 5c 73 5c ).......(skip-chars-forward."\s\
25400 74 5c 6e 22 29 29 0a 0a 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 64 75 70 6c 69 63 61 74 65 20 t\n"))......;;.Remove.duplicate.
25420 61 74 74 72 69 62 75 74 65 0a 20 20 20 20 28 73 65 74 71 20 75 72 6c 20 28 6f 72 20 28 64 65 6c attribute.....(setq.url.(or.(del
25440 65 74 65 2d 64 75 70 73 20 28 64 65 6c 65 74 65 20 22 22 20 75 72 6c 29 29 20 27 28 22 22 29 29 ete-dups.(delete."".url)).'(""))
25460 29 0a 20 20 20 20 28 69 66 20 28 6e 74 68 20 31 20 75 72 6c 29 20 28 75 73 65 72 2d 65 72 72 6f ).....(if.(nth.1.url).(user-erro
25480 72 20 22 43 61 6e 6e 6f 74 20 6d 65 72 67 65 20 6d 75 6c 74 69 70 6c 65 20 55 52 4c 73 22 29 29 r."Cannot.merge.multiple.URLs"))
254a0 0a 20 20 20 20 28 73 65 74 71 20 74 65 78 74 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 .....(setq.text.(mapconcat.#'ide
254c0 6e 74 69 74 79 20 28 6e 72 65 76 65 72 73 65 20 28 64 65 6c 65 74 65 20 22 22 20 74 65 78 74 29 ntity.(nreverse.(delete."".text)
254e0 29 20 22 5c 6e 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 68 69 6c 69 74 65 20 28 64 65 6c 65 74 )."\n")).....(setq.hilite.(delet
25500 65 2d 64 75 70 73 20 68 69 6c 69 74 65 29 29 0a 20 20 20 20 28 69 66 20 28 6e 74 68 20 31 20 68 e-dups.hilite)).....(if.(nth.1.h
25520 69 6c 69 74 65 29 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 6d 65 72 67 65 ilite).(user-error."Cannot.merge
25540 20 6d 75 6c 74 69 70 6c 65 20 68 69 6c 69 74 65 73 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 6f .multiple.hilites")).....(setq.o
25560 70 61 63 69 74 79 20 28 64 65 6c 65 74 65 2d 64 75 70 73 20 6f 70 61 63 69 74 79 29 29 0a 20 20 pacity.(delete-dups.opacity))...
25580 20 20 28 69 66 20 28 6e 74 68 20 31 20 6f 70 61 63 69 74 79 29 20 28 75 73 65 72 2d 65 72 72 6f ..(if.(nth.1.opacity).(user-erro
255a0 72 20 22 43 61 6e 6e 6f 74 20 6d 65 72 67 65 20 6d 75 6c 74 69 70 6c 65 20 6f 70 61 63 69 74 69 r."Cannot.merge.multiple.opaciti
255c0 65 73 22 29 29 0a 20 20 20 20 3b 3b 20 42 6f 72 64 65 72 20 60 6e 6f 6e 65 27 20 69 73 20 67 69 es")).....;;.Border.`none'.is.gi
255e0 76 65 6e 20 6c 6f 77 65 72 20 70 72 65 63 65 64 65 6e 63 65 20 74 68 61 6e 20 6f 74 68 65 72 20 ven.lower.precedence.than.other.
25600 62 6f 72 64 65 72 73 0a 20 20 20 20 28 73 65 74 71 20 62 6f 72 64 65 72 20 28 6f 72 20 28 64 65 borders.....(setq.border.(or.(de
25620 6c 65 74 65 2d 64 75 70 73 20 28 64 65 6c 71 20 27 6e 6f 6e 65 20 62 6f 72 64 65 72 29 29 20 27 lete-dups.(delq.'none.border)).'
25640 28 6e 6f 6e 65 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 74 68 20 31 20 62 6f 72 64 65 72 29 20 (none))).....(if.(nth.1.border).
25660 28 75 73 65 72 2d 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 6d 65 72 67 65 20 6d 75 6c 74 69 70 (user-error."Cannot.merge.multip
25680 6c 65 20 62 6f 72 64 65 72 73 22 29 29 0a 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 62 65 le.borders"))......(goto-char.be
256a0 67 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 29 0a 20 g).....(delete-region.beg.end)..
256c0 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 28 6d 61 70 61 72 65 61 20 25 53 5c ...(insert.(format."(maparea.%S\
256e0 6e 20 25 53 5c 6e 20 28 22 20 28 63 61 72 20 75 72 6c 29 20 74 65 78 74 29 0a 20 20 20 20 20 20 n.%S\n.(".(car.url).text).......
25700 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 ......(mapconcat.#'prin1-to-stri
25720 6e 67 20 28 6e 72 65 76 65 72 73 65 20 72 65 63 74 29 20 22 5c 6e 20 20 22 29 20 22 29 5c 6e 22 ng.(nreverse.rect)."\n..").")\n"
25740 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 68 69 6c 69 74 65 20 28 66 6f 72 6d 61 74 20 .............(if.hilite.(format.
25760 22 20 28 68 69 6c 69 74 65 20 25 73 29 22 20 28 63 61 72 20 68 69 6c 69 74 65 29 29 20 22 22 29 ".(hilite.%s)".(car.hilite))."")
25780 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6f 70 61 63 69 74 79 20 28 66 6f 72 6d 61 74 .............(if.opacity.(format
257a0 20 22 20 28 6f 70 61 63 69 74 79 20 25 73 29 22 20 28 63 61 72 20 6f 70 61 63 69 74 79 29 29 20 .".(opacity.%s)".(car.opacity)).
257c0 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 28 25 73 29 22 20 "").............(format.".(%s)".
257e0 28 63 61 72 20 62 6f 72 64 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 29 5c 6e 22 29 (car.border)).............")\n")
25800 0a 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 28 6e 61 .....(save-restriction.......(na
25820 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 62 65 67 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 rrow-to-region.beg.(point)).....
25840 20 20 28 64 6a 76 75 2d 63 6f 6e 76 65 72 74 2d 68 61 73 68 20 74 29 29 29 29 0a 0a 3b 3b 3b 20 ..(djvu-convert-hash.t))))..;;;.
25860 44 6a 76 75 20 42 6f 6f 6b 6d 61 72 6b 73 20 6d 6f 64 65 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 Djvu.Bookmarks.mode..(defun.djvu
25880 2d 62 6f 6f 6b 6d 61 72 6b 73 2d 70 61 67 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 6e 74 20 64 -bookmarks-page.(&optional.pnt.d
258a0 6f 63 29 0a 20 20 22 49 6e 20 42 6f 6f 6b 6d 61 72 6b 73 20 62 75 66 66 65 72 20 72 65 74 75 72 oc)..."In.Bookmarks.buffer.retur
258c0 6e 20 70 61 67 65 20 6e 75 6d 62 65 72 20 61 74 20 70 6f 73 69 74 69 6f 6e 20 50 4e 54 2e 0a 50 n.page.number.at.position.PNT..P
258e0 4e 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 70 6f 69 6e 74 NT.defaults.to.position.of.point
25900 2e 22 0a 20 20 28 64 6a 76 75 2d 75 72 6c 2d 70 61 67 65 0a 20 20 20 28 73 61 76 65 2d 65 78 63 ."...(djvu-url-page....(save-exc
25920 75 72 73 69 6f 6e 0a 20 20 20 20 20 28 69 66 20 70 6e 74 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 ursion......(if.pnt.(goto-char.p
25940 6e 74 29 29 0a 20 20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 nt))......(beginning-of-line)...
25960 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 28 62 6f 62 70 29 0a 20 20 20 20 20 20 ...(while.(not.(or.(bobp).......
25980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 5e 5b 5c 74 ...............(looking-at."^[\t
259a0 5c 73 5d 2a 28 5c 5c 28 5c 22 5c 5c 29 22 29 29 29 0a 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 \s]*(\\(\"\\)")))........(forwar
259c0 64 2d 6c 69 6e 65 20 2d 31 29 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 6d 61 74 63 68 2d 62 65 d-line.-1))......(when.(match-be
259e0 67 69 6e 6e 69 6e 67 20 31 29 0a 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 ginning.1)........(goto-char.(ma
25a00 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 31 29 29 0a 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 tch-beginning.1))........(forwar
25a20 64 2d 73 65 78 70 29 0a 20 20 20 20 20 20 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 d-sexp)........(read.(current-bu
25a40 66 66 65 72 29 29 29 29 0a 20 20 20 64 6f 63 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 75 ffer))))....doc))..(defun.djvu-u
25a60 72 6c 2d 70 61 67 65 20 28 75 72 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 46 rl-page.(url.&optional.doc)..."F
25a80 6f 72 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c 20 72 65 74 75 72 6e 20 74 68 65 20 63 or.the.internal.URL.return.the.c
25aa0 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 70 61 67 65 20 6e 75 6d 62 65 72 2e 0a 54 68 69 73 20 69 orresponding.page.number..This.i
25ac0 73 20 74 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 60 64 6a 76 75 2d 70 61 67 65 2d 75 72 6c 27 s.the.inverse.of.`djvu-page-url'
25ae0 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 55 52 4c 20 69 73 20 6e 6f 74 20 61 6e 20 69 6e ..Return.nil.if.URL.is.not.an.in
25b00 74 65 72 6e 61 6c 20 55 52 4c 2e 22 0a 20 20 3b 3b 20 49 66 20 77 65 20 74 72 79 20 74 6f 20 67 ternal.URL."...;;.If.we.try.to.g
25b20 72 61 62 20 55 52 4c 20 66 72 6f 6d 20 61 20 62 6f 6f 6b 6d 61 72 6b 73 20 6f 72 20 6f 75 74 6c rab.URL.from.a.bookmarks.or.outl
25b40 69 6e 65 20 62 75 66 66 65 72 2c 20 55 52 4c 20 6d 61 79 20 62 65 20 6e 69 6c 2e 0a 20 20 28 69 ine.buffer,.URL.may.be.nil....(i
25b60 66 20 75 72 6c 0a 20 20 20 20 20 20 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 55 52 4c 73 20 73 74 61 f.url.......;;.Internal.URLs.sta
25b80 72 74 20 77 69 74 68 20 22 23 22 2e 0a 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e rt.with."#"........(cond.((strin
25ba0 67 2d 6d 61 74 63 68 20 22 5c 5c 60 23 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5c 5c 27 22 20 75 72 g-match."\\`#\\([0-9]+\\)\\'".ur
25bc0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 l)..............(djvu-match-numb
25be0 65 72 20 31 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d er.1.url)).............((string-
25c00 6d 61 74 63 68 20 22 5c 5c 60 23 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 match."\\`#".url)..............(
25c20 63 61 72 20 28 72 61 73 73 6f 63 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 car.(rassoc.(substring-no-proper
25c40 74 69 65 73 20 75 72 6c 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ties.url.1).....................
25c60 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 29 29 29 ......(djvu-ref.page-id.doc)))))
25c80 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 20 28 74 65 78 74 20 70 ))..(defun.djvu-bookmark.(text.p
25ca0 61 67 65 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 76 65 6c 29 0a 20 20 22 43 72 65 61 74 65 20 62 age.&optional.level)..."Create.b
25cc0 6f 6f 6b 6d 61 72 6b 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 64 6a 76 75 ookmark"...(interactive....(djvu
25ce0 2d 77 69 74 68 2d 72 65 67 69 6f 6e 20 72 65 67 69 6f 6e 0a 20 20 20 20 20 28 6c 69 73 74 20 28 -with-region.region......(list.(
25d00 64 6a 76 75 2d 72 65 61 64 2d 73 74 72 69 6e 67 20 22 42 6f 6f 6b 6d 61 72 6b 3a 20 22 20 72 65 djvu-read-string."Bookmark:.".re
25d20 67 69 6f 6e 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 gion.t)............(djvu-ref.pag
25d40 65 29 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 e).(djvu-interactive-bookmark-le
25d60 76 65 6c 29 29 29 29 0a 20 20 3b 3b 20 52 65 6d 6f 76 65 20 6e 65 77 6c 69 6e 65 73 20 66 72 6f vel))))...;;.Remove.newlines.fro
25d80 6d 20 54 45 58 54 20 74 68 61 74 20 61 72 65 20 69 67 6e 6f 72 65 64 20 61 6e 79 77 61 79 0a 20 m.TEXT.that.are.ignored.anyway..
25da0 20 28 73 65 74 71 20 74 65 78 74 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 .(setq.text.(replace-regexp-in-s
25dc0 74 72 69 6e 67 20 22 5b 5c 6e 20 5d 2b 22 20 22 20 22 20 74 65 78 74 29 29 0a 20 20 28 6c 65 74 tring."[\n.]+".".".text))...(let
25de0 20 28 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 .(object).....(with-current-buff
25e00 65 72 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f 6b 6d 61 72 6b 73 2d 62 75 66 29 0a 20 20 20 20 er.(djvu-ref.bookmarks-buf).....
25e20 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 20 20 ..(goto-char.(point-min)).......
25e40 28 69 66 20 28 65 71 75 61 6c 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a (if.(equal.(point).(point-max)).
25e60 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 62 6a 65 63 74 20 28 6c 69 73 74 20 27 62 6f ..........(setq.object.(list.'bo
25e80 6f 6b 6d 61 72 6b 73 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 okmarks)).........(condition-cas
25ea0 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 62 6a 65 63 74 20 28 e.nil.............(setq.object.(
25ec0 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 read.(current-buffer))).........
25ee0 20 20 28 65 72 72 6f 72 20 28 65 72 72 6f 72 20 22 53 79 6e 74 61 78 20 65 72 72 6f 72 20 69 6e ..(error.(error."Syntax.error.in
25f00 20 62 6f 6f 6b 6d 61 72 6b 73 22 29 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 .bookmarks")))).......(unless.(e
25f20 71 20 27 62 6f 6f 6b 6d 61 72 6b 73 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 q.'bookmarks.(car.object))......
25f40 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 62 6f 6f 6b 6d 61 72 6b 73 22 29 29 0a 20 20 20 20 20 ...(error."No.bookmarks"))......
25f60 20 3b 3b 20 57 65 20 6b 65 65 70 20 62 6f 6f 6b 6d 61 72 6b 73 20 73 6f 72 74 65 64 20 62 79 20 .;;.We.keep.bookmarks.sorted.by.
25f80 70 61 67 65 20 6e 75 6d 62 65 72 2e 20 20 53 6f 20 65 61 63 68 20 74 69 6d 65 20 77 65 20 61 64 page.number...So.each.time.we.ad
25fa0 64 0a 20 20 20 20 20 20 3b 3b 20 61 20 6e 65 77 20 62 6f 6f 6b 6d 61 72 6b 2c 20 77 65 20 72 65 d.......;;.a.new.bookmark,.we.re
25fc0 77 72 69 74 65 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 62 6f 6f 6b 6d 61 72 6b 73 20 62 75 66 write.the.complete.bookmarks.buf
25fe0 66 65 72 2e 0a 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 63 61 6e 20 62 6c 6f 77 20 75 70 20 60 fer........;;.This.can.blow.up.`
26000 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 27 2e 20 20 43 61 6e 20 77 65 20 62 65 20 73 6d buffer-undo-list'...Can.we.be.sm
26020 61 72 74 65 72 3f 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 64 6a 76 75 2d 62 6f 6f 6b 6d 61 arter?.......(let*.((djvu-bookma
26040 72 6b 2d 6c 65 76 65 6c 20 2d 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 61 74 rk-level.-1)..............;;.Cat
26060 63 68 20 75 73 65 72 20 65 72 72 6f 72 73 20 66 72 6f 6d 20 73 70 6c 69 63 69 6e 67 20 62 65 66 ch.user.errors.from.splicing.bef
26080 6f 72 65 20 6d 6f 64 69 66 79 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 ore.modifying..............;;.th
260a0 65 20 62 6f 6f 6b 6d 61 72 6b 73 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 e.bookmarks.buffer..............
260c0 20 28 6f 62 6a 65 63 74 20 28 64 6a 76 75 2d 73 70 6c 69 63 65 2d 62 6f 6f 6b 6d 61 72 6b 20 74 .(object.(djvu-splice-bookmark.t
260e0 65 78 74 20 70 61 67 65 20 28 63 64 72 20 6f 62 6a 65 63 74 29 20 6c 65 76 65 6c 29 29 29 0a 20 ext.page.(cdr.object).level)))..
26100 20 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 28 69 .......(erase-buffer).........(i
26120 6e 73 65 72 74 20 22 28 62 6f 6f 6b 6d 61 72 6b 73 22 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 nsert."(bookmarks").........(djv
26140 75 2d 69 6e 73 65 72 74 2d 62 6f 6f 6b 6d 61 72 6b 73 20 6f 62 6a 65 63 74 20 22 20 22 29 0a 20 u-insert-bookmarks.object.".")..
26160 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 5c 6e 22 29 29 0a 20 20 20 20 20 20 28 67 6f .......(insert.")\n")).......(go
26180 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 28 75 6e 64 6f to-char.(point-min)).......(undo
261a0 2d 62 6f 75 6e 64 61 72 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 74 65 72 -boundary))))..(defun.djvu-inter
261c0 61 63 74 69 76 65 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 76 65 6c 20 28 29 0a 20 20 22 52 65 74 75 active-bookmark-level.()..."Retu
261e0 72 6e 20 62 6f 6f 6b 6d 61 72 6b 20 6c 65 76 65 6c 20 66 6f 72 20 69 6e 74 65 72 61 63 74 69 76 rn.bookmark.level.for.interactiv
26200 65 20 63 6f 6d 6d 61 6e 64 73 2e 0a 56 61 6c 75 65 20 69 73 20 6e 69 6c 20 69 66 20 74 68 65 20 e.commands..Value.is.nil.if.the.
26220 63 6f 6d 6d 61 6e 64 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 6f 75 74 20 70 72 65 66 69 78 command.is.called.without.prefix
26240 20 61 72 67 2e 0a 56 61 6c 75 65 20 69 73 20 74 20 28 6f 6e 65 20 6c 65 76 65 6c 20 64 6f 77 6e .arg..Value.is.t.(one.level.down
26260 29 20 69 66 20 63 61 6c 6c 65 64 20 77 69 74 68 20 70 72 65 66 69 78 20 43 2d 75 2e 0a 4f 74 68 ).if.called.with.prefix.C-u..Oth
26280 65 72 77 69 73 65 20 74 68 65 20 72 61 77 20 70 72 65 66 69 78 20 61 72 67 20 73 68 6f 75 6c 64 erwise.the.raw.prefix.arg.should
262a0 20 62 65 20 61 20 6e 6f 6e 2d 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 0a 73 70 65 63 69 .be.a.non-negative.integer.speci
262c0 66 79 69 6e 67 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 6c 65 76 65 6c 20 6f 66 20 74 68 65 20 fying.the.absolute.level.of.the.
262e0 62 6f 6f 6b 6d 61 72 6b 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 63 6f 6e 73 70 20 63 75 72 72 65 bookmark."...(cond.((consp.curre
26300 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 28 28 69 6e 74 65 67 65 nt-prefix-arg)).........((intege
26320 72 70 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 rp.current-prefix-arg)..........
26340 28 61 62 73 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 29 29 0a 0a 28 64 65 (abs.current-prefix-arg))))..(de
26360 66 75 6e 20 64 6a 76 75 2d 73 70 6c 69 63 65 2d 62 6f 6f 6b 6d 61 72 6b 20 28 74 65 78 74 20 70 fun.djvu-splice-bookmark.(text.p
26380 61 67 65 20 6f 62 6a 65 63 74 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 76 65 6c 29 0a 20 20 22 53 age.object.&optional.level)..."S
263a0 70 6c 69 63 65 20 62 6f 6f 6b 6d 61 72 6b 20 28 54 45 58 54 20 50 41 47 45 29 20 69 6e 74 6f 20 plice.bookmark.(TEXT.PAGE).into.
263c0 74 72 65 65 20 6f 66 20 62 6f 6f 6b 6d 61 72 6b 73 20 4f 42 4a 45 43 54 2e 0a 49 66 20 4c 45 56 tree.of.bookmarks.OBJECT..If.LEV
263e0 45 4c 20 69 73 20 74 20 70 75 74 20 62 6f 6f 6b 6d 61 72 6b 20 6f 6e 65 20 73 75 62 6c 65 76 65 EL.is.t.put.bookmark.one.subleve
26400 6c 20 62 65 6c 6f 77 20 74 68 65 20 6c 65 76 65 6c 0a 6f 66 20 74 68 65 20 70 72 65 63 65 64 69 l.below.the.level.of.the.precedi
26420 6e 67 20 62 6f 6f 6b 6d 61 72 6b 2e 0a 49 66 20 4c 45 56 45 4c 20 69 73 20 61 20 6e 6f 6e 2d 6e ng.bookmark..If.LEVEL.is.a.non-n
26440 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 20 70 75 74 20 62 6f 6f 6b 6d 61 72 6b 20 6f 6e 20 egative.integer.put.bookmark.on.
26460 6c 65 76 65 6c 20 4c 45 56 45 4c 2e 0a 54 68 69 73 20 74 68 72 6f 77 73 20 61 20 75 73 65 72 20 level.LEVEL..This.throws.a.user.
26480 65 72 72 6f 72 20 69 66 20 61 20 62 6f 6f 6b 6d 61 72 6b 20 73 75 62 74 72 65 65 20 61 74 20 50 error.if.a.bookmark.subtree.at.P
264a0 41 47 45 20 65 78 74 65 6e 64 73 0a 62 65 79 6f 6e 64 20 50 41 47 45 20 73 6f 20 74 68 61 74 20 AGE.extends.beyond.PAGE.so.that.
264c0 70 75 74 74 69 6e 67 20 61 20 6e 65 77 20 62 6f 6f 6b 6d 61 72 6b 20 66 6f 72 20 50 41 47 45 20 putting.a.new.bookmark.for.PAGE.
264e0 70 61 73 74 20 74 68 69 73 20 73 75 62 74 72 65 65 0a 77 6f 75 6c 64 20 62 72 65 61 6b 20 74 68 past.this.subtree.would.break.th
26500 65 20 70 61 67 65 20 6f 72 64 65 72 69 6e 67 20 6f 66 20 74 68 65 20 62 6f 6f 6b 6d 61 72 6b 73 e.page.ordering.of.the.bookmarks
26520 2e 0a 54 68 69 73 20 63 6f 64 65 20 61 73 73 75 6d 65 73 20 74 68 61 74 20 62 6f 6f 6b 6d 61 72 ..This.code.assumes.that.bookmar
26540 6b 73 20 61 72 65 20 6f 72 64 65 72 65 64 20 62 79 20 70 61 67 65 20 6e 75 6d 62 65 72 20 61 6e ks.are.ordered.by.page.number.an
26560 64 20 74 68 61 74 0a 65 78 74 65 72 6e 61 6c 20 55 52 4c 73 20 61 70 70 65 61 72 20 61 74 20 74 d.that.external.URLs.appear.at.t
26580 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 61 20 73 75 62 74 72 65 65 20 6f 66 20 62 6f 6f he.beginning.of.a.subtree.of.boo
265a0 6b 6d 61 72 6b 73 2e 22 0a 20 20 28 73 65 74 71 20 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c kmarks."...(setq.djvu-bookmark-l
265c0 65 76 65 6c 20 28 31 2b 20 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 76 65 6c 29 29 0a 20 evel.(1+.djvu-bookmark-level))..
265e0 20 28 69 66 20 28 6f 72 20 28 6e 75 6c 6c 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 .(if.(or.(null.object)..........
26600 20 28 6c 65 74 20 28 28 70 61 67 65 2d 75 72 6c 20 28 64 6a 76 75 2d 75 72 6c 2d 70 61 67 65 20 .(let.((page-url.(djvu-url-page.
26620 28 6e 74 68 20 31 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 (nth.1.(car.object))))).........
26640 20 20 20 20 28 61 6e 64 20 70 61 67 65 2d 75 72 6c 20 3b 20 69 67 6e 6f 72 65 20 65 78 74 65 72 ....(and.page-url.;.ignore.exter
26660 6e 61 6c 20 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 70 61 67 65 nal.url..................(<.page
26680 20 70 61 67 65 2d 75 72 6c 29 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 70 75 74 20 6e 65 77 20 62 .page-url)))).......;;.put.new.b
266a0 6f 6f 6b 6d 61 72 6b 20 62 65 66 6f 72 65 20 66 69 72 73 74 20 62 6f 6f 6b 6d 61 72 6b 20 6f 6e ookmark.before.first.bookmark.on
266c0 20 63 75 72 72 65 6e 74 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 28 6c 69 73 74 .current.level.......(cons.(list
266e0 20 74 65 78 74 20 28 64 6a 76 75 2d 70 61 67 65 2d 75 72 6c 20 70 61 67 65 29 29 20 6f 62 6a 65 .text.(djvu-page-url.page)).obje
26700 63 74 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 62 6a 65 63 74 20 6f 62 6a 65 63 74 29 29 0a 20 ct).....(let.((object.object))..
26720 20 20 20 20 20 28 77 68 69 6c 65 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 .....(while.object.........(if.(
26740 6f 72 20 28 6e 6f 74 20 28 64 6a 76 75 2d 75 72 6c 2d 70 61 67 65 20 28 6e 74 68 20 31 20 28 63 or.(not.(djvu-url-page.(nth.1.(c
26760 61 72 20 6f 62 6a 65 63 74 29 29 29 29 20 3b 20 69 67 6e 6f 72 65 20 65 78 74 65 72 6e 61 6c 20 ar.object)))).;.ignore.external.
26780 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 63 64 72 20 6f 62 url.................(and.(cdr.ob
267a0 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 3d 20 70 ject)......................(>=.p
267c0 61 67 65 20 28 64 6a 76 75 2d 75 72 6c 2d 70 61 67 65 20 28 6e 74 68 20 31 20 28 6e 74 68 20 31 age.(djvu-url-page.(nth.1.(nth.1
267e0 20 6f 62 6a 65 63 74 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 .object)))))).............(setq.
26800 6f 62 6a 65 63 74 20 28 63 64 72 20 6f 62 6a 65 63 74 29 29 20 3b 20 6b 65 65 70 20 73 65 61 72 object.(cdr.object)).;.keep.sear
26820 63 68 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 28 61 6e 64 20 28 6e 6f ching...........(if.(or.(and.(no
26840 74 20 6c 65 76 65 6c 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 t.level)........................
26860 28 6e 74 68 20 32 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 (nth.2.(car.object)))...........
26880 20 20 20 20 20 20 20 20 28 65 71 20 74 20 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 ........(eq.t.level)............
268a0 20 20 20 20 20 20 20 3b 3b 20 49 66 20 4c 45 56 45 4c 20 69 73 20 67 72 65 61 74 65 72 20 74 68 .......;;.If.LEVEL.is.greater.th
268c0 61 6e 20 60 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 76 65 6c 27 2c 0a 20 20 20 20 20 20 an.`djvu-bookmark-level',.......
268e0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 65 20 61 64 64 20 6f 6e 6c 79 20 6f 6e 65 20 6c ............;;.we.add.only.one.l
26900 65 76 65 6c 20 62 65 79 6f 6e 64 20 60 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 76 65 6c evel.beyond.`djvu-bookmark-level
26920 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 72 72 65 73 70 65 63 ',...................;;.irrespec
26940 74 69 76 65 20 6f 66 20 74 68 65 20 61 63 74 75 61 6c 20 76 61 6c 75 65 20 6f 66 20 4c 45 56 45 tive.of.the.actual.value.of.LEVE
26960 4c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 69 6e 74 65 67 L....................(and.(integ
26980 65 72 70 20 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erp.level)......................
269a0 20 20 28 3c 20 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 6c 65 76 65 6c 20 6c 65 76 65 6c 29 29 ..(<.djvu-bookmark-level.level))
269c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 67 6f 20 64 6f 77 6e 20 6f 6e 65 20 6c )...............;;.go.down.one.l
269e0 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 20 6f 62 6a 65 63 evel...............(setcar.objec
26a00 74 20 28 63 6f 6e 73 20 28 6e 74 68 20 30 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 t.(cons.(nth.0.(car.object))....
26a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26a40 28 63 6f 6e 73 20 28 6e 74 68 20 31 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 (cons.(nth.1.(car.object))......
26a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26a80 20 20 20 20 28 64 6a 76 75 2d 73 70 6c 69 63 65 2d 62 6f 6f 6b 6d 61 72 6b 0a 20 20 20 20 20 20 ....(djvu-splice-bookmark.......
26aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26ac0 20 20 20 20 74 65 78 74 20 70 61 67 65 20 28 6e 74 68 63 64 72 20 32 20 28 63 61 72 20 6f 62 6a ....text.page.(nthcdr.2.(car.obj
26ae0 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ect))...........................
26b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 76 65 6c 29 29 29 29 0a 20 20 20 20 20 20 ................level)))).......
26b20 20 20 20 20 20 20 28 6c 65 74 20 28 70 61 67 65 2d 6d 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 ......(let.(page-max)...........
26b40 20 20 20 20 28 61 6e 64 20 28 65 71 20 6c 65 76 65 6c 20 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b ....(and.(eq.level.djvu-bookmark
26b60 2d 6c 65 76 65 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 -level)....................(setq
26b80 20 70 61 67 65 2d 6d 61 78 20 28 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 73 2d 70 61 67 65 2d 6d .page-max.(djvu-bookmarks-page-m
26ba0 61 78 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 ax..............................
26bc0 20 20 20 20 20 20 28 6e 74 68 63 64 72 20 32 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 29 29 0a ......(nthcdr.2.(car.object)))).
26be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 70 61 67 65 20 70 61 67 65 2d ...................(<.page.page-
26c00 6d 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 max)....................(user-er
26c20 72 6f 72 20 22 42 6f 6f 6b 6d 61 72 6b 20 6c 65 76 65 6c 20 25 64 20 69 6e 76 61 6c 69 64 20 6f ror."Bookmark.level.%d.invalid.o
26c40 6e 20 70 61 67 65 20 25 64 3a 20 70 72 65 63 65 64 69 6e 67 20 73 75 62 74 72 65 65 20 65 78 74 n.page.%d:.preceding.subtree.ext
26c60 65 6e 64 73 20 74 6f 20 70 61 67 65 20 25 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ends.to.page.%d"................
26c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 76 65 6c 20 70 61 67 65 20 70 61 67 65 2d ................level.page.page-
26ca0 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 75 74 20 6e 65 77 20 62 6f max))).............;;.put.new.bo
26cc0 6f 6b 6d 61 72 6b 20 61 66 74 65 72 20 63 75 72 72 65 6e 74 20 62 6f 6f 6b 6d 61 72 6b 20 6f 6e okmark.after.current.bookmark.on
26ce0 20 63 75 72 72 65 6e 74 20 6c 65 76 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 .current.level.............(setc
26d00 64 72 20 6f 62 6a 65 63 74 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 74 65 78 74 20 28 64 6a 76 75 dr.object.(cons.(list.text.(djvu
26d20 2d 70 61 67 65 2d 75 72 6c 20 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -page-url.page))................
26d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 6f 62 6a 65 63 74 29 29 29 ..................(cdr.object)))
26d60 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 62 6a 65 63 74 20 6e 69 6c 29 29 29 29 )...........(setq.object.nil))))
26d80 0a 20 20 20 20 6f 62 6a 65 63 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 62 6f 6f 6b 6d .....object))..(defun.djvu-bookm
26da0 61 72 6b 73 2d 70 61 67 65 2d 6d 61 78 20 28 6f 62 6a 65 63 74 29 0a 20 20 22 52 65 74 75 72 6e arks-page-max.(object)..."Return
26dc0 20 6d 61 78 69 6d 75 6d 20 70 61 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 61 20 62 6f 6f 6b 6d 61 .maximum.page.number.of.a.bookma
26de0 72 6b 20 74 72 65 65 20 4f 42 4a 45 43 54 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 4f 42 rk.tree.OBJECT..Return.nil.if.OB
26e00 4a 45 43 54 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 65 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c 73 JECT.does.not.have.internal.URLs
26e20 2e 22 0a 20 20 28 6c 65 74 20 28 70 61 67 65 20 70 61 67 65 2d 6d 61 78 29 0a 20 20 20 20 28 64 ."...(let.(page.page-max).....(d
26e40 6f 6c 69 73 74 20 28 65 6c 74 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 28 61 6e 64 20 28 73 olist.(elt.object).......(and.(s
26e60 65 74 71 20 70 61 67 65 20 28 64 6a 76 75 2d 75 72 6c 2d 70 61 67 65 20 28 6e 74 68 20 31 20 65 etq.page.(djvu-url-page.(nth.1.e
26e80 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 67 65 2d 6d 61 78 20 lt)))............(setq.page-max.
26ea0 28 69 66 20 70 61 67 65 2d 6d 61 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (if.page-max....................
26ec0 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 70 61 67 65 2d 6d 61 78 20 70 61 67 65 29 0a 20 ...........(max.page-max.page)..
26ee0 20 20 20 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 61 67 65 29 ...........................page)
26f00 29 29 0a 20 20 20 20 20 20 28 61 6e 64 20 28 6e 74 68 20 32 20 65 6c 74 29 0a 20 20 20 20 20 20 )).......(and.(nth.2.elt).......
26f20 20 20 20 20 20 28 73 65 74 71 20 70 61 67 65 20 28 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 73 2d .....(setq.page.(djvu-bookmarks-
26f40 70 61 67 65 2d 6d 61 78 20 28 6e 74 68 63 64 72 20 32 20 65 6c 74 29 29 29 0a 20 20 20 20 20 20 page-max.(nthcdr.2.elt))).......
26f60 20 20 20 20 20 28 73 65 74 71 20 70 61 67 65 2d 6d 61 78 20 28 69 66 20 70 61 67 65 2d 6d 61 78 .....(setq.page-max.(if.page-max
26f80 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 28 ...............................(
26fa0 6d 61 78 20 70 61 67 65 2d 6d 61 78 20 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 max.page-max.page)..............
26fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 67 65 29 29 29 29 0a 20 20 20 20 70 61 67 65 ...............page)))).....page
26fe0 2d 6d 61 78 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 73 65 72 74 2d 62 6f 6f 6b 6d -max))..(defun.djvu-insert-bookm
27000 61 72 6b 73 20 28 6f 62 6a 65 63 74 20 69 6e 64 65 6e 74 29 0a 20 20 22 49 6e 73 65 72 74 20 42 arks.(object.indent)..."Insert.B
27020 6f 6f 6b 6d 61 72 6b 73 20 4f 42 4a 45 43 54 20 72 65 63 75 72 73 69 76 65 6c 79 2e 22 0a 20 20 ookmarks.OBJECT.recursively."...
27040 28 6c 65 74 20 28 28 69 6e 64 65 6e 74 31 20 28 63 6f 6e 63 61 74 20 69 6e 64 65 6e 74 20 22 20 (let.((indent1.(concat.indent.".
27060 22 29 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 74 20 6f 62 6a 65 63 74 29 0a 20 20 "))).....(dolist.(elt.object)...
27080 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 5c 6e 25 73 28 25 53 5c 6e 25 73 ....(insert.(format."\n%s(%S\n%s
270a0 20 25 53 22 20 69 6e 64 65 6e 74 20 28 63 61 72 20 65 6c 74 29 20 69 6e 64 65 6e 74 0a 20 20 20 .%S".indent.(car.elt).indent....
270c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 73 6f 6c 76 65 ...................(djvu-resolve
270e0 2d 75 72 6c 20 28 6e 74 68 20 31 20 65 6c 74 29 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d -url.(nth.1.elt)))).......(djvu-
27100 69 6e 73 65 72 74 2d 62 6f 6f 6b 6d 61 72 6b 73 20 28 6e 74 68 63 64 72 20 32 20 65 6c 74 29 20 insert-bookmarks.(nthcdr.2.elt).
27120 69 6e 64 65 6e 74 31 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 22 29 29 29 29 0a 0a indent1).......(insert.")"))))..
27140 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 61 64 2d 62 6f 6f 6b 6d 61 72 6b 73 20 28 26 6f 70 74 (defun.djvu-read-bookmarks.(&opt
27160 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 52 65 61 64 20 62 6f 6f 6b 6d 61 72 6b 73 20 6f 66 20 ional.doc)..."Read.bookmarks.of.
27180 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 66 72 6f 6d 20 62 6f 6f 6b 6d 61 72 6b 73 20 62 a.Djvu.document.from.bookmarks.b
271a0 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 6f 62 6a 65 63 74 29 0a 20 20 20 20 28 77 69 74 uffer."...(let.(object).....(wit
271c0 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 62 6f 6f 6b 6d h-current-buffer.(djvu-ref.bookm
271e0 61 72 6b 73 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 arks-buf.doc).......(save-excurs
27200 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 ion.........(save-restriction...
27220 20 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d ........(widen)...........(goto-
27240 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 20 28 75 6e 6c char.(point-min))...........(unl
27260 65 73 73 20 28 65 6f 62 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f ess.(eobp).............(conditio
27280 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 n-case.nil.................(setq
272a0 20 6f 62 6a 65 63 74 20 28 72 65 61 64 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 .object.(read.(current-buffer)))
272c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 65 72 72 6f 72 20 22 53 79 ...............(error.(error."Sy
272e0 6e 74 61 78 20 65 72 72 6f 72 20 69 6e 20 62 6f 6f 6b 6d 61 72 6b 73 22 29 29 29 29 0a 20 20 20 ntax.error.in.bookmarks"))))....
27300 20 20 20 20 20 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 5c 74 5c .......(skip-chars-forward.".\t\
27320 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 73 68 6f 75 6c 64 20 68 61 76 65 20 n")...........;;.We.should.have.
27340 73 77 61 6c 6c 6f 77 65 64 20 61 6c 6c 20 62 6f 6f 6b 6d 61 72 6b 73 2e 0a 20 20 20 20 20 20 20 swallowed.all.bookmarks.........
27360 20 20 20 28 75 6e 6c 65 73 73 20 28 65 6f 62 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 ...(unless.(eobp).............(e
27380 72 72 6f 72 20 22 53 79 6e 74 61 78 20 65 72 72 6f 72 20 69 6e 20 62 6f 6f 6b 6d 61 72 6b 73 20 rror."Syntax.error.in.bookmarks.
273a0 28 70 6f 73 69 74 69 6f 6e 20 25 73 29 22 20 28 70 6f 69 6e 74 29 29 29 29 29 29 0a 20 20 20 20 (position.%s)".(point)))))).....
273c0 28 69 66 20 28 61 6e 64 20 6f 62 6a 65 63 74 20 28 6e 6f 74 20 28 65 71 20 27 62 6f 6f 6b 6d 61 (if.(and.object.(not.(eq.'bookma
273e0 72 6b 73 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 rks.(car.object)))).........(err
27400 6f 72 20 22 4d 61 6c 66 6f 72 6d 65 64 20 62 6f 6f 6b 6d 61 72 6b 73 22 29 29 0a 20 20 20 20 6f or."Malformed.bookmarks")).....o
27420 62 6a 65 63 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 66 6f 72 6d 61 74 2d 62 6f bject))..(defun.djvu-reformat-bo
27440 6f 6b 6d 61 72 6b 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 52 65 66 6f 72 okmarks.(&optional.doc)..."Refor
27460 6d 61 74 20 42 6f 6f 6b 6d 61 72 6b 73 20 62 75 66 66 65 72 20 66 6f 72 20 44 6a 76 75 20 64 6f mat.Bookmarks.buffer.for.Djvu.do
27480 63 75 6d 65 6e 74 20 44 4f 43 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 cument.DOC."...(interactive)...(
274a0 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 62 6f with-current-buffer.(djvu-ref.bo
274c0 6f 6b 6d 61 72 6b 73 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 6e 74 20 okmarks-buf.doc).....(let.((pnt.
274e0 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 62 6a 65 63 74 20 28 64 6a 76 75 (point))...........(object.(djvu
27500 2d 72 65 61 64 2d 62 6f 6f 6b 6d 61 72 6b 73 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 28 65 72 -read-bookmarks.doc))).......(er
27520 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 28 62 6f 6f 6b ase-buffer).......(insert."(book
27540 6d 61 72 6b 73 22 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 62 6f 6f 6b 6d marks").......(djvu-insert-bookm
27560 61 72 6b 73 20 28 63 64 72 20 6f 62 6a 65 63 74 29 20 22 20 22 29 0a 20 20 20 20 20 20 28 69 6e arks.(cdr.object).".").......(in
27580 73 65 72 74 20 22 29 5c 6e 22 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6e 74 sert.")\n").......(goto-char.pnt
275a0 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 73 61 76 65 2d 62 6f 6f 6b 6d 61 72 6b 73 ))))..(defun.djvu-save-bookmarks
275c0 20 28 73 63 72 69 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 53 61 76 65 20 .(script.&optional.doc)..."Save.
275e0 62 6f 6f 6b 6d 61 72 6b 73 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 54 68 bookmarks.of.a.Djvu.document..Th
27600 69 73 20 64 75 6d 70 73 20 74 68 65 20 63 6f 6e 74 65 6e 74 20 6f 66 20 44 4f 43 27 73 20 62 6f is.dumps.the.content.of.DOC's.bo
27620 6f 6b 6d 61 72 6b 73 20 62 75 66 66 65 72 20 69 6e 74 6f 20 74 68 65 20 64 6a 76 75 73 65 64 20 okmarks.buffer.into.the.djvused.
27640 73 63 72 69 70 74 0a 66 69 6c 65 20 53 43 52 49 50 54 2e 20 44 4f 43 20 64 65 66 61 75 6c 74 73 script.file.SCRIPT..DOC.defaults
27660 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 22 0a .to.the.current.Djvu.document.".
27680 20 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 ..(unless.doc.(setq.doc.djvu-doc
276a0 29 29 0a 20 20 28 6c 65 74 20 28 28 6f 62 6a 65 63 74 20 28 64 6a 76 75 2d 72 65 61 64 2d 62 6f ))...(let.((object.(djvu-read-bo
276c0 6f 6b 6d 61 72 6b 73 20 64 6f 63 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 okmarks.doc))).....(with-temp-bu
276e0 66 66 65 72 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 ffer.......(setq.buffer-file-cod
27700 69 6e 67 2d 73 79 73 74 65 6d 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 ing-system.'utf-8).......(insert
27720 20 22 73 65 74 2d 6f 75 74 6c 69 6e 65 5c 6e 22 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 6f 62 ."set-outline\n").......(when.ob
27740 6a 65 63 74 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 28 62 6f 6f 6b 6d 61 72 6b 73 ject.........(insert."(bookmarks
27760 22 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 6a 76 75 2d 64 6f 63 20 64 6f 63 29 29 ").........(let.((djvu-doc.doc))
27780 20 3b 20 44 4f 43 20 73 68 6f 75 6c 64 20 64 65 66 69 6e 69 74 65 6c 79 20 62 65 20 69 6e 69 74 .;.DOC.should.definitely.be.init
277a0 69 61 6c 69 7a 65 64 20 61 62 6f 76 65 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e ialized.above...........(djvu-in
277c0 73 65 72 74 2d 62 6f 6f 6b 6d 61 72 6b 73 20 28 63 64 72 20 6f 62 6a 65 63 74 29 20 22 20 22 29 sert-bookmarks.(cdr.object).".")
277e0 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 5c 6e 22 29 29 0a 20 20 20 20 20 20 ).........(insert.")\n")).......
27800 28 69 6e 73 65 72 74 20 22 2e 5c 6e 22 29 0a 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 (insert.".\n").......(write-regi
27820 6f 6e 20 6e 69 6c 20 6e 69 6c 20 73 63 72 69 70 74 20 74 20 30 29 29 20 3b 20 61 70 70 65 6e 64 on.nil.nil.script.t.0)).;.append
27840 20 74 6f 20 53 43 52 49 50 54 0a 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 6f 75 74 6c 69 6e .to.SCRIPT.....(djvu-init-outlin
27860 65 20 28 63 64 72 20 6f 62 6a 65 63 74 29 20 64 6f 63 29 29 29 0a 0a 3b 3b 3b 20 44 6a 76 75 20 e.(cdr.object).doc)))..;;;.Djvu.
27880 4f 75 74 6c 69 6e 65 20 6d 6f 64 65 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 69 74 2d 6f Outline.mode..(defun.djvu-init-o
278a0 75 74 6c 69 6e 65 20 28 6f 62 6a 65 63 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 utline.(object.&optional.doc)...
278c0 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 6a 76 75 2d 72 65 66 20 6f (with-current-buffer.(djvu-ref.o
278e0 75 74 6c 69 6e 65 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 28 6c 65 74 20 28 62 75 66 66 65 72 utline-buf.doc).....(let.(buffer
27900 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 -read-only).......(erase-buffer)
27920 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 2d 6f 75 74 6c 69 6e 65 20 6f 62 6a 65 .......(djvu-insert-outline.obje
27940 63 74 20 22 22 29 29 0a 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 ct."")).....(set-buffer-modified
27960 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e -p.nil).....(setq.buffer-read-on
27980 6c 79 20 74 29 0a 20 20 20 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 6f 75 74 6c 69 6e 65 20 28 6f 72 ly.t).....(djvu-goto-outline.(or
279a0 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 20 31 29 29 29 29 0a 0a 28 64 65 66 .(djvu-ref.page.doc).1))))..(def
279c0 75 6e 20 64 6a 76 75 2d 69 6e 73 65 72 74 2d 6f 75 74 6c 69 6e 65 20 28 6f 62 6a 65 63 74 20 69 un.djvu-insert-outline.(object.i
279e0 6e 64 65 6e 74 29 0a 20 20 22 49 6e 73 65 72 74 20 4f 75 74 6c 69 6e 65 20 4f 42 4a 45 43 54 20 ndent)..."Insert.Outline.OBJECT.
27a00 72 65 63 75 72 73 69 76 65 6c 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 6e 64 65 6e 74 31 20 28 recursively."...(let.((indent1.(
27a20 63 6f 6e 63 61 74 20 69 6e 64 65 6e 74 20 22 20 20 22 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a concat.indent."..")).........(dj
27a40 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 20 27 73 68 6f 72 74 29 29 0a 20 20 20 20 28 64 6f 6c vu-resolve-url.'short)).....(dol
27a60 69 73 74 20 28 65 6c 74 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 65 ist.(elt.object).......(let.((be
27a80 67 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 69 6e 64 65 g.(point))).........(insert.inde
27aa0 6e 74 20 28 63 61 72 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 74 65 78 74 nt.(car.elt)).........(make-text
27ac0 2d 62 75 74 74 6f 6e 20 62 65 67 20 28 70 6f 69 6e 74 29 20 27 74 79 70 65 20 27 64 6a 76 75 2d -button.beg.(point).'type.'djvu-
27ae0 75 72 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b url...........................;;
27b00 20 49 6e 73 70 69 72 65 64 20 62 79 20 66 75 6e 63 74 69 6f 6e 20 60 6f 75 74 6c 69 6e 65 2d 66 .Inspired.by.function.`outline-f
27b20 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ont-lock-face'..................
27b40 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 28 61 72 65 66 20 64 6a 76 75 2d 6f 75 74 6c 69 6e .........'face.(aref.djvu-outlin
27b60 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 20 20 20 20 20 e-faces.........................
27b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 25 20 28 2f 20 28 6c 65 6e 67 74 68 20 69 6e 64 65 ..............(%.(/.(length.inde
27ba0 6e 74 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nt).2)..........................
27bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 64 6a 76 75 2d 6f 75 74 ................(length.djvu-out
27be0 6c 69 6e 65 2d 66 61 63 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line-faces)))...................
27c00 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 28 66 6f 72 6d 61 74 20 22 6d 6f 75 73 ........'help-echo.(format."mous
27c20 65 2d 32 2c 20 52 45 54 3a 20 75 72 6c 20 60 25 73 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 e-2,.RET:.url.`%s'".............
27c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
27c60 20 28 6e 74 68 20 31 20 65 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(nth.1.elt))...................
27c80 20 20 20 20 20 20 20 20 27 64 6a 76 75 2d 61 72 67 73 20 28 6c 69 73 74 20 28 6e 74 68 20 31 20 ........'djvu-args.(list.(nth.1.
27ca0 65 6c 74 29 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 22 5c 73 22 20 28 73 75 62 73 elt)))).......(insert."\s".(subs
27cc0 74 72 69 6e 67 20 28 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 75 72 6c 20 28 6e 74 68 20 31 20 65 tring.(djvu-resolve-url.(nth.1.e
27ce0 6c 74 29 29 20 31 29 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 73 65 72 74 lt)).1)."\n").......(djvu-insert
27d00 2d 6f 75 74 6c 69 6e 65 20 28 6e 74 68 63 64 72 20 32 20 65 6c 74 29 20 69 6e 64 65 6e 74 31 29 -outline.(nthcdr.2.elt).indent1)
27d20 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6f 75 74 6c 69 6e 65 2d 70 61 67 65 20 28 26 )))..(defun.djvu-outline-page.(&
27d40 6f 70 74 69 6f 6e 61 6c 20 70 6e 74 20 64 6f 63 29 0a 20 20 22 49 6e 20 4f 75 74 6c 69 6e 65 20 optional.pnt.doc)..."In.Outline.
27d60 62 75 66 66 65 72 20 72 65 74 75 72 6e 20 70 61 67 65 20 6e 75 6d 62 65 72 20 61 74 20 70 6f 73 buffer.return.page.number.at.pos
27d80 69 74 69 6f 6e 20 50 4e 54 2e 0a 50 4e 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 70 6f 73 69 74 ition.PNT..PNT.defaults.to.posit
27da0 69 6f 6e 20 6f 66 20 70 6f 69 6e 74 2e 22 0a 20 20 28 64 6a 76 75 2d 75 72 6c 2d 70 61 67 65 0a ion.of.point."...(djvu-url-page.
27dc0 20 20 20 28 63 61 72 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 ...(car.(get-text-property......
27de0 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 20 20 20 20 20 28 ....(save-excursion............(
27e00 69 66 20 70 6e 74 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6e 74 29 29 0a 20 20 20 20 20 20 20 20 if.pnt.(goto-char.pnt)).........
27e20 20 20 20 28 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 ...(beginning-of-line)..........
27e40 20 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 5c 73 5c 74 22 29 0a 20 20 ..(skip-chars-forward."\s\t")...
27e60 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 27 64 6a 76 75 .........(point))..........'djvu
27e80 2d 61 72 67 73 29 29 0a 20 20 20 64 6f 63 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 67 6f -args))....doc))..(defun.djvu-go
27ea0 74 6f 2d 6f 75 74 6c 69 6e 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 61 67 65 20 64 6f 63 29 0a to-outline.(&optional.page.doc).
27ec0 20 20 22 49 6e 20 4f 75 74 6c 69 6e 65 20 62 75 66 66 65 72 20 67 6f 20 74 6f 20 66 69 72 73 74 .."In.Outline.buffer.go.to.first
27ee0 20 62 6f 6f 6b 6d 61 72 6b 20 6d 61 74 63 68 69 6e 67 20 50 41 47 45 2e 22 0a 20 20 28 75 6e 6c .bookmark.matching.PAGE."...(unl
27f00 65 73 73 20 70 61 67 65 20 28 73 65 74 71 20 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 ess.page.(setq.page.(djvu-ref.pa
27f20 67 65 20 64 6f 63 29 29 29 0a 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 ge.doc)))...(goto-char.(point-mi
27f40 6e 29 29 0a 20 20 28 6c 65 74 20 28 28 70 6e 74 20 28 70 6f 69 6e 74 29 29 20 70 20 64 6f 6e 65 n))...(let.((pnt.(point)).p.done
27f60 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 6f 72 20 64 6f 6e 65 20 28 65 6f 62 70 ).....(while.(not.(or.done.(eobp
27f80 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 65 74 71 20 70 20 28 64 6a 76 75 2d 6f 75 ))).......(when.(setq.p.(djvu-ou
27fa0 74 6c 69 6e 65 2d 70 61 67 65 20 28 70 6f 69 6e 74 29 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 tline-page.(point).doc))........
27fc0 20 28 69 66 20 28 3c 3d 20 70 20 70 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 .(if.(<=.p.page).............(se
27fe0 74 71 20 70 6e 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 tq.pnt.(point))).........(setq.d
28000 6f 6e 65 20 28 3d 20 70 20 70 61 67 65 29 29 29 0a 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d one.(=.p.page))).......(forward-
28020 6c 69 6e 65 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6e 74 29 29 29 0a 0a 3b 3b line)).....(goto-char.pnt)))..;;
28040 3b 20 49 6d 61 67 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 6a ;.Image.minor.mode..(defmacro.dj
28060 76 75 2d 77 69 74 68 2d 65 76 65 6e 74 2d 62 75 66 66 65 72 20 28 65 76 65 6e 74 20 26 72 65 73 vu-with-event-buffer.(event.&res
28080 74 20 62 6f 64 79 29 0a 20 20 22 57 69 74 68 20 62 75 66 66 65 72 20 6f 66 20 45 56 45 4e 54 20 t.body)..."With.buffer.of.EVENT.
280a0 63 75 72 72 65 6e 74 2c 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2e 22 0a 20 20 28 64 65 63 6c current,.evaluate.BODY."...(decl
280c0 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 3b 3b 20 46 69 78 6d 65 3a 20 61 62 6f 72 are.(indent.1))...;;.Fixme:.abor
280e0 74 20 69 66 20 60 6d 69 6e 69 62 75 66 66 65 72 70 27 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e t.if.`minibufferp'.returns.non-n
28100 69 6c 3f 0a 20 20 60 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 0a 20 20 20 20 il?...`(with-current-buffer.....
28120 20 20 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 28 6c 65 74 20 28 28 77 69 6e 20 28 70 6f ...(window-buffer.(let.((win.(po
28140 73 6e 2d 77 69 6e 64 6f 77 20 28 65 76 65 6e 74 2d 73 74 61 72 74 20 2c 65 76 65 6e 74 29 29 29 sn-window.(event-start.,event)))
28160 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 28 69 66 20 28 77 ).........................(if.(w
28180 69 6e 64 6f 77 70 20 77 69 6e 29 20 77 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 indowp.win).win.................
281a0 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 45 76 65 6e 74 20 6e 6f 74 ..........(user-error."Event.not
281c0 20 6f 76 65 72 20 77 69 6e 64 6f 77 22 29 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a .over.window"))))......,@body)).
281e0 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 74 6f 67 67 6c 65 20 28 29 0a 20 20 22 .(defun.djvu-image-toggle.()..."
28200 54 6f 67 67 6c 65 20 69 6d 61 67 65 20 64 69 73 70 6c 61 79 20 6f 66 20 63 75 72 72 65 6e 74 20 Toggle.image.display.of.current.
28220 70 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 69 66 20 28 64 69 page."...(interactive)...(if.(di
28240 73 70 6c 61 79 2d 69 6d 61 67 65 73 2d 70 29 0a 20 20 20 20 20 20 3b 3b 20 61 72 67 20 61 73 20 splay-images-p).......;;.arg.as.
28260 69 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 0a 20 20 20 in.interactive.definition.of....
28280 20 20 20 3b 3b 20 60 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 27 0a 20 20 20 20 ...;;.`define-derived-mode'.....
282a0 20 20 28 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 20 28 6f 72 20 63 75 72 72 65 6e 74 2d 70 ..(djvu-image-mode.(or.current-p
282c0 72 65 66 69 78 2d 61 72 67 20 27 74 6f 67 67 6c 65 29 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 refix-arg.'toggle)).....(message
282e0 20 22 43 61 6e 6e 6f 74 20 64 69 73 70 6c 61 79 20 69 6d 61 67 65 73 22 29 29 29 0a 0a 28 64 65 ."Cannot.display.images")))..(de
28300 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 0a fine-minor-mode.djvu-image-mode.
28320 20 20 22 49 6d 61 67 65 20 64 69 73 70 6c 61 79 20 6f 66 20 63 75 72 72 65 6e 74 20 70 61 67 65 .."Image.display.of.current.page
28340 2e 22 0a 20 20 3a 6c 69 67 68 74 65 72 20 22 49 6d 61 67 65 22 0a 0a 20 20 3b 3b 20 4b 65 79 62 ."...:lighter."Image"....;;.Keyb
28360 69 6e 64 69 6e 67 73 20 66 6f 72 20 6d 6f 74 69 6f 6e 20 63 6f 6d 6d 61 6e 64 73 20 61 64 6f 70 indings.for.motion.commands.adop
28380 74 65 64 20 66 72 6f 6d 20 60 69 6d 61 67 65 2d 6d 6f 64 65 2d 6d 61 70 27 0a 20 20 3a 6b 65 79 ted.from.`image-mode-map'...:key
283a0 6d 61 70 20 27 28 28 22 20 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 64 6a 76 75 2d 69 map.'(("."................djvu-i
283c0 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 3f 5c mage-scroll-up).............([?\
283e0 53 2d 5c 20 5d 20 20 20 20 20 20 20 20 20 2e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 73 63 72 6f 6c S-\.]...........djvu-image-scrol
28400 6c 2d 64 6f 77 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 5c 43 2d 3f 22 20 20 20 20 20 l-down).............("\C-?".....
28420 20 20 20 20 20 20 2e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 29 0a ........djvu-image-scroll-down).
28440 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 73 63 72 6f 6c 6c 2d 75 70 2d 63 6f ............([remap.scroll-up-co
28460 6d 6d 61 6e 64 5d 20 20 20 20 20 20 2e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d mmand]........djvu-image-scroll-
28480 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 73 63 72 6f 6c 6c 2d 64 up).............([remap.scroll-d
284a0 6f 77 6e 2d 63 6f 6d 6d 61 6e 64 5d 20 20 20 20 2e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 73 63 72 own-command]......djvu-image-scr
284c0 6f 6c 6c 2d 64 6f 77 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 6e 65 oll-down).............([remap.ne
284e0 78 74 2d 6c 69 6e 65 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 64 6a 76 75 2d 69 6d 61 xt-line]................djvu-ima
28500 67 65 2d 6e 65 78 74 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 ge-next-line).............([rema
28520 70 20 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 5d 20 20 20 20 20 20 20 20 20 20 2e 20 64 6a 76 75 p.previous-line]............djvu
28540 2d 69 6d 61 67 65 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 -image-previous-line)...........
28560 20 20 28 5b 72 65 6d 61 70 20 66 6f 72 77 61 72 64 2d 63 68 61 72 5d 20 20 20 20 20 20 20 20 20 ..([remap.forward-char].........
28580 20 20 2e 20 69 6d 61 67 65 2d 66 6f 72 77 61 72 64 2d 68 73 63 72 6f 6c 6c 29 0a 20 20 20 20 20 ....image-forward-hscroll)......
285a0 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 62 61 63 6b 77 61 72 64 2d 63 68 61 72 5d 20 20 20 .......([remap.backward-char]...
285c0 20 20 20 20 20 20 20 2e 20 69 6d 61 67 65 2d 62 61 63 6b 77 61 72 64 2d 68 73 63 72 6f 6c 6c 29 .........image-backward-hscroll)
285e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 72 69 67 68 74 2d 63 68 61 72 5d .............([remap.right-char]
28600 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 69 6d 61 67 65 2d 66 6f 72 77 61 72 64 2d 68 73 63 ...............image-forward-hsc
28620 72 6f 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 6c 65 66 74 2d 63 roll).............([remap.left-c
28640 68 61 72 5d 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 69 6d 61 67 65 2d 62 61 63 6b 77 61 har]................image-backwa
28660 72 64 2d 68 73 63 72 6f 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 rd-hscroll).............([remap.
28680 6d 6f 76 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 5d 20 2e 20 69 6d 61 67 65 2d move-beginning-of-line]...image-
286a0 62 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 6d 6f 76 65 2d 65 6e bol).............([remap.move-en
286c0 64 2d 6f 66 2d 6c 69 6e 65 5d 20 20 20 20 20 20 20 2e 20 69 6d 61 67 65 2d 65 6f 6c 29 0a 20 20 d-of-line].........image-eol)...
286e0 20 20 20 20 20 20 20 20 20 20 28 5b 72 65 6d 61 70 20 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 62 ..........([remap.beginning-of-b
28700 75 66 66 65 72 5d 20 20 20 20 2e 20 69 6d 61 67 65 2d 62 6f 62 29 0a 20 20 20 20 20 20 20 20 20 uffer]......image-bob)..........
28720 20 20 20 28 5b 72 65 6d 61 70 20 65 6e 64 2d 6f 66 2d 62 75 66 66 65 72 5d 20 20 20 20 20 20 20 ...([remap.end-of-buffer].......
28740 20 20 20 2e 20 69 6d 61 67 65 2d 65 6f 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 .....image-eob).............;;..
28760 20 20 20 20 20 20 20 20 20 20 20 28 22 2b 22 20 2e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 7a 6f 6f ...........("+"...djvu-image-zoo
28780 6d 2d 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 22 2d 22 20 2e 20 64 6a 76 75 2d 69 6d m-in).............("-"...djvu-im
287a0 61 67 65 2d 7a 6f 6f 6d 2d 6f 75 74 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 64 72 61 age-zoom-out)..............([dra
287c0 67 2d 6d 6f 75 73 65 2d 31 5d 20 20 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 72 65 63 74 2d 61 g-mouse-1].....djvu-mouse-rect-a
287e0 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 53 2d 64 72 61 67 2d 6d 6f 75 73 65 2d rea).............([S-drag-mouse-
28800 31 5d 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 74 65 78 74 2d 61 72 65 61 29 0a 20 20 20 20 20 1]...djvu-mouse-text-area)......
28820 20 20 20 20 20 20 20 28 5b 43 2d 64 72 61 67 2d 6d 6f 75 73 65 2d 31 5d 20 2e 20 64 6a 76 75 2d .......([C-drag-mouse-1]...djvu-
28840 6d 6f 75 73 65 2d 74 65 78 74 2d 61 72 65 61 2d 70 75 73 68 70 69 6e 29 0a 20 20 20 20 20 20 20 mouse-text-area-pushpin)........
28860 20 20 20 20 20 28 5b 64 72 61 67 2d 6d 6f 75 73 65 2d 32 5d 20 20 20 2e 20 64 6a 76 75 2d 6d 6f .....([drag-mouse-2].....djvu-mo
28880 75 73 65 2d 6c 69 6e 65 2d 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 53 2d 64 use-line-area).............([S-d
288a0 72 61 67 2d 6d 6f 75 73 65 2d 32 5d 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 rag-mouse-2]...djvu-mouse-line-a
288c0 72 65 61 2d 68 6f 72 69 7a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 43 2d 64 72 61 67 2d rea-horiz).............([C-drag-
288e0 6d 6f 75 73 65 2d 32 5d 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 72 65 61 2d mouse-2]...djvu-mouse-line-area-
28900 76 65 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 vert).............;;............
28920 20 28 5b 64 6f 77 6e 2d 6d 6f 75 73 65 2d 31 5d 20 20 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d .([down-mouse-1].....djvu-mouse-
28940 64 72 61 67 2d 74 72 61 63 6b 2d 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 53 drag-track-area).............([S
28960 2d 64 6f 77 6e 2d 6d 6f 75 73 65 2d 31 5d 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 -down-mouse-1]...djvu-mouse-drag
28980 2d 74 72 61 63 6b 2d 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 43 2d 64 6f 77 -track-area).............([C-dow
289a0 6e 2d 6d 6f 75 73 65 2d 31 5d 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 2d 74 72 61 n-mouse-1]...djvu-mouse-drag-tra
289c0 63 6b 2d 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 64 6f 77 6e 2d 6d 6f 75 73 ck-area).............([down-mous
289e0 65 2d 32 5d 20 20 20 2e 20 28 6c 61 6d 62 64 61 20 28 65 76 65 6e 74 29 20 28 69 6e 74 65 72 61 e-2].....(lambda.(event).(intera
28a00 63 74 69 76 65 20 22 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctive."e")......................
28a20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 2d 74 72 .............(djvu-mouse-drag-tr
28a40 61 63 6b 2d 61 72 65 61 20 65 76 65 6e 74 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ack-area.event.t))).............
28a60 28 5b 53 2d 64 6f 77 6e 2d 6d 6f 75 73 65 2d 32 5d 20 2e 20 28 6c 61 6d 62 64 61 20 28 65 76 65 ([S-down-mouse-2]...(lambda.(eve
28a80 6e 74 29 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 nt).(interactive."e")...........
28aa0 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 64 6a 76 75 2d 6d 6f ........................(djvu-mo
28ac0 75 73 65 2d 64 72 61 67 2d 74 72 61 63 6b 2d 61 72 65 61 20 65 76 65 6e 74 20 27 68 6f 72 69 7a use-drag-track-area.event.'horiz
28ae0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 43 2d 64 6f 77 6e 2d 6d 6f 75 73 65 2d 32 ))).............([C-down-mouse-2
28b00 5d 20 2e 20 28 6c 61 6d 62 64 61 20 28 65 76 65 6e 74 29 20 28 69 6e 74 65 72 61 63 74 69 76 65 ]...(lambda.(event).(interactive
28b20 20 22 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."e")...........................
28b40 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 2d 74 72 61 63 6b 2d 61 ........(djvu-mouse-drag-track-a
28b60 72 65 61 20 65 76 65 6e 74 20 27 76 65 72 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b rea.event.'vert))).............;
28b80 3b 20 46 49 58 4d 45 3a 20 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 69 6e 64 69 6e 67 20 68 ;.FIXME:.The.following.binding.h
28ba0 61 73 20 6e 6f 20 65 66 66 65 63 74 2e 20 20 57 68 79 3f 3f 0a 20 20 20 20 20 20 20 20 20 20 20 as.no.effect...Why??............
28bc0 20 28 5b 4d 2d 64 72 61 67 2d 6d 6f 75 73 65 2d 31 5d 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d .([M-drag-mouse-1]...djvu-mouse-
28be0 77 6f 72 64 2d 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 4d 2d 64 6f 77 6e 2d word-area).............([M-down-
28c00 6d 6f 75 73 65 2d 31 5d 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 2d 74 72 61 63 6b mouse-1]...djvu-mouse-drag-track
28c20 2d 61 72 65 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 64 72 61 67 2d 6d 6f 75 73 65 2d -area).............([drag-mouse-
28c40 33 5d 20 20 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 77 6f 72 64 2d 61 72 65 61 29 20 3b 20 73 3].....djvu-mouse-word-area).;.s
28c60 75 62 73 74 69 74 75 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 5b 64 6f 77 6e 2d 6d 6f 75 ubstitute.............([down-mou
28c80 73 65 2d 33 5d 20 20 20 2e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 2d 74 72 61 63 6b 2d se-3].....djvu-mouse-drag-track-
28ca0 61 72 65 61 29 29 20 3b 20 73 75 62 73 74 69 74 75 74 65 0a 0a 20 20 28 69 6d 61 67 65 2d 6d 6f area)).;.substitute....(image-mo
28cc0 64 65 2d 73 65 74 75 70 2d 77 69 6e 70 72 6f 70 73 29 0a 0a 20 20 28 6c 65 74 2a 20 28 28 64 69 de-setup-winprops)....(let*.((di
28ce0 73 70 6c 61 79 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d splay.(get-text-property.(point-
28d00 6d 69 6e 29 20 27 64 69 73 70 6c 61 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 61 62 6c 65 min).'display))..........(enable
28d20 20 28 61 6e 64 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 20 28 6e 6f 74 20 64 69 73 70 6c .(and.djvu-image-mode.(not.displ
28d40 61 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 73 61 62 6c 65 20 28 61 6e 64 20 28 6e 6f ay)))..........(disable.(and.(no
28d60 74 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 29 20 64 69 73 70 6c 61 79 29 29 29 0a 20 20 t.djvu-image-mode).display)))...
28d80 20 20 28 63 6f 6e 64 20 28 65 6e 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 ..(cond.(enable............;;.Re
28da0 6d 65 6d 62 65 72 20 44 50 4f 53 20 69 66 20 77 65 20 65 6e 61 62 6c 65 20 60 64 6a 76 75 2d 69 member.DPOS.if.we.enable.`djvu-i
28dc0 6d 61 67 65 2d 6d 6f 64 65 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 mage-mode'.............(djvu-set
28de0 20 72 65 61 64 2d 70 6f 73 20 28 6c 65 74 20 28 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 29 .read-pos.(let.(djvu-image-mode)
28e00 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 ................................
28e20 20 28 64 6a 76 75 2d 72 65 61 64 2d 64 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b .(djvu-read-dpos)))............;
28e40 3b 20 44 6f 6e 27 74 20 73 63 72 6f 6c 6c 20 75 6e 6c 65 73 73 20 74 68 65 20 75 73 65 72 20 73 ;.Don't.scroll.unless.the.user.s
28e60 70 65 63 69 66 69 63 61 6c 6c 79 20 61 73 6b 65 64 20 66 6f 72 20 69 74 2e 0a 20 20 20 20 20 20 pecifically.asked.for.it........
28e80 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 61 75 74 6f 2d 68 73 63 72 6f 6c 6c 2d 6d 6f .....(setq-local.auto-hscroll-mo
28ea0 64 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 69 73 61 62 6c 65 0a 20 20 20 20 de.nil))...........(disable.....
28ec0 20 20 20 20 20 20 20 3b 3b 20 52 65 6d 65 6d 62 65 72 20 73 63 72 6f 6c 6c 69 6e 67 20 77 68 65 .......;;.Remember.scrolling.whe
28ee0 6e 20 77 65 20 6c 65 61 76 65 20 69 6d 61 67 65 20 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 n.we.leave.image.mode...........
28f00 20 28 64 6a 76 75 2d 73 65 74 20 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 20 28 64 6a 76 75 2d 69 .(djvu-set.image-vscroll.(djvu-i
28f20 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d mage-vscroll))............(djvu-
28f40 73 65 74 20 69 6d 61 67 65 2d 68 73 63 72 6f 6c 6c 20 28 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c set.image-hscroll.(window-hscrol
28f60 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 68 73 63 72 6f l))............(set-window-hscro
28f80 6c 6c 20 28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 20 30 29 29 29 0a 0a 20 20 20 20 28 ll.(selected-window).0)))......(
28fa0 69 66 20 28 6f 72 20 65 6e 61 62 6c 65 20 64 69 73 61 62 6c 65 29 20 28 64 6a 76 75 2d 69 6d 61 if.(or.enable.disable).(djvu-ima
28fc0 67 65 29 29 0a 0a 20 20 20 20 28 63 6f 6e 64 20 28 65 6e 61 62 6c 65 0a 20 20 20 20 20 20 20 20 ge))......(cond.(enable.........
28fe0 20 20 20 3b 3b 20 43 6f 64 65 20 61 64 6f 70 74 65 64 20 66 72 6f 6d 20 60 69 6d 61 67 65 2d 62 ...;;.Code.adopted.from.`image-b
29000 6f 6c 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 69 6d 61 67 65 2d 73 69 ol'.............(let*.((image-si
29020 7a 65 20 28 69 6d 61 67 65 2d 64 69 73 70 6c 61 79 2d 73 69 7a 65 0a 20 20 20 20 20 20 20 20 20 ze.(image-display-size..........
29040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 67 65 74 ......................(image-get
29060 2d 64 69 73 70 6c 61 79 2d 70 72 6f 70 65 72 74 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -display-property)))............
29080 20 20 20 20 20 20 20 28 69 6d 67 2d 77 69 64 74 68 20 20 28 63 65 69 6c 69 6e 67 20 28 63 61 72 .......(img-width..(ceiling.(car
290a0 20 69 6d 61 67 65 2d 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .image-size)))..................
290c0 20 28 69 6d 67 2d 68 65 69 67 68 74 20 28 63 65 69 6c 69 6e 67 20 28 63 64 72 20 69 6d 61 67 65 .(img-height.(ceiling.(cdr.image
290e0 2d 73 69 7a 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 64 67 65 -size)))...................(edge
29100 73 20 28 77 69 6e 64 6f 77 2d 69 6e 73 69 64 65 2d 65 64 67 65 73 29 29 0a 20 20 20 20 20 20 20 s.(window-inside-edges))........
29120 20 20 20 20 20 20 20 20 20 20 20 28 77 69 6e 2d 77 69 64 74 68 20 20 28 2d 20 28 6e 74 68 20 32 ...........(win-width..(-.(nth.2
29140 20 65 64 67 65 73 29 20 28 6e 74 68 20 30 20 65 64 67 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 .edges).(nth.0.edges))).........
29160 20 20 20 20 20 20 20 20 20 20 28 77 69 6e 2d 68 65 69 67 68 74 20 28 2d 20 28 6e 74 68 20 33 20 ..........(win-height.(-.(nth.3.
29180 65 64 67 65 73 29 20 28 6e 74 68 20 31 20 65 64 67 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 edges).(nth.1.edges)))).........
291a0 20 20 20 20 20 28 69 6d 61 67 65 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 76 73 63 72 6f 6c 6c 20 28 .....(image-set-window-vscroll.(
291c0 6d 69 6e 20 28 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 29 0a 20 20 20 min.(djvu-ref.image-vscroll)....
291e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29200 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 30 20 28 2d 20 69 6d 67 2d 68 65 69 67 68 74 20 77 69 .........(max.0.(-.img-height.wi
29220 6e 2d 68 65 69 67 68 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 n-height))))..............(image
29240 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c 20 28 6d 69 6e 20 28 64 6a 76 75 2d 72 -set-window-hscroll.(min.(djvu-r
29260 65 66 20 69 6d 61 67 65 2d 68 73 63 72 6f 6c 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ef.image-hscroll)...............
29280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ..............................(m
292a0 61 78 20 30 20 28 2d 20 69 6d 67 2d 77 69 64 74 68 20 77 69 6e 2d 77 69 64 74 68 29 29 29 29 29 ax.0.(-.img-width.win-width)))))
292c0 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 69 73 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 )...........(disable............
292e0 3b 3b 20 47 6f 20 74 6f 20 44 50 4f 53 20 69 66 20 77 65 20 64 69 73 61 62 6c 65 20 60 64 6a 76 ;;.Go.to.DPOS.if.we.disable.`djv
29300 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d u-image-mode'.............(djvu-
29320 67 6f 74 6f 2d 72 65 61 64 20 28 64 6a 76 75 2d 72 65 66 20 72 65 61 64 2d 70 6f 73 29 29 29 29 goto-read.(djvu-ref.read-pos))))
29340 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6d 61 67 65 20 28 26 6f 70 74 69 6f 6e 61 6c ))..(defun.djvu-image.(&optional
29360 20 69 73 69 7a 65 29 0a 20 20 22 49 66 20 60 64 6a 76 75 2d 69 6d 61 67 65 2d 6d 6f 64 65 27 20 .isize)..."If.`djvu-image-mode'.
29380 69 73 20 65 6e 61 62 6c 65 64 2c 20 64 69 73 70 6c 61 79 20 69 6d 61 67 65 20 6f 66 20 63 75 72 is.enabled,.display.image.of.cur
293a0 72 65 6e 74 20 44 6a 76 75 20 70 61 67 65 2e 0a 4f 74 68 65 72 77 69 73 65 20 72 65 6d 6f 76 65 rent.Djvu.page..Otherwise.remove
293c0 20 74 68 65 20 69 6d 61 67 65 2e 22 0a 20 20 3b 3b 20 53 74 72 61 6e 67 65 21 20 20 60 64 6a 76 .the.image."...;;.Strange!..`djv
293e0 75 2d 69 6d 61 67 65 27 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 62 75 66 66 65 72 20 28 69 74 u-image'.modifies.the.buffer.(it
29400 73 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 29 2e 0a 20 20 3b 3b 20 4e 6f 6e 65 74 68 65 s.text.properties)....;;.Nonethe
29420 6c 65 73 73 2c 20 77 65 20 65 6e 64 20 75 70 20 77 69 74 68 20 61 6e 20 75 6e 6d 6f 64 69 66 69 less,.we.end.up.with.an.unmodifi
29440 65 64 20 62 75 66 66 65 72 2e 20 20 54 68 69 73 20 68 6f 6c 64 73 2c 0a 20 20 3b 3b 20 69 6e 20 ed.buffer...This.holds,...;;.in.
29460 70 61 72 74 69 63 75 6c 61 72 2c 20 66 6f 72 20 74 68 65 20 22 62 61 72 65 22 20 63 61 6c 6c 73 particular,.for.the."bare".calls
29480 20 6f 66 20 60 64 6a 76 75 2d 69 6d 61 67 65 27 20 62 79 0a 20 20 3b 3b 20 60 64 6a 76 75 2d 69 .of.`djvu-image'.by...;;.`djvu-i
294a0 6d 61 67 65 2d 7a 6f 6f 6d 2d 69 6e 27 20 61 6e 64 20 60 64 6a 76 75 2d 69 6d 61 67 65 2d 7a 6f mage-zoom-in'.and.`djvu-image-zo
294c0 6f 6d 2d 6f 75 74 27 2e 0a 20 20 28 69 66 20 28 6e 6f 74 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6d om-out'....(if.(not.djvu-image-m
294e0 6f 64 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c ode).......(let.(buffer-read-onl
29500 79 29 0a 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 y).........(remove-text-properti
29520 65 73 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 27 28 64 69 73 es.(point-min).(point-max).'(dis
29540 70 6c 61 79 20 6e 69 6c 29 29 29 0a 20 20 20 20 3b 3b 20 55 70 64 61 74 65 20 69 6d 61 67 65 20 play.nil))).....;;.Update.image.
29560 69 66 20 6e 65 63 65 73 73 61 72 79 2e 0a 20 20 20 20 28 69 66 20 28 6f 72 20 28 6e 6f 74 20 28 if.necessary......(if.(or.(not.(
29580 65 71 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 20 28 63 61 72 20 28 64 6a 76 75 2d 72 65 eq.(djvu-ref.page).(car.(djvu-re
295a0 66 20 69 6d 61 67 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 69 73 69 f.image)))).............(and.isi
295c0 7a 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 69 73 69 ze..................(not.(eq.isi
295e0 7a 65 20 28 6e 74 68 20 31 20 28 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 29 29 29 29 29 29 0a ze.(nth.1.(djvu-ref.image)))))).
29600 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 73 69 7a 65 20 28 6f 72 20 69 73 69 7a 65 0a 20 ........(let.((isize.(or.isize..
29620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 31 20 28 ........................(nth.1.(
29640 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 djvu-ref.image))................
29660 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 69 6d 61 67 65 2d 73 69 7a 65 29 29 0a 20 20 20 20 ..........djvu-image-size)).....
29680 20 20 20 20 20 20 20 20 20 20 28 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 0a 20 20 20 20 20 20 20 ..........(doc.djvu-doc)........
296a0 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 71 75 69 74 20 74 29 29 0a 20 20 20 20 20 20 20 .......(inhibit-quit.t))........
296c0 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 ...(with-temp-buffer............
296e0 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62 79 74 65 20 6e 69 6c 29 0a 20 20 20 20 .(set-buffer-multibyte.nil).....
29700 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f ........(let*.((coding-system-fo
29720 72 2d 72 65 61 64 20 27 72 61 77 2d 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-read.'raw-text)...............
29740 20 20 20 20 20 3b 3b 20 46 6f 72 20 61 20 72 65 63 74 61 6e 67 75 6c 61 72 20 69 6d 61 67 65 2c .....;;.For.a.rectangular.image,
29760 20 49 53 49 5a 45 20 64 6f 65 73 20 6e 6f 74 20 67 69 76 65 20 75 73 0a 20 20 20 20 20 20 20 20 .ISIZE.does.not.give.us.........
29780 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 61 63 74 75 61 6c 20 73 69 7a 65 20 6f 66 ...........;;.the.actual.size.of
297a0 20 74 68 65 20 69 6d 61 67 65 2c 20 62 75 74 20 28 6d 61 78 20 77 69 64 74 68 20 68 65 69 67 68 .the.image,.but.(max.width.heigh
297c0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 6c 6c 20 62 65 t)....................;;.will.be
297e0 20 65 71 75 61 6c 20 74 6f 20 49 53 49 5a 45 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .equal.to.ISIZE.................
29800 20 20 20 20 28 73 74 61 74 75 73 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 64 64 6a 76 75 ....(status.(call-process."ddjvu
29820 22 20 6e 69 6c 20 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".nil.t.nil.....................
29840 20 20 20 20 20 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 2d 73 .....................(format."-s
29860 69 7a 65 3d 25 64 78 25 64 22 20 69 73 69 7a 65 20 69 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 ize=%dx%d".isize.isize).........
29880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
298a0 20 22 2d 66 6f 72 6d 61 74 3d 70 70 6d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ."-format=ppm"..................
298c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 ........................(format.
298e0 22 2d 70 61 67 65 3d 25 64 22 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 0a "-page=%d".(djvu-ref.page.doc)).
29900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29920 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 66 69 6c 65 20 64 6f 63 29 29 29 29 0a .........(djvu-ref.file.doc)))).
29940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 73 74 61 ..............(unless.(zerop.sta
29960 74 75 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 44 64 6a tus).................(error."Ddj
29980 76 75 20 65 72 72 6f 72 20 25 73 22 20 73 74 61 74 75 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 vu.error.%s".status))...........
299a0 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 69 6d 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(djvu-set.image.............
299c0 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 ...(append.(list.(djvu-ref.page.
299e0 64 6f 63 29 20 69 73 69 7a 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 doc).isize).....................
29a00 20 20 20 3b 3b 20 49 6d 61 67 65 73 20 61 72 65 20 6c 69 73 74 73 0a 20 20 20 20 20 20 20 20 20 ...;;.Images.are.lists..........
29a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 72 65 61 74 65 2d 69 6d 61 67 65 20 28 62 75 66 ..............(create-image.(buf
29a40 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 0a 20 20 20 20 fer-substring-no-properties.....
29a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29a80 20 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 0a 20 20 20 20 20 ..(point-min).(point-max))......
29aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
29ac0 27 70 62 6d 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 63 29 29 29 29 29 'pbm.t))................doc)))))
29ae0 0a 20 20 20 20 3b 3b 20 44 69 73 70 6c 61 79 20 69 6d 61 67 65 2e 0a 20 20 20 20 28 6c 65 74 20 .....;;.Display.image......(let.
29b00 28 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 20 20 28 69 66 20 28 3d 20 (buffer-read-only).......(if.(=.
29b20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 20 28 69 6e 73 65 72 74 (point-min).(point-max)).(insert
29b40 20 22 20 22 29 29 0a 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 .".")).......(put-text-property.
29b60 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 0a 20 20 20 20 20 20 20 20 (point-min).(point-max).........
29b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 69 73 70 6c 61 79 20 28 6e 74 68 63 64 .................'display.(nthcd
29ba0 72 20 32 20 28 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 29 29 29 29 29 29 0a 0a 3b 3b 20 54 68 r.2.(djvu-ref.image))))))..;;.Th
29bc0 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 63 72 6f 6c 6c 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 61 e.following.scrolling.commands.a
29be0 72 65 20 61 64 61 70 74 65 64 20 66 72 6f 6d 20 60 69 6d 61 67 65 2d 6d 6f 64 65 27 0a 3b 3b 20 re.adapted.from.`image-mode'.;;.
29c00 61 6e 64 20 60 64 6f 63 2d 76 69 65 77 2d 6d 6f 64 65 27 2e 0a 0a 28 64 65 66 75 6e 20 64 6a 76 and.`doc-view-mode'...(defun.djv
29c20 75 2d 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 u-image-vscroll.()..."Return.the
29c40 20 61 6d 6f 75 6e 74 20 62 79 20 77 68 69 63 68 20 61 20 70 61 67 65 20 69 6d 61 67 65 20 69 73 .amount.by.which.a.page.image.is
29c60 20 73 63 72 6f 6c 6c 65 64 20 76 65 72 74 69 63 61 6c 6c 79 2e 22 0a 20 20 3b 3b 20 55 70 20 74 .scrolled.vertically."...;;.Up.t
29c80 6f 20 45 6d 61 63 73 20 32 36 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 60 69 6d 61 67 65 o.Emacs.26,.the.functions.`image
29ca0 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 27 2c 20 60 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 75 70 27 -scroll-down',.`image-scroll-up'
29cc0 2c 0a 20 20 3b 3b 20 60 69 6d 61 67 65 2d 6e 65 78 74 2d 6c 69 6e 65 27 2c 20 61 6e 64 20 60 69 ,...;;.`image-next-line',.and.`i
29ce0 6d 61 67 65 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 27 20 72 65 74 75 72 6e 20 6d 75 6c 74 69 mage-previous-line'.return.multi
29d00 70 6c 65 73 20 6f 66 20 74 68 65 0a 20 20 3b 3b 20 63 68 61 72 61 63 74 65 72 20 68 65 69 67 68 ples.of.the...;;.character.heigh
29d20 74 2e 20 20 53 74 61 72 74 69 6e 67 20 77 69 74 68 20 45 6d 61 63 73 20 32 37 2c 20 74 68 65 73 t...Starting.with.Emacs.27,.thes
29d40 65 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 0a 20 20 3b 3b 20 70 69 78 65 6c 20 76 61 e.functions.return...;;.pixel.va
29d60 6c 75 65 73 2e 20 20 54 6f 20 62 65 20 63 6f 6d 70 61 74 69 62 6c 65 2c 20 77 65 20 6d 75 73 74 lues...To.be.compatible,.we.must
29d80 20 63 61 6c 6c 20 60 77 69 6e 64 6f 77 2d 76 73 63 72 6f 6c 6c 27 0a 20 20 3b 3b 20 77 69 74 68 .call.`window-vscroll'...;;.with
29da0 6f 75 74 20 6f 72 20 77 69 74 68 20 61 72 67 20 50 49 58 45 4c 53 2d 50 20 6e 6f 6e 2d 6e 69 6c out.or.with.arg.PIXELS-P.non-nil
29dc0 2e 0a 20 20 28 77 69 6e 64 6f 77 2d 76 73 63 72 6f 6c 6c 20 6e 69 6c 20 28 3c 3d 20 32 37 20 28 ....(window-vscroll.nil.(<=.27.(
29de0 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 29 29 string-to-number.emacs-version))
29e00 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 75 70 20 ))..(defun.djvu-image-scroll-up.
29e20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 29 0a 20 20 22 53 63 72 6f 6c 6c 20 69 6d 61 67 65 20 6f 66 (&optional.n)..."Scroll.image.of
29e40 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 75 70 77 61 72 64 20 62 79 20 4e 20 6c 69 6e 65 73 2e .current.page.upward.by.N.lines.
29e60 0a 41 74 20 74 68 65 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 69 6d 61 67 65 2c 20 77 68 65 .At.the.bottom.of.the.image,.whe
29e80 6e 20 60 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 0a 67 n.`djvu-continuous'.is.non-nil.g
29ea0 6f 20 74 6f 20 74 68 65 20 69 6d 61 67 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20 70 61 67 65 2e o.to.the.image.of.the.next.page.
29ec0 0a 50 72 65 66 69 78 20 4e 20 6d 61 79 20 74 61 6b 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 .Prefix.N.may.take.the.same.valu
29ee0 65 73 20 61 73 20 61 72 67 20 4e 20 6f 66 20 60 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 75 70 27 es.as.arg.N.of.`image-scroll-up'
29f00 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 20 3b 20 73 61 6d 65 20 61 73 ."...(interactive."P").;.same.as
29f20 20 60 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 75 70 27 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3d .`image-scroll-up'...(if.(and.(=
29f40 20 28 64 6a 76 75 2d 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 29 20 28 69 6d 61 67 65 2d 73 63 72 .(djvu-image-vscroll).(image-scr
29f60 6f 6c 6c 2d 75 70 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6e 74 69 oll-up.n))............djvu-conti
29f80 6e 75 6f 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 64 6a 76 75 2d 72 65 66 20 70 61 nuous............(<.(djvu-ref.pa
29fa0 67 65 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 29 29 29 0a 20 20 20 20 20 20 28 ge).(djvu-ref.pagemax))).......(
29fc0 6c 65 74 20 28 28 68 73 63 72 6f 6c 6c 20 28 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c 29 29 29 let.((hscroll.(window-hscroll)))
29fe0 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20 .........(djvu-next-page.1).....
2a000 20 20 20 20 28 69 6d 61 67 65 2d 62 6f 62 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 62 ....(image-bob).........(image-b
2a020 6f 6c 20 31 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 73 65 74 2d 77 69 6e 64 6f 77 2d ol.1).........(image-set-window-
2a040 68 73 63 72 6f 6c 6c 20 68 73 63 72 6f 6c 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 hscroll.hscroll))))..(defun.djvu
2a060 2d 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 29 -image-scroll-down.(&optional.n)
2a080 0a 20 20 22 53 63 72 6f 6c 6c 20 69 6d 61 67 65 20 6f 66 20 63 75 72 72 65 6e 74 20 70 61 67 65 ..."Scroll.image.of.current.page
2a0a0 20 64 6f 77 6e 77 61 72 64 20 4e 20 6c 69 6e 65 73 2e 0a 41 74 20 74 68 65 20 74 6f 70 20 6f 66 .downward.N.lines..At.the.top.of
2a0c0 20 74 68 65 20 69 6d 61 67 65 2c 20 77 68 65 6e 20 60 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 .the.image,.when.`djvu-continuou
2a0e0 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 0a 67 6f 20 74 6f 20 74 68 65 20 69 6d 61 67 65 20 6f 66 s'.is.non-nil.go.to.the.image.of
2a100 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 61 67 65 2e 0a 50 72 65 66 69 78 20 4e 20 6d 61 79 .the.previous.page..Prefix.N.may
2a120 20 74 61 6b 65 20 74 68 65 20 73 61 6d 65 20 76 61 6c 75 65 73 20 61 73 20 61 72 67 20 4e 20 6f .take.the.same.values.as.arg.N.o
2a140 66 20 60 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 27 2e 22 0a 20 20 28 69 6e 74 65 72 f.`image-scroll-down'."...(inter
2a160 61 63 74 69 76 65 20 22 50 22 29 20 3b 20 73 61 6d 65 20 61 73 20 60 69 6d 61 67 65 2d 73 63 72 active."P").;.same.as.`image-scr
2a180 6f 6c 6c 2d 64 6f 77 6e 27 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 28 64 6a 76 75 2d 69 6d oll-down'...(if.(and.(=.(djvu-im
2a1a0 61 67 65 2d 76 73 63 72 6f 6c 6c 29 20 28 69 6d 61 67 65 2d 73 63 72 6f 6c 6c 2d 64 6f 77 6e 20 age-vscroll).(image-scroll-down.
2a1c0 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 0a 20 n))............djvu-continuous..
2a1e0 20 20 20 20 20 20 20 20 20 20 28 3c 20 31 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 29 29 ..........(<.1.(djvu-ref.page)))
2a200 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 73 63 72 6f 6c 6c 20 28 77 69 6e 64 6f 77 2d 68 73 .......(let.((hscroll.(window-hs
2a220 63 72 6f 6c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 70 72 65 76 2d 70 61 67 65 croll))).........(djvu-prev-page
2a240 20 31 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 65 6f 62 29 0a 20 20 20 20 20 20 20 20 .1).........(image-eob).........
2a260 28 69 6d 61 67 65 2d 62 6f 6c 20 31 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 73 65 74 (image-bol.1).........(image-set
2a280 2d 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c 20 68 73 63 72 6f 6c 6c 29 29 29 29 0a 0a 28 64 65 -window-hscroll.hscroll))))..(de
2a2a0 66 75 6e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 28 26 6f 70 74 69 6f fun.djvu-image-next-line.(&optio
2a2c0 6e 61 6c 20 6e 29 0a 20 20 22 53 63 72 6f 6c 6c 20 69 6d 61 67 65 20 6f 66 20 63 75 72 72 65 6e nal.n)..."Scroll.image.of.curren
2a2e0 74 20 70 61 67 65 20 75 70 77 61 72 64 20 62 79 20 4e 20 6c 69 6e 65 73 2e 0a 41 74 20 74 68 65 t.page.upward.by.N.lines..At.the
2a300 20 62 6f 74 74 6f 6d 20 6f 66 20 74 68 65 20 69 6d 61 67 65 2c 20 77 68 65 6e 20 60 64 6a 76 75 .bottom.of.the.image,.when.`djvu
2a320 2d 63 6f 6e 74 69 6e 75 6f 75 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 67 6f 20 74 6f 20 74 -continuous'.is.non-nil,.go.to.t
2a340 68 65 20 69 6d 61 67 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20 70 61 67 65 2e 22 0a 20 20 28 69 he.image.of.the.next.page."...(i
2a360 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 28 64 nteractive."p")...(if.(and.(=.(d
2a380 6a 76 75 2d 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 29 20 28 69 6d 61 67 65 2d 6e 65 78 74 2d 6c jvu-image-vscroll).(image-next-l
2a3a0 69 6e 65 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f ine.n))............djvu-continuo
2a3c0 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 us............(<.(djvu-ref.page)
2a3e0 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 .(djvu-ref.pagemax))).......(let
2a400 20 28 28 68 73 63 72 6f 6c 6c 20 28 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c 29 29 29 0a 20 20 .((hscroll.(window-hscroll)))...
2a420 20 20 20 20 20 20 28 64 6a 76 75 2d 6e 65 78 74 2d 70 61 67 65 20 31 29 0a 20 20 20 20 20 20 20 ......(djvu-next-page.1)........
2a440 20 28 69 6d 61 67 65 2d 62 6f 62 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 62 6f 6c 20 .(image-bob).........(image-bol.
2a460 31 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 68 73 63 1).........(image-set-window-hsc
2a480 72 6f 6c 6c 20 68 73 63 72 6f 6c 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6d roll.hscroll))))..(defun.djvu-im
2a4a0 61 67 65 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 29 0a age-previous-line.(&optional.n).
2a4c0 20 20 22 53 63 72 6f 6c 6c 20 69 6d 61 67 65 20 6f 66 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 .."Scroll.image.of.current.page.
2a4e0 64 6f 77 6e 77 61 72 64 20 4e 20 6c 69 6e 65 73 2e 0a 41 74 20 74 68 65 20 74 6f 70 20 6f 66 20 downward.N.lines..At.the.top.of.
2a500 74 68 65 20 69 6d 61 67 65 2c 20 77 68 65 6e 20 60 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 the.image,.when.`djvu-continuous
2a520 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 67 6f 20 74 6f 20 74 68 65 20 69 6d 61 67 65 20 6f 66 '.is.non-nil,.go.to.the.image.of
2a540 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 70 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 .the.previous.page."...(interact
2a560 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 28 64 6a 76 75 2d 69 6d 61 ive."p")...(if.(and.(=.(djvu-ima
2a580 67 65 2d 76 73 63 72 6f 6c 6c 29 20 28 69 6d 61 67 65 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 ge-vscroll).(image-previous-line
2a5a0 20 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 63 6f 6e 74 69 6e 75 6f 75 73 0a .n))............djvu-continuous.
2a5c0 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 31 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 29 29 ...........(<.1.(djvu-ref.page))
2a5e0 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 68 73 63 72 6f 6c 6c 20 28 77 69 6e 64 6f 77 2d 68 ).......(let.((hscroll.(window-h
2a600 73 63 72 6f 6c 6c 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 70 72 65 76 2d 70 61 67 scroll))).........(djvu-prev-pag
2a620 65 20 31 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 65 6f 62 29 0a 20 20 20 20 20 20 20 e.1).........(image-eob)........
2a640 20 28 69 6d 61 67 65 2d 62 6f 6c 20 31 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 73 65 .(image-bol.1).........(image-se
2a660 74 2d 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c 20 68 73 63 72 6f 6c 6c 29 29 29 29 0a 0a 28 64 t-window-hscroll.hscroll))))..(d
2a680 65 66 75 6e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 7a 6f 6f 6d 2d 69 6e 20 28 26 6f 70 74 69 6f 6e efun.djvu-image-zoom-in.(&option
2a6a0 61 6c 20 7a 6f 6f 6d 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 3b 3b 20 46 49 al.zoom)...(interactive)...;;.FI
2a6c0 58 4d 45 3a 20 74 68 69 73 20 70 72 65 73 65 72 76 65 73 20 74 68 65 20 75 70 70 65 72 20 6c 65 XME:.this.preserves.the.upper.le
2a6e0 66 74 20 63 6f 72 6e 65 72 20 6f 66 20 74 68 65 20 69 6d 61 67 65 2e 0a 20 20 3b 3b 20 49 66 20 ft.corner.of.the.image....;;.If.
2a700 70 6f 73 73 69 62 6c 65 2c 20 77 65 20 73 68 6f 75 6c 64 20 70 72 65 73 65 72 76 65 20 74 68 65 possible,.we.should.preserve.the
2a720 20 63 65 6e 74 65 72 20 6f 66 20 74 68 65 20 69 6d 61 67 65 2e 0a 20 20 28 6c 65 74 20 28 28 68 .center.of.the.image....(let.((h
2a740 73 63 72 6f 6c 6c 20 28 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c 29 29 0a 20 20 20 20 20 20 20 scroll.(window-hscroll))........
2a760 20 28 76 73 63 72 6f 6c 6c 20 28 64 6a 76 75 2d 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 29 29 0a .(vscroll.(djvu-image-vscroll)).
2a780 20 20 20 20 20 20 20 20 28 7a 6f 6f 6d 20 28 6f 72 20 7a 6f 6f 6d 20 64 6a 76 75 2d 69 6d 61 67 ........(zoom.(or.zoom.djvu-imag
2a7a0 65 2d 7a 6f 6f 6d 29 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 69 6d 61 67 65 20 28 72 6f 75 6e 64 e-zoom))).....(djvu-image.(round
2a7c0 20 28 2a 20 28 6e 74 68 20 31 20 28 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 29 29 20 7a 6f 6f .(*.(nth.1.(djvu-ref.image)).zoo
2a7e0 6d 29 29 29 0a 20 20 20 20 28 69 6d 61 67 65 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 68 73 63 72 6f m))).....(image-set-window-hscro
2a800 6c 6c 20 28 72 6f 75 6e 64 20 28 2a 20 68 73 63 72 6f 6c 6c 20 7a 6f 6f 6d 29 29 29 0a 20 20 20 ll.(round.(*.hscroll.zoom)))....
2a820 20 28 69 6d 61 67 65 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 76 73 63 72 6f 6c 6c 20 28 72 6f 75 6e .(image-set-window-vscroll.(roun
2a840 64 20 28 2a 20 76 73 63 72 6f 6c 6c 20 7a 6f 6f 6d 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 d.(*.vscroll.zoom)))))..(defun.d
2a860 6a 76 75 2d 69 6d 61 67 65 2d 7a 6f 6f 6d 2d 6f 75 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 7a 6f jvu-image-zoom-out.(&optional.zo
2a880 6f 6d 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 68 73 63 om)...(interactive)...(let.((hsc
2a8a0 72 6f 6c 6c 20 28 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c 29 29 0a 20 20 20 20 20 20 20 20 28 roll.(window-hscroll)).........(
2a8c0 76 73 63 72 6f 6c 6c 20 28 64 6a 76 75 2d 69 6d 61 67 65 2d 76 73 63 72 6f 6c 6c 29 29 0a 20 20 vscroll.(djvu-image-vscroll))...
2a8e0 20 20 20 20 20 20 28 7a 6f 6f 6d 20 28 6f 72 20 7a 6f 6f 6d 20 64 6a 76 75 2d 69 6d 61 67 65 2d ......(zoom.(or.zoom.djvu-image-
2a900 7a 6f 6f 6d 29 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 69 6d 61 67 65 20 28 72 6f 75 6e 64 20 28 zoom))).....(djvu-image.(round.(
2a920 2f 20 28 6e 74 68 20 31 20 28 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 29 29 20 7a 6f 6f 6d 29 /.(nth.1.(djvu-ref.image)).zoom)
2a940 29 29 0a 20 20 20 20 28 69 6d 61 67 65 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 68 73 63 72 6f 6c 6c )).....(image-set-window-hscroll
2a960 20 28 72 6f 75 6e 64 20 28 2f 20 68 73 63 72 6f 6c 6c 20 7a 6f 6f 6d 29 29 29 0a 20 20 20 20 28 .(round.(/.hscroll.zoom))).....(
2a980 69 6d 61 67 65 2d 73 65 74 2d 77 69 6e 64 6f 77 2d 76 73 63 72 6f 6c 6c 20 28 72 6f 75 6e 64 20 image-set-window-vscroll.(round.
2a9a0 28 2f 20 76 73 63 72 6f 6c 6c 20 7a 6f 6f 6d 29 29 29 29 29 0a 0a 3b 3b 20 49 6d 61 67 65 2d 62 (/.vscroll.zoom)))))..;;.Image-b
2a9c0 61 73 65 64 20 65 64 69 74 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 0a 0a 28 64 65 66 75 6e 20 64 6a ased.editing.commands..(defun.dj
2a9e0 76 75 2d 6d 6f 75 73 65 2d 64 72 61 67 2d 74 72 61 63 6b 2d 61 72 65 61 20 28 73 74 61 72 74 2d vu-mouse-drag-track-area.(start-
2aa00 65 76 65 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 69 6e 65 29 0a 20 20 22 54 72 61 63 6b 20 64 event.&optional.line)..."Track.d
2aa20 72 61 67 20 6f 76 65 72 20 69 6d 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 rag.over.image."...(interactive.
2aa40 22 65 22 29 0a 20 20 3b 3b 20 49 6e 73 70 69 72 65 64 20 62 79 20 60 6d 6f 75 73 65 2d 64 72 61 "e")...;;.Inspired.by.`mouse-dra
2aa60 67 2d 74 72 61 63 6b 27 2e 0a 20 20 28 6c 65 74 20 28 28 6f 6c 64 2d 74 72 61 63 6b 2d 6d 6f 75 g-track'....(let.((old-track-mou
2aa80 73 65 20 74 72 61 63 6b 2d 6d 6f 75 73 65 29 29 0a 20 20 20 20 3b 3b 20 44 69 73 61 62 6c 65 20 se.track-mouse)).....;;.Disable.
2aaa0 60 64 6a 76 75 2d 6d 6f 64 69 66 69 65 64 27 20 64 75 72 69 6e 67 20 74 72 61 63 6b 69 6e 67 2c `djvu-modified'.during.tracking,
2aac0 0a 20 20 20 20 3b 3b 20 62 75 74 20 77 65 20 6a 75 73 74 20 72 65 6d 65 6d 62 65 72 20 74 68 65 .....;;.but.we.just.remember.the
2aae0 20 63 75 72 72 65 6e 74 20 6d 6f 64 69 66 69 65 64 20 66 6c 61 67 2e 0a 20 20 20 20 3b 3b 20 54 .current.modified.flag......;;.T
2ab00 68 69 73 20 6d 61 6b 65 73 20 74 68 65 20 63 6f 64 65 20 6d 75 63 68 20 66 61 73 74 65 72 21 0a his.makes.the.code.much.faster!.
2ab20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 ....(remove-hook.'post-command-h
2ab40 6f 6f 6b 20 23 27 64 6a 76 75 2d 6d 6f 64 69 66 69 65 64 20 74 29 0a 20 20 20 20 28 73 65 74 71 ook.#'djvu-modified.t).....(setq
2ab60 20 64 6a 76 75 2d 6d 6f 64 69 66 69 65 64 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d .djvu-modified.(buffer-modified-
2ab80 70 29 29 0a 20 20 20 20 28 73 65 74 71 20 74 72 61 63 6b 2d 6d 6f 75 73 65 20 27 64 72 61 67 2d p)).....(setq.track-mouse.'drag-
2aba0 74 72 61 63 6b 69 6e 67 29 0a 20 20 20 20 28 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 tracking).....(set-transient-map
2abc0 0a 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 ......(let.((map.(make-sparse-ke
2abe0 79 6d 61 70 29 29 29 0a 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b ymap)))........(define-key.map.[
2ac00 6d 6f 75 73 65 2d 6d 6f 76 65 6d 65 6e 74 5d 0a 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 mouse-movement]..........(lambda
2ac20 20 28 65 76 65 6e 74 29 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 20 20 20 .(event).(interactive."e")......
2ac40 20 20 20 20 20 20 28 64 6a 76 75 2d 77 69 74 68 2d 65 76 65 6e 74 2d 62 75 66 66 65 72 20 65 76 ......(djvu-with-event-buffer.ev
2ac60 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6d 61 67 65 2d 72 65 63 ent..............(djvu-image-rec
2ac80 74 20 28 6c 69 73 74 20 27 64 6f 77 6e 2d 6d 6f 75 73 65 2d 31 0a 20 20 20 20 20 20 20 20 20 20 t.(list.'down-mouse-1...........
2aca0 20 20 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 65 76 65 6e 74 ..........................(event
2acc0 2d 73 74 61 72 74 20 73 74 61 72 74 2d 65 76 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -start.start-event).............
2ace0 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 65 76 65 6e 74 2d 65 ........................(event-e
2ad00 6e 64 20 65 76 65 6e 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 nd.event))......................
2ad20 20 20 20 20 20 20 20 20 20 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 20 6d 61 70 29 0a 20 20 .........line))))........map)...
2ad40 20 20 20 74 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f ...t.(lambda.()..........(add-ho
2ad60 6f 6b 20 27 70 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 23 27 64 6a 76 75 2d 6d 6f 64 ok.'post-command-hook.#'djvu-mod
2ad80 69 66 69 65 64 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6a 76 75 ified.nil.t)..........(setq.djvu
2ada0 2d 6d 6f 64 69 66 69 65 64 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 72 -modified.nil)..........(setq.tr
2adc0 61 63 6b 2d 6d 6f 75 73 65 20 6f 6c 64 2d 74 72 61 63 6b 2d 6d 6f 75 73 65 29 29 29 29 29 0a 0a ack-mouse.old-track-mouse)))))..
2ade0 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6d 61 67 65 2d 72 65 63 74 20 28 26 6f 70 74 69 6f 6e 61 (defun.djvu-image-rect.(&optiona
2ae00 6c 20 65 76 65 6e 74 20 6c 69 6e 65 29 0a 20 20 22 46 6f 72 20 50 50 4d 20 69 6d 61 67 65 20 73 l.event.line)..."For.PPM.image.s
2ae20 70 65 63 69 66 69 65 64 20 76 69 61 20 45 56 45 4e 54 20 6d 61 72 6b 20 72 65 63 74 61 6e 67 6c pecified.via.EVENT.mark.rectangl
2ae40 65 20 62 79 20 69 6e 76 65 72 74 69 6e 67 20 62 69 74 73 2e 22 0a 20 20 3b 3b 20 46 49 58 4d 45 e.by.inverting.bits."...;;.FIXME
2ae60 3a 20 43 61 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 62 65 20 69 6d 70 6c 65 6d 65 6e 74 :.Can.the.following.be.implement
2ae80 65 64 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 6c 79 20 69 6e 20 74 68 65 0a 20 20 3b 3b 20 ed.more.efficiently.in.the...;;.
2aea0 69 6d 61 67 65 20 64 69 73 70 6c 61 79 20 63 6f 64 65 3f 20 20 43 6f 75 6c 64 20 74 68 69 73 20 image.display.code?..Could.this.
2aec0 62 65 20 75 73 65 66 75 6c 20 66 6f 72 20 6f 74 68 65 72 20 70 61 63 6b 61 67 65 73 2c 20 74 6f be.useful.for.other.packages,.to
2aee0 6f 3f 0a 20 20 28 69 66 20 65 76 65 6e 74 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 65 2d 73 o?...(if.event.......(let*.((e-s
2af00 74 61 72 74 20 28 65 76 65 6e 74 2d 73 74 61 72 74 20 65 76 65 6e 74 29 29 0a 20 20 20 20 20 20 tart.(event-start.event)).......
2af20 20 20 20 20 20 20 20 28 65 2d 65 6e 64 20 20 20 28 65 76 65 6e 74 2d 65 6e 64 20 20 20 65 76 65 .......(e-end...(event-end...eve
2af40 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 20 28 75 6e 6c 65 73 73 20 28 61 6e nt))..............(_.(unless.(an
2af60 64 20 28 70 6f 73 6e 2d 69 6d 61 67 65 20 65 2d 73 74 61 72 74 29 20 28 70 6f 73 6e 2d 69 6d 61 d.(posn-image.e-start).(posn-ima
2af80 67 65 20 65 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 ge.e-end))...................(us
2afa0 65 72 2d 65 72 72 6f 72 20 22 41 72 65 61 20 6e 6f 74 20 6f 76 65 72 20 69 6d 61 67 65 22 29 29 er-error."Area.not.over.image"))
2afc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 20 28 70 6f 73 6e 2d 6f 62 6a 65 )..............(start.(posn-obje
2afe0 63 74 2d 78 2d 79 20 65 2d 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 ct-x-y.e-start))..............(e
2b000 6e 64 20 20 20 28 70 6f 73 6e 2d 6f 62 6a 65 63 74 2d 78 2d 79 20 65 2d 65 6e 64 29 29 0a 20 20 nd...(posn-object-x-y.e-end))...
2b020 20 20 20 20 20 20 20 20 20 20 20 28 78 31 20 28 69 66 20 6c 69 6e 65 20 28 63 61 72 20 73 74 61 ...........(x1.(if.line.(car.sta
2b040 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 6e 20 28 63 61 72 rt)....................(min.(car
2b060 20 73 74 61 72 74 29 20 28 63 61 72 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .start).(car.end))))............
2b080 20 20 28 79 31 20 28 69 66 20 6c 69 6e 65 20 28 63 64 72 20 73 74 61 72 74 29 0a 20 20 20 20 20 ..(y1.(if.line.(cdr.start)......
2b0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 6e 20 28 63 64 72 20 73 74 61 72 74 29 20 28 ..............(min.(cdr.start).(
2b0c0 63 64 72 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 32 20 28 69 66 cdr.end))))..............(x2.(if
2b0e0 20 6c 69 6e 65 20 28 63 61 72 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .line.(car.end).................
2b100 20 20 20 28 6d 61 78 20 28 63 61 72 20 73 74 61 72 74 29 20 28 63 61 72 20 65 6e 64 29 29 29 29 ...(max.(car.start).(car.end))))
2b120 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 32 20 28 69 66 20 6c 69 6e 65 20 28 63 64 72 20 ..............(y2.(if.line.(cdr.
2b140 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 28 63 64 end)....................(max.(cd
2b160 72 20 73 74 61 72 74 29 20 28 63 64 72 20 65 6e 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 r.start).(cdr.end))))...........
2b180 20 20 20 28 69 6d 61 67 65 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 28 6e 74 68 20 36 20 ...(image.(copy-sequence.(nth.6.
2b1a0 28 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (djvu-ref.image)))).............
2b1c0 20 28 5f 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 50 36 .(_.(unless.(string-match."\\`P6
2b1e0 5c 6e 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 20 2b 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5c 6e 5c 5c \n\\([0-9]+\\).+\\([0-9]+\\)\n\\
2b200 28 5b 30 2d 39 5d 2b 5c 5c 29 5c 6e 22 20 69 6d 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 ([0-9]+\\)\n".image)............
2b220 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 74 20 61 20 50 50 4d 20 69 6d 61 67 65 22 29 .......(error."Not.a.PPM.image")
2b240 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 74 68 20 28 64 6a 76 75 2d 6d 61 74 ))..............(width.(djvu-mat
2b260 63 68 2d 6e 75 6d 62 65 72 20 31 20 69 6d 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ch-number.1.image)).............
2b280 20 3b 20 28 68 65 69 67 68 74 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 32 20 .;.(height.(djvu-match-number.2.
2b2a0 69 6d 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 70 74 68 20 28 64 6a 76 image))..............(depth.(djv
2b2c0 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 72 20 33 20 69 6d 61 67 65 29 29 0a 20 20 20 20 20 20 20 u-match-number.3.image))........
2b2e0 20 20 20 20 20 20 28 69 30 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 ......(i0.(match-end.0))........
2b300 20 20 20 20 20 20 28 6f 6c 64 2d 69 6d 61 67 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 ......(old-image.(get-text-prope
2b320 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 64 69 73 70 6c 61 79 29 29 29 0a 20 20 20 20 rty.(point-min).'display))).....
2b340 20 20 20 20 28 75 6e 6c 65 73 73 20 28 3d 20 64 65 70 74 68 20 32 35 35 29 0a 20 20 20 20 20 20 ....(unless.(=.depth.255).......
2b360 20 20 20 20 28 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 68 61 6e 64 6c 65 20 64 65 70 74 68 20 ....(error."Cannot.handle.depth.
2b380 25 64 22 20 64 65 70 74 68 29 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 69 %d".depth)).........(cl-flet.((i
2b3a0 6e 76 65 72 74 20 28 69 20 69 6d 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nvert.(i.imax)..................
2b3c0 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 20 69 6d 61 78 29 0a 20 20 20 20 20 .........(while.(<.i.imax)......
2b3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 76 65 72 74 .......................;;.Invert
2b400 20 62 69 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .bits...........................
2b420 20 20 28 61 73 65 74 20 69 6d 61 67 65 20 69 20 28 2d 20 32 35 35 20 28 61 72 65 66 20 69 6d 61 ..(aset.image.i.(-.255.(aref.ima
2b440 67 65 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ge.i))).........................
2b460 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 ....(setq.i.(1+.i)))))..........
2b480 20 28 69 66 20 28 6e 6f 74 20 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 .(if.(not.line)...............(w
2b4a0 68 69 6c 65 20 28 3c 20 79 31 20 79 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b hile.(<.y1.y2).................;
2b4c0 3b 20 69 20 3d 20 69 30 20 2b 20 33 20 2a 20 28 79 20 2a 20 77 69 64 74 68 20 2b 20 78 29 0a 20 ;.i.=.i0.+.3.*.(y.*.width.+.x)..
2b4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 28 2b 20 69 30 20 28 2a ...............(let.((i.(+.i0.(*
2b500 20 33 20 28 2b 20 78 31 20 28 2a 20 77 69 64 74 68 20 79 31 29 29 29 29 29 29 0a 20 20 20 20 20 .3.(+.x1.(*.width.y1))))))......
2b520 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 76 65 72 74 20 69 20 28 2b 20 69 20 28 2a 20 33 .............(invert.i.(+.i.(*.3
2b540 20 28 2d 20 78 32 20 78 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .(-.x2.x1))))).................(
2b560 73 65 74 71 20 79 31 20 28 31 2b 20 79 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 setq.y1.(1+.y1))).............(c
2b580 6f 6e 64 20 28 28 65 71 20 6c 69 6e 65 20 27 68 6f 72 69 7a 29 20 28 73 65 74 71 20 79 32 20 79 ond.((eq.line.'horiz).(setq.y2.y
2b5a0 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6c 69 6e 65 20 1))...................((eq.line.
2b5c0 27 76 65 72 74 29 20 20 28 73 65 74 71 20 78 32 20 78 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 'vert)..(setq.x2.x1)))..........
2b5e0 20 20 20 28 69 66 20 28 3c 20 28 61 62 73 20 28 2d 20 78 32 20 78 31 29 29 20 28 61 62 73 20 28 ...(if.(<.(abs.(-.x2.x1)).(abs.(
2b600 2d 20 79 32 20 79 31 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 -.y2.y1))).................(let.
2b620 28 28 64 78 20 28 2f 20 28 2d 20 78 32 20 78 31 29 20 28 66 6c 6f 61 74 20 28 2d 20 79 32 20 79 ((dx.(/.(-.x2.x1).(float.(-.y2.y
2b640 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 20 79 1)))).......................(y.y
2b660 31 29 20 28 73 74 65 70 20 28 63 6c 2d 73 69 67 6e 75 6d 20 28 2d 20 79 32 20 79 31 29 29 29 29 1).(step.(cl-signum.(-.y2.y1))))
2b680 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 79 20 ...................(while.(/=.y.
2b6a0 79 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 78 20 3d 20 28 y2).....................;;.x.=.(
2b6c0 79 20 2d 20 79 31 29 20 2a 20 64 78 20 2b 20 78 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.-.y1).*.dx.+.x1...............
2b6e0 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 28 2b 20 69 30 20 28 2a 20 33 20 28 2b 20 28 2a 20 ......(let.((i.(+.i0.(*.3.(+.(*.
2b700 79 20 77 69 64 74 68 29 20 78 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 y.width).x1.....................
2b720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 6f 75 6e 64 20 28 2a .......................(round.(*
2b740 20 28 2d 20 79 20 79 31 29 20 64 78 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(-.y.y1).dx))))))).............
2b760 20 20 20 20 20 20 20 20 20 20 28 69 6e 76 65 72 74 20 69 20 28 2b 20 69 20 33 29 29 29 0a 20 20 ..........(invert.i.(+.i.3)))...
2b780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 79 20 28 2b 20 79 20 73 ..................(setq.y.(+.y.s
2b7a0 74 65 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 79 20 tep))))...............(let.((dy.
2b7c0 28 2f 20 28 2d 20 79 32 20 79 31 29 20 28 66 6c 6f 61 74 20 28 2d 20 78 32 20 78 31 29 29 29 29 (/.(-.y2.y1).(float.(-.x2.x1))))
2b7e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 78 20 78 31 29 20 28 73 74 65 .....................(x.x1).(ste
2b800 70 20 28 63 6c 2d 73 69 67 6e 75 6d 20 28 2d 20 78 32 20 78 31 29 29 29 29 0a 20 20 20 20 20 20 p.(cl-signum.(-.x2.x1)))).......
2b820 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 78 20 78 32 29 0a 20 20 20 20 20 ..........(while.(/=.x.x2)......
2b840 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 79 20 3d 20 28 78 20 2d 20 78 31 29 20 2a 20 64 .............;;.y.=.(x.-.x1).*.d
2b860 79 20 2b 20 79 31 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 y.+.y1...................(let.((
2b880 69 20 28 2b 20 69 30 20 28 2a 20 33 20 28 2b 20 78 20 28 2a 20 28 2b 20 79 31 20 28 72 6f 75 6e i.(+.i0.(*.3.(+.x.(*.(+.y1.(roun
2b8a0 64 20 28 2a 20 28 2d 20 78 20 78 31 29 20 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 d.(*.(-.x.x1).dy))).............
2b8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b8e0 20 20 77 69 64 74 68 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..width))))))...................
2b900 20 20 28 69 6e 76 65 72 74 20 69 20 28 2b 20 69 20 33 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..(invert.i.(+.i.3)))...........
2b920 20 20 20 20 20 20 20 20 28 73 65 74 71 20 78 20 28 2b 20 78 20 73 74 65 70 29 29 29 29 29 29 29 ........(setq.x.(+.x.step)))))))
2b940 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 .........(let.(buffer-read-only)
2b960 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 0a 20 20 ...........(put-text-property...
2b980 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 .........(point-min).(point-max)
2b9a0 20 27 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 72 65 61 74 65 2d 69 6d 61 .'display............(create-ima
2b9c0 67 65 20 69 6d 61 67 65 20 27 70 62 6d 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 73 74 ge.image.'pbm.t))).........(rest
2b9e0 6f 72 65 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 64 6a 76 75 2d 6d 6f 64 69 66 ore-buffer-modified-p.djvu-modif
2ba00 69 65 64 29 0a 20 20 20 20 20 20 20 20 28 69 6d 61 67 65 2d 66 6c 75 73 68 20 6f 6c 64 2d 69 6d ied).........(image-flush.old-im
2ba20 61 67 65 29 29 0a 20 20 20 20 3b 3b 20 52 65 73 74 6f 72 65 20 75 6e 6d 6f 64 69 66 69 65 64 20 age)).....;;.Restore.unmodified.
2ba40 69 6d 61 67 65 0a 20 20 20 20 28 6c 65 74 20 28 28 6f 6c 64 2d 69 6d 61 67 65 20 28 67 65 74 2d image.....(let.((old-image.(get-
2ba60 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 27 64 69 73 70 6c text-property.(point-min).'displ
2ba80 61 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 ay))...........buffer-read-only)
2baa0 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 20 6d 6f 64 69 66 69 65 64 20 66 6c 61 67 20 69 73 20 73 .......;;.The.modified.flag.is.s
2bac0 65 74 20 62 79 20 60 64 6a 76 75 2d 6d 6f 64 69 66 69 65 64 27 20 69 6e 20 60 70 6f 73 74 2d 63 et.by.`djvu-modified'.in.`post-c
2bae0 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 27 2e 0a 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 ommand-hook'........(put-text-pr
2bb00 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 0a 20 operty.(point-min).(point-max)..
2bb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 64 69 73 70 6c 61 79 ........................'display
2bb40 20 28 6e 74 68 63 64 72 20 32 20 28 64 6a 76 75 2d 72 65 66 20 69 6d 61 67 65 29 29 29 0a 20 20 .(nthcdr.2.(djvu-ref.image)))...
2bb60 20 20 20 20 28 69 6d 61 67 65 2d 66 6c 75 73 68 20 6f 6c 64 2d 69 6d 61 67 65 29 29 29 29 0a 0a ....(image-flush.old-image))))..
2bb80 28 64 65 66 75 6e 20 64 6a 76 75 2d 65 76 65 6e 74 2d 74 6f 2d 61 72 65 61 20 28 65 76 65 6e 74 (defun.djvu-event-to-area.(event
2bba0 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 6d 6f 75 73 65 .&optional.dir)..."Convert.mouse
2bbc0 20 45 56 45 4e 54 20 74 6f 20 44 6a 76 75 20 61 72 65 61 20 63 6f 6f 72 64 69 6e 61 74 65 73 2e .EVENT.to.Djvu.area.coordinates.
2bbe0 22 0a 20 20 28 6c 65 74 2a 20 28 28 65 2d 73 74 61 72 74 20 28 65 76 65 6e 74 2d 73 74 61 72 74 "...(let*.((e-start.(event-start
2bc00 20 65 76 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 2d 65 6e 64 20 20 20 28 65 76 65 6e .event))..........(e-end...(even
2bc20 74 2d 65 6e 64 20 20 20 65 76 65 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 5f 20 28 75 6e 6c t-end...event))..........(_.(unl
2bc40 65 73 73 20 28 61 6e 64 20 28 70 6f 73 6e 2d 69 6d 61 67 65 20 65 2d 73 74 61 72 74 29 20 28 70 ess.(and.(posn-image.e-start).(p
2bc60 6f 73 6e 2d 69 6d 61 67 65 20 65 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 osn-image.e-end))...............
2bc80 28 75 73 65 72 2d 65 72 72 6f 72 20 22 41 72 65 61 20 6e 6f 74 20 6f 76 65 72 20 69 6d 61 67 65 (user-error."Area.not.over.image
2bca0 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 20 28 70 6f 73 6e 2d 6f 62 6a 65 63 ")))..........(start.(posn-objec
2bcc0 74 2d 78 2d 79 20 65 2d 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 20 20 t-x-y.e-start))..........(end...
2bce0 28 70 6f 73 6e 2d 6f 62 6a 65 63 74 2d 78 2d 79 20 65 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 (posn-object-x-y.e-end))........
2bd00 20 20 28 78 31 20 28 63 61 72 20 73 74 61 72 74 29 29 20 28 79 31 20 28 63 64 72 20 73 74 61 72 ..(x1.(car.start)).(y1.(cdr.star
2bd20 74 29 29 20 28 78 32 20 28 63 61 72 20 65 6e 64 29 29 20 28 79 32 20 28 63 64 72 20 65 6e 64 29 t)).(x2.(car.end)).(y2.(cdr.end)
2bd40 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 7a 65 20 28 70 6f 73 6e 2d 6f 62 6a 65 63 74 2d 77 69 )..........(size.(posn-object-wi
2bd60 64 74 68 2d 68 65 69 67 68 74 20 65 2d 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 5f dth-height.e-start))..........(_
2bd80 20 28 69 66 20 28 65 71 75 61 6c 20 73 69 7a 65 20 27 28 30 20 2e 20 30 29 29 0a 20 20 20 20 20 .(if.(equal.size.'(0...0))......
2bda0 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 53 65 65 20 45 6d 61 63 73 20 62 75 67 ...........(error."See.Emacs.bug
2bdc0 23 31 38 38 33 39 20 28 47 4e 55 20 45 6d 61 63 73 20 32 34 2e 34 29 22 29 29 29 0a 20 20 20 20 #18839.(GNU.Emacs.24.4)"))).....
2bde0 20 20 20 20 20 28 77 69 64 74 68 20 20 28 2f 20 28 66 6c 6f 61 74 20 28 63 61 72 20 28 64 6a 76 .....(width..(/.(float.(car.(djv
2be00 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 29 29 29 20 28 63 61 72 20 73 69 7a 65 29 29 29 0a 20 u-ref.pagesize))).(car.size)))..
2be20 20 20 20 20 20 20 20 20 28 68 65 69 67 68 74 20 28 2f 20 28 66 6c 6f 61 74 20 28 63 64 72 20 28 ........(height.(/.(float.(cdr.(
2be40 64 6a 76 75 2d 72 65 66 20 70 61 67 65 73 69 7a 65 29 29 29 20 28 63 64 72 20 73 69 7a 65 29 29 djvu-ref.pagesize))).(cdr.size))
2be60 29 0a 20 20 20 20 20 20 20 20 20 28 61 72 65 61 0a 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 )..........(area...........(list
2be80 20 28 72 6f 75 6e 64 20 28 2a 20 28 69 66 20 28 6d 65 6d 71 20 64 69 72 20 27 28 76 65 72 74 20 .(round.(*.(if.(memq.dir.'(vert.
2bea0 66 72 65 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 free))..........................
2bec0 20 20 20 20 20 78 31 20 28 6d 69 6e 20 78 31 20 78 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .....x1.(min.x1.x2))............
2bee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 ...............width))..........
2bf00 20 20 20 20 20 20 20 28 72 6f 75 6e 64 20 28 2a 20 28 2d 20 28 63 64 72 20 73 69 7a 65 29 20 28 .......(round.(*.(-.(cdr.size).(
2bf20 69 66 20 28 6d 65 6d 71 20 64 69 72 20 27 28 68 6f 72 69 7a 20 66 72 65 65 29 29 0a 20 20 20 20 if.(memq.dir.'(horiz.free)).....
2bf40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2bf60 20 20 20 20 20 20 20 20 79 31 20 28 6d 61 78 20 79 31 20 79 32 29 29 29 0a 20 20 20 20 20 20 20 ........y1.(max.y1.y2)))........
2bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 69 67 68 74 29 29 0a 20 20 20 20 ...................height)).....
2bfa0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 6f 75 6e 64 20 28 2a 20 28 69 66 20 28 6d 65 6d 71 20 ............(round.(*.(if.(memq.
2bfc0 64 69 72 20 27 28 76 65 72 74 20 66 72 65 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dir.'(vert.free))...............
2bfe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 78 32 20 28 6d 61 78 20 78 31 20 78 32 29 29 0a ................x2.(max.x1.x2)).
2c000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 64 74 68 29 ..........................width)
2c020 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 6f 75 6e 64 20 28 2a 20 28 2d 20 28 ).................(round.(*.(-.(
2c040 63 64 72 20 73 69 7a 65 29 20 28 69 66 20 20 28 6d 65 6d 71 20 64 69 72 20 27 28 68 6f 72 69 7a cdr.size).(if..(memq.dir.'(horiz
2c060 20 66 72 65 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .free)).........................
2c080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 79 32 20 28 6d 69 6e 20 79 31 20 79 ....................y2.(min.y1.y
2c0a0 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 2)))...........................h
2c0c0 65 69 67 68 74 29 29 29 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 72 65 61 64 2d 70 6f eight))))).....(djvu-set.read-po
2c0e0 73 20 28 64 6a 76 75 2d 6d 65 61 6e 2d 64 70 6f 73 20 61 72 65 61 29 29 0a 20 20 20 20 61 72 65 s.(djvu-mean-dpos.area)).....are
2c100 61 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 72 65 63 74 2d 61 72 65 61 a))..(defun.djvu-mouse-rect-area
2c120 20 28 65 76 65 6e 74 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 3b .(event)...(interactive."e")...;
2c140 3b 20 4d 6f 75 73 65 20 65 76 65 6e 74 73 20 69 67 6e 6f 72 65 20 70 72 65 66 69 78 20 61 72 67 ;.Mouse.events.ignore.prefix.arg
2c160 73 3f 0a 20 20 28 64 6a 76 75 2d 77 69 74 68 2d 65 76 65 6e 74 2d 62 75 66 66 65 72 20 65 76 65 s?...(djvu-with-event-buffer.eve
2c180 6e 74 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 28 nt.....(unwind-protect.........(
2c1a0 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f let.((color.(djvu-interactive-co
2c1c0 6c 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 67 68 6c 69 67 68 74 29 29 0a 20 20 20 20 20 lor.djvu-color-highlight))......
2c1e0 20 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 20 52 45 43 54 53 20 66 69 72 73 74 20 61 73 20 74 68 .........;;.Do.RECTS.first.as.th
2c200 69 73 20 6d 61 79 20 74 68 72 6f 77 20 61 20 75 73 65 72 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 is.may.throw.a.user.error.......
2c220 20 20 20 20 20 20 20 20 20 28 72 65 63 74 73 20 28 6c 69 73 74 20 28 64 6a 76 75 2d 65 76 65 6e .........(rects.(list.(djvu-even
2c240 74 2d 74 6f 2d 61 72 65 61 20 65 76 65 6e 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 t-to-area.event))))...........(d
2c260 6a 76 75 2d 72 65 63 74 2d 61 72 65 61 20 6e 69 6c 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 jvu-rect-area.nil.(read-string.(
2c280 66 6f 72 6d 61 74 20 22 28 25 73 29 20 48 69 67 68 6c 69 67 68 74 3a 20 22 0a 20 20 20 20 20 20 format."(%s).Highlight:.".......
2c2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2c2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 63 6f 6c 6f 72 20 22 6e 6f 20 63 6f 6c 6f 72 .............(or.color."no.color
2c2e0 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")).............................
2c300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 64 6a 76 75 2d ...............nil.nil.nil.djvu-
2c320 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 inherit-input-method)...........
2c340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 63 74 73 20 63 6f 6c 6f 72 20 64 6a 76 75 ................rects.color.djvu
2c360 2d 6f 70 61 63 69 74 79 20 27 6e 6f 6e 65 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6d 61 -opacity.'none)).......(djvu-ima
2c380 67 65 2d 72 65 63 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 74 ge-rect))))..(defun.djvu-mouse-t
2c3a0 65 78 74 2d 61 72 65 61 20 28 65 76 65 6e 74 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 ext-area.(event)...(interactive.
2c3c0 22 65 22 29 0a 20 20 28 64 6a 76 75 2d 6d 6f 75 73 65 2d 74 65 78 74 2d 61 72 65 61 2d 69 6e 74 "e")...(djvu-mouse-text-area-int
2c3e0 65 72 6e 61 6c 20 65 76 65 6e 74 20 22 54 65 78 74 22 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 ernal.event."Text"))..(defun.djv
2c400 75 2d 6d 6f 75 73 65 2d 74 65 78 74 2d 61 72 65 61 2d 70 75 73 68 70 69 6e 20 28 65 76 65 6e 74 u-mouse-text-area-pushpin.(event
2c420 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 64 6a 76 75 2d 6d 6f )...(interactive."e")...(djvu-mo
2c440 75 73 65 2d 74 65 78 74 2d 61 72 65 61 2d 69 6e 74 65 72 6e 61 6c 20 65 76 65 6e 74 20 22 54 65 use-text-area-internal.event."Te
2c460 78 74 20 77 2f 50 75 73 68 70 69 6e 22 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d xt.w/Pushpin".t))..(defun.djvu-m
2c480 6f 75 73 65 2d 74 65 78 74 2d 61 72 65 61 2d 69 6e 74 65 72 6e 61 6c 20 28 65 76 65 6e 74 20 70 ouse-text-area-internal.(event.p
2c4a0 72 6f 6d 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 70 75 73 68 70 69 6e 29 0a 20 20 3b 3b 20 4d 6f rompt.&optional.pushpin)...;;.Mo
2c4c0 75 73 65 20 65 76 65 6e 74 73 20 69 67 6e 6f 72 65 20 70 72 65 66 69 78 20 61 72 67 73 3f 0a 20 use.events.ignore.prefix.args?..
2c4e0 20 28 64 6a 76 75 2d 77 69 74 68 2d 65 76 65 6e 74 2d 62 75 66 66 65 72 20 65 76 65 6e 74 0a 20 .(djvu-with-event-buffer.event..
2c500 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 ...(unwind-protect.........(let.
2c520 28 28 63 6f 6c 6f 72 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c 6f 72 20 ((color.(djvu-interactive-color.
2c540 64 6a 76 75 2d 63 6f 6c 6f 72 2d 68 69 67 68 6c 69 67 68 74 29 29 0a 20 20 20 20 20 20 20 20 20 djvu-color-highlight))..........
2c560 20 20 20 20 20 3b 3b 20 44 6f 20 41 52 45 41 20 66 69 72 73 74 20 61 73 20 74 68 69 73 20 6d 61 .....;;.Do.AREA.first.as.this.ma
2c580 79 20 74 68 72 6f 77 20 61 20 75 73 65 72 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 y.throw.a.user.error............
2c5a0 20 20 20 20 28 61 72 65 61 20 28 64 6a 76 75 2d 65 76 65 6e 74 2d 74 6f 2d 61 72 65 61 20 65 76 ....(area.(djvu-event-to-area.ev
2c5c0 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 74 65 78 74 2d 61 72 65 61 ent)))...........(djvu-text-area
2c5e0 20 6e 69 6c 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 20 .nil.(read-string.(format."(%s).
2c600 25 73 3a 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 %s:."...........................
2c620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 63 6f 6c .........................(or.col
2c640 6f 72 20 22 6e 6f 20 63 6f 6c 6f 72 22 29 20 70 72 6f 6d 70 74 29 0a 20 20 20 20 20 20 20 20 20 or."no.color").prompt)..........
2c660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2c680 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 64 6a 76 75 2d 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 ..nil.nil.nil.djvu-inherit-input
2c6a0 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -method)........................
2c6c0 20 20 20 61 72 65 61 20 6e 69 6c 20 28 64 6a 76 75 2d 63 6f 6c 6f 72 2d 62 61 63 6b 67 72 6f 75 ...area.nil.(djvu-color-backgrou
2c6e0 6e 64 20 63 6f 6c 6f 72 29 20 6e 69 6c 20 70 75 73 68 70 69 6e 29 29 0a 20 20 20 20 20 20 28 64 nd.color).nil.pushpin)).......(d
2c700 6a 76 75 2d 69 6d 61 67 65 2d 72 65 63 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d jvu-image-rect))))..(defun.djvu-
2c720 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 72 65 61 20 28 65 76 65 6e 74 29 0a 20 20 28 69 6e 74 65 72 mouse-line-area.(event)...(inter
2c740 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 64 6a 76 75 2d 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 active."e")...(djvu-mouse-line-a
2c760 72 65 61 2d 69 6e 74 65 72 6e 61 6c 20 65 76 65 6e 74 20 27 66 72 65 65 29 29 0a 0a 28 64 65 66 rea-internal.event.'free))..(def
2c780 75 6e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 72 65 61 2d 68 6f 72 69 7a 20 28 65 un.djvu-mouse-line-area-horiz.(e
2c7a0 76 65 6e 74 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 65 22 29 0a 20 20 28 64 6a 76 vent)...(interactive."e")...(djv
2c7c0 75 2d 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 72 65 61 2d 69 6e 74 65 72 6e 61 6c 20 65 76 65 6e 74 u-mouse-line-area-internal.event
2c7e0 20 27 68 6f 72 69 7a 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 6c 69 6e .'horiz))..(defun.djvu-mouse-lin
2c800 65 2d 61 72 65 61 2d 76 65 72 74 20 28 65 76 65 6e 74 29 0a 20 20 28 69 6e 74 65 72 61 63 74 69 e-area-vert.(event)...(interacti
2c820 76 65 20 22 65 22 29 0a 20 20 28 64 6a 76 75 2d 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 72 65 61 2d ve."e")...(djvu-mouse-line-area-
2c840 69 6e 74 65 72 6e 61 6c 20 65 76 65 6e 74 20 27 76 65 72 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 internal.event.'vert))..(defun.d
2c860 6a 76 75 2d 6d 6f 75 73 65 2d 6c 69 6e 65 2d 61 72 65 61 2d 69 6e 74 65 72 6e 61 6c 20 28 65 76 jvu-mouse-line-area-internal.(ev
2c880 65 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 28 64 6a 76 75 2d 77 69 74 68 2d ent.&optional.dir)...(djvu-with-
2c8a0 65 76 65 6e 74 2d 62 75 66 66 65 72 20 65 76 65 6e 74 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 event-buffer.event.....(unwind-p
2c8c0 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 20 4c 49 4e 45 20 66 69 72 73 74 20 rotect.........;;.Do.LINE.first.
2c8e0 61 73 20 74 68 69 73 20 6d 61 79 20 74 68 72 6f 77 20 61 20 75 73 65 72 20 65 72 72 6f 72 2e 0a as.this.may.throw.a.user.error..
2c900 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 69 6e 65 20 28 64 6a 76 75 2d 65 76 65 6e 74 ........(let*.((line.(djvu-event
2c920 2d 74 6f 2d 61 72 65 61 20 65 76 65 6e 74 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 -to-area.event.dir))............
2c940 20 20 20 20 28 63 6f 6c 6f 72 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 63 6f 6c ....(color.(djvu-interactive-col
2c960 6f 72 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 or.djvu-color-line))............
2c980 20 20 20 20 28 74 65 78 74 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 ....(text.(read-string.(format."
2c9a0 28 25 73 29 20 4c 69 6e 65 3a 20 22 20 28 6f 72 20 63 6f 6c 6f 72 20 22 6e 6f 20 63 6f 6c 6f 72 (%s).Line:.".(or.color."no.color
2c9c0 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")).............................
2c9e0 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 64 6a 76 75 2d 69 6e 68 65 72 69 74 2d 69 ......nil.nil.nil.djvu-inherit-i
2ca00 6e 70 75 74 2d 6d 65 74 68 6f 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 nput-method)))...........(cond.(
2ca20 28 65 71 20 64 69 72 20 27 68 6f 72 69 7a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (eq.dir.'horiz).................
2ca40 20 28 73 65 74 71 20 6c 69 6e 65 20 28 6c 69 73 74 20 28 6e 74 68 20 30 20 6c 69 6e 65 29 20 28 .(setq.line.(list.(nth.0.line).(
2ca60 6e 74 68 20 31 20 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nth.1.line).....................
2ca80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 32 20 6c 69 6e 65 29 20 28 6e 74 68 20 ..............(nth.2.line).(nth.
2caa0 31 20 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 1.line)))).................((eq.
2cac0 64 69 72 20 27 76 65 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 dir.'vert)..................(set
2cae0 71 20 6c 69 6e 65 20 28 6c 69 73 74 20 28 6e 74 68 20 30 20 6c 69 6e 65 29 20 28 6e 74 68 20 31 q.line.(list.(nth.0.line).(nth.1
2cb00 20 6c 69 6e 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 .line)..........................
2cb20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 30 20 6c 69 6e 65 29 20 28 6e 74 68 20 33 20 6c 69 6e .........(nth.0.line).(nth.3.lin
2cb40 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 6c 69 6e 65 2d 61 72 65 61 e)))))...........(djvu-line-area
2cb60 20 6e 69 6c 20 74 65 78 74 20 6c 69 6e 65 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 .nil.text.line.nil.nil..........
2cb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6a 76 75 2d 6c 69 6e 65 2d 77 69 64 74 68 .................djvu-line-width
2cba0 20 64 6a 76 75 2d 63 6f 6c 6f 72 2d 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 .djvu-color-line)).......(djvu-i
2cbc0 6d 61 67 65 2d 72 65 63 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 6c 69 6e 65 2d mage-rect))))..(defun.djvu-line-
2cbe0 61 72 65 61 20 28 75 72 6c 20 74 65 78 74 20 6c 69 6e 65 20 26 6f 70 74 69 6f 6e 61 6c 20 62 6f area.(url.text.line.&optional.bo
2cc00 72 64 65 72 20 61 72 72 6f 77 20 77 69 64 74 68 20 6c 69 6e 65 63 6c 72 29 0a 20 20 3b 3b 20 52 rder.arrow.width.lineclr)...;;.R
2cc20 65 63 6f 72 64 20 70 6f 73 69 74 69 6f 6e 20 77 68 65 72 65 20 61 6e 6e 6f 74 61 74 69 6f 6e 20 ecord.position.where.annotation.
2cc40 77 61 73 20 6d 61 64 65 2e 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 was.made....(with-current-buffer
2cc60 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 29 0a 20 20 20 20 28 67 6f 74 6f 2d .(djvu-ref.annot-buf).....(goto-
2cc80 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 3b 3b 20 49 74 20 73 65 65 6d char.(point-max)).....;;.It.seem
2cca0 73 20 74 68 61 74 20 54 45 58 54 20 69 73 20 69 67 6e 6f 72 65 64 20 62 79 20 64 6a 76 69 65 77 s.that.TEXT.is.ignored.by.djview
2ccc0 2e 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 28 6d 61 70 61 72 65 61 20 ......(insert.(format."(maparea.
2cce0 25 53 5c 6e 20 25 53 5c 6e 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %S\n.%S\n.".....................
2cd00 28 6f 72 20 75 72 6c 20 22 22 29 20 28 69 66 20 74 65 78 74 20 28 64 6a 76 75 2d 66 69 6c 6c 20 (or.url."").(if.text.(djvu-fill.
2cd20 74 65 78 74 29 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 66 text)."")).............(apply.'f
2cd40 6f 72 6d 61 74 20 22 28 6c 69 6e 65 20 25 64 20 25 64 20 25 64 20 25 64 29 22 20 28 64 6a 76 75 ormat."(line.%d.%d.%d.%d)".(djvu
2cd60 2d 62 6f 75 6e 64 2d 61 72 65 61 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b -bound-area.line)).............;
2cd80 3b 20 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 53 65 63 2e 20 38 2e 33 2e 34 2e 32 2e 33 2e 31 20 ;.According.to.Sec..8.3.4.2.3.1.
2cda0 6f 66 20 64 6a 76 75 33 73 70 65 63 2e 64 6a 76 75 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b of.djvu3spec.djvu.............;;
2cdc0 20 6c 69 6e 65 73 20 6d 61 79 20 68 61 76 65 20 62 6f 72 64 65 72 20 6f 70 74 69 6f 6e 73 2e 0a .lines.may.have.border.options..
2cde0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 61 6e 20 64 6a 76 75 73 65 64 3a 20 42 6f 72 64 ............;;.Man.djvused:.Bord
2ce00 65 72 20 6f 70 74 69 6f 6e 73 20 64 6f 20 6e 6f 74 20 61 70 70 6c 79 20 74 6f 20 6c 69 6e 65 20 er.options.do.not.apply.to.line.
2ce20 61 72 65 61 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 28 25 73 areas..............(format.".(%s
2ce40 29 22 20 28 6f 72 20 62 6f 72 64 65 72 20 27 6e 6f 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 )".(or.border.'none))...........
2ce60 20 20 28 69 66 20 61 72 72 6f 77 20 22 20 28 61 72 72 6f 77 29 22 20 22 22 29 0a 20 20 20 20 20 ..(if.arrow.".(arrow)"."")......
2ce80 20 20 20 20 20 20 20 28 69 66 20 77 69 64 74 68 20 28 66 6f 72 6d 61 74 20 22 20 28 77 69 64 74 .......(if.width.(format.".(widt
2cea0 68 20 25 64 29 22 20 77 69 64 74 68 29 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 h.%d)".width)."").............(d
2cec0 6a 76 75 2d 69 6e 73 65 72 74 2d 63 6f 6c 6f 72 20 22 6c 69 6e 65 63 6c 72 22 20 6c 69 6e 65 63 jvu-insert-color."lineclr".linec
2cee0 6c 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 29 5c 6e 5c 6e 22 29 0a 20 20 20 20 28 75 6e lr).............")\n\n").....(un
2cf00 64 6f 2d 62 6f 75 6e 64 61 72 79 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 74 65 78 74 do-boundary)))..(defun.djvu-text
2cf20 2d 6c 69 6e 65 2d 61 72 65 61 20 28 73 74 72 69 6e 67 20 61 72 65 61 20 26 6f 70 74 69 6f 6e 61 -line-area.(string.area.&optiona
2cf40 6c 20 64 6f 63 29 0a 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 64 l.doc)...(with-current-buffer.(d
2cf60 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 20 64 6f 63 29 0a 20 20 20 20 28 67 6f 74 6f 2d jvu-ref.text-buf.doc).....(goto-
2cf80 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 28 73 6b 69 70 2d 63 68 61 72 char.(point-max)).....(skip-char
2cfa0 73 2d 62 61 63 6b 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 0a 20 20 20 20 28 62 61 63 6b 77 61 72 s-backward.".\t\n").....(backwar
2cfc0 64 2d 63 68 61 72 29 20 3b 20 22 29 22 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 61 70 70 6c 79 d-char).;.")".....(insert.(apply
2cfe0 20 27 66 6f 72 6d 61 74 20 22 5c 6e 20 28 6c 69 6e 65 20 25 64 20 25 64 20 25 64 20 25 64 22 20 .'format."\n.(line.%d.%d.%d.%d".
2d000 61 72 65 61 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 2d 6c 69 73 74 20 28 73 70 area)).....(let*.((word-list.(sp
2d020 6c 69 74 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 lit-string.string))............(
2d040 6e 20 28 2b 20 28 6c 65 6e 67 74 68 20 28 61 70 70 6c 79 20 27 63 6f 6e 63 61 74 20 77 6f 72 64 n.(+.(length.(apply.'concat.word
2d060 2d 6c 69 73 74 29 29 20 3b 20 23 20 77 6f 72 64 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 -list)).;.#.word.characters.....
2d080 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 31 20 28 6c 65 6e 67 74 68 20 77 6f 72 64 2d 6c 69 73 .............-1.(length.word-lis
2d0a0 74 29 29 29 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 23 20 73 70 61 63 65 73 0a 20 20 20 20 20 t)))............;.#.spaces......
2d0c0 20 20 20 20 20 20 28 6d 31 20 30 29 20 28 6d 32 20 28 31 2b 20 6e 29 29 0a 20 20 20 20 20 20 20 ......(m1.0).(m2.(1+.n))........
2d0e0 20 20 20 20 28 78 31 20 28 6e 74 68 20 30 20 61 72 65 61 29 29 20 28 78 32 20 28 6e 74 68 20 32 ....(x1.(nth.0.area)).(x2.(nth.2
2d100 20 61 72 65 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 74 68 20 28 2f 20 28 2d 20 .area))............(width.(/.(-.
2d120 78 32 20 78 31 29 20 28 66 6c 6f 61 74 20 6e 29 29 29 20 20 20 20 20 20 20 20 20 20 3b 20 70 69 x2.x1).(float.n)))..........;.pi
2d140 78 65 6c 73 20 70 65 72 20 63 68 61 72 61 63 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 77 6f xels.per.character............wo
2d160 72 64 29 0a 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 20 28 6c 65 6e 67 74 68 20 77 6f rd).......(dotimes.(i.(length.wo
2d180 72 64 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 6e 74 rd-list)).........(setq.word.(nt
2d1a0 68 20 69 20 77 6f 72 64 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 32 h.i.word-list)).........(setq.m2
2d1c0 20 28 2d 20 6d 32 20 31 20 28 6c 65 6e 67 74 68 20 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 20 .(-.m2.1.(length.word)))........
2d1e0 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 5c 6e 20 20 28 77 6f 72 64 20 25 64 20 25 .(insert.(format."\n..(word.%d.%
2d200 64 20 25 64 20 25 64 20 25 53 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.%d.%d.%S)"....................
2d220 20 20 20 20 20 28 2b 20 78 31 20 28 72 6f 75 6e 64 20 28 2a 20 6d 31 20 77 69 64 74 68 29 29 29 .....(+.x1.(round.(*.m1.width)))
2d240 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 28 6e 74 68 20 31 20 .........................(nth.1.
2d260 61 72 65 61 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 28 2d area).........................(-
2d280 20 78 32 20 28 72 6f 75 6e 64 20 28 2a 20 6d 32 20 77 69 64 74 68 29 29 29 0a 20 20 20 20 20 20 .x2.(round.(*.m2.width))).......
2d2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 33 20 61 72 65 61 29 0a 20 ..................(nth.3.area)..
2d2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 29 0a 20 20 .......................word))...
2d2e0 20 20 20 20 20 20 28 73 65 74 71 20 6d 31 20 28 2b 20 6d 31 20 31 20 28 6c 65 6e 67 74 68 20 77 ......(setq.m1.(+.m1.1.(length.w
2d300 6f 72 64 29 29 29 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 22 29 22 29 29 29 0a 0a 28 64 65 ord))))).....(insert.")")))..(de
2d320 66 75 6e 20 64 6a 76 75 2d 6d 6f 75 73 65 2d 77 6f 72 64 2d 61 72 65 61 20 28 65 76 65 6e 74 29 fun.djvu-mouse-word-area.(event)
2d340 0a 20 20 22 49 6e 73 65 72 74 20 77 6f 72 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 ..."Insert.word."...(interactive
2d360 20 22 65 22 29 0a 20 20 28 64 6a 76 75 2d 77 69 74 68 2d 65 76 65 6e 74 2d 62 75 66 66 65 72 20 ."e")...(djvu-with-event-buffer.
2d380 65 76 65 6e 74 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 event.....(unwind-protect.......
2d3a0 20 20 3b 3b 20 44 6f 20 41 52 45 41 20 66 69 72 73 74 20 61 73 20 74 68 69 73 20 6d 61 79 20 74 ..;;.Do.AREA.first.as.this.may.t
2d3c0 68 72 6f 77 20 61 20 75 73 65 72 20 65 72 72 6f 72 2e 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 hrow.a.user.error..........(let.
2d3e0 28 28 61 72 65 61 20 28 64 6a 76 75 2d 65 76 65 6e 74 2d 74 6f 2d 61 72 65 61 20 65 76 65 6e 74 ((area.(djvu-event-to-area.event
2d400 29 29 29 0a 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 66 66 )))...........(with-current-buff
2d420 65 72 20 28 64 6a 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 er.(djvu-ref.text-buf)..........
2d440 20 20 20 28 64 6a 76 75 2d 74 65 78 74 2d 6c 69 6e 65 2d 61 72 65 61 20 28 72 65 61 64 2d 73 74 ...(djvu-text-line-area.(read-st
2d460 72 69 6e 67 20 22 54 65 78 74 3a 20 22 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 ring."Text:.".nil.nil.nil.......
2d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2d4a0 20 20 20 20 20 20 20 20 64 6a 76 75 2d 69 6e 68 65 72 69 74 2d 69 6e 70 75 74 2d 6d 65 74 68 6f ........djvu-inherit-input-metho
2d4c0 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d)..............................
2d4e0 20 20 20 20 61 72 65 61 29 29 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6d 61 67 65 2d 72 65 ....area))).......(djvu-image-re
2d500 63 74 29 29 29 29 0a 0a 3b 3b 3b 20 4d 69 73 63 65 6c 6c 61 6e 65 6f 75 73 20 63 6f 6d 6d 61 6e ct))))..;;;.Miscellaneous.comman
2d520 64 73 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 70 61 67 65 ds..(defun.djvu-interactive-page
2d540 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 53 70 65 63 69 66 79 20 70 61 67 s.(&optional.doc)..."Specify.pag
2d560 65 20 72 61 6e 67 65 20 74 6f 20 6f 70 65 72 61 74 65 20 6f 6e 20 69 6e 20 69 6e 74 65 72 61 63 e.range.to.operate.on.in.interac
2d580 74 69 76 65 20 63 61 6c 6c 73 2e 0a 57 69 74 68 6f 75 74 20 61 20 70 72 65 66 69 78 2c 20 72 65 tive.calls..Without.a.prefix,.re
2d5a0 74 75 72 6e 20 6e 69 6c 20 6d 65 61 6e 69 6e 67 20 5c 22 61 6c 6c 20 70 61 67 65 73 5c 22 2e 0a turn.nil.meaning.\"all.pages\"..
2d5c0 4f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 20 61 20 63 6f 6e 73 20 70 61 69 72 20 28 50 41 Otherwise.return.a.cons.pair.(PA
2d5e0 47 45 31 20 2e 20 50 41 47 45 32 29 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 43 2d 75 2c 20 74 GE1...PAGE2)..With.prefix.C-u,.t
2d600 68 69 73 20 62 65 63 6f 6d 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 61 67 65 2e 0a 57 69 his.becomes.the.current.page..Wi
2d620 74 68 20 70 72 65 66 69 78 20 43 2d 75 20 43 2d 75 2c 20 72 65 61 64 20 70 61 67 65 20 72 61 6e th.prefix.C-u.C-u,.read.page.ran
2d640 67 65 20 66 72 6f 6d 20 6d 69 6e 69 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61 ge.from.minibuffer."...(let.((pa
2d660 67 65 73 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 27 28 31 36 29 20 63 75 72 72 65 6e 74 2d ges.(cond.((equal.'(16).current-
2d680 70 72 65 66 69 78 2d 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 prefix-arg).....................
2d6a0 20 20 28 63 6f 6e 73 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 46 69 72 73 74 20 70 61 67 65 ..(cons.(read-number."First.page
2d6c0 3a 20 22 20 31 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 :.".1)..........................
2d6e0 20 20 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 4c 61 73 74 20 70 61 67 65 3a 20 22 0a 20 20 ...(read-number."Last.page:."...
2d700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2d720 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 29 29 29 .......(djvu-ref.pagemax.doc))))
2d740 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 70 ......................(current-p
2d760 72 65 66 69 78 2d 61 72 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 refix-arg.......................
2d780 28 63 6f 6e 73 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 20 28 64 6a 76 75 2d (cons.(djvu-ref.page.doc).(djvu-
2d7a0 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 52 65 74 75 72 6e ref.page.doc)))))).....;;.Return
2d7c0 20 63 6f 6e 73 20 28 53 54 52 49 4e 47 20 2e 20 50 41 47 45 53 29 2e 0a 20 20 20 20 28 63 6f 6e .cons.(STRING...PAGES)......(con
2d7e0 73 20 28 69 66 20 70 61 67 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 s.(if.pages...............(if.(e
2d800 71 20 28 63 61 72 20 70 61 67 65 73 29 20 28 63 64 72 20 70 61 67 65 73 29 29 0a 20 20 20 20 20 q.(car.pages).(cdr.pages))......
2d820 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 28 63 61 72 20 70 61 67 65 73 29 .............(if.(eq.(car.pages)
2d840 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 20 22 63 75 72 72 65 6e 74 20 70 .(djvu-ref.page.doc))."current.p
2d860 61 67 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 age".....................(format
2d880 20 22 70 61 67 65 20 25 64 22 20 28 63 61 72 20 70 61 67 65 73 29 29 29 0a 20 20 20 20 20 20 20 ."page.%d".(car.pages)))........
2d8a0 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 70 61 67 65 73 20 25 64 2d 25 64 22 20 28 .........(format."pages.%d-%d".(
2d8c0 63 61 72 20 70 61 67 65 73 29 20 28 63 64 72 20 70 61 67 65 73 29 29 29 0a 20 20 20 20 20 20 20 car.pages).(cdr.pages)))........
2d8e0 20 20 20 20 20 22 61 6c 6c 20 70 61 67 65 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 70 61 67 65 ....."all.pages")...........page
2d900 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 70 61 67 65 73 2d 61 63 74 69 6f 6e 20 28 s)))..(defun.djvu-pages-action.(
2d920 70 61 67 65 73 20 61 63 74 69 6f 6e 20 64 6f 63 29 0a 20 20 22 41 70 70 6c 79 20 41 43 54 49 4f pages.action.doc)..."Apply.ACTIO
2d940 4e 20 74 6f 20 50 41 47 45 53 20 6f 66 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e N.to.PAGES.of.Djvu.document.DOC.
2d960 0a 49 66 20 50 41 47 45 53 20 69 73 20 6e 69 6c 2c 20 6f 70 65 72 61 74 65 20 6f 6e 20 61 6c 6c .If.PAGES.is.nil,.operate.on.all
2d980 20 70 61 67 65 73 2e 0a 4f 74 68 65 72 77 69 73 65 20 50 41 47 45 53 20 69 73 20 61 20 63 6f 6e .pages..Otherwise.PAGES.is.a.con
2d9a0 73 20 70 61 69 72 20 28 50 41 47 45 31 20 2e 20 50 41 47 45 32 29 2e 22 0a 20 20 28 75 6e 6c 65 s.pair.(PAGE1...PAGE2)."...(unle
2d9c0 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 28 64 ss.doc.(setq.doc.djvu-doc))...(d
2d9e0 6a 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 28 69 66 20 70 61 67 65 73 0a 20 20 20 20 jvu-save.doc.t)...(if.pages.....
2da00 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 6f 63 20 6e 69 6c 20 22 2d 65 22 0a 20 20 20 ..(djvu-djvused.doc.nil."-e"....
2da20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 .................(mapconcat.....
2da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 61 67 65 29 0a .................(lambda.(page).
2da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 .......................(format."
2da80 73 65 6c 65 63 74 20 25 73 3b 20 25 73 22 20 70 61 67 65 20 61 63 74 69 6f 6e 29 29 0a 20 20 20 select.%s;.%s".page.action))....
2daa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 2d 73 65 71 75 65 6e ..................(number-sequen
2dac0 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 31 20 ce.......................(max.1.
2dae0 28 63 61 72 20 70 61 67 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (car.pages))....................
2db00 20 20 20 28 6d 69 6e 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 20 28 ...(min.(djvu-ref.pagemax.doc).(
2db20 63 64 72 20 70 61 67 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cdr.pages)))....................
2db40 20 20 22 3b 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 22 ..";.")....................."-s"
2db60 29 0a 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 6f 63 20 6e 69 6c 20 22 2d 65 22 ).....(djvu-djvused.doc.nil."-e"
2db80 0a 20 20 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 73 65 6c 65 ...................(format."sele
2dba0 63 74 3b 20 25 73 22 20 61 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ct;.%s".action).................
2dbc0 20 20 22 2d 73 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 64 70 69 20 28 64 70 69 20 .."-s")))..(defun.djvu-dpi.(dpi.
2dbe0 26 6f 70 74 69 6f 6e 61 6c 20 70 61 67 65 73 20 64 6f 63 29 0a 20 20 22 53 65 74 20 44 50 49 20 &optional.pages.doc)..."Set.DPI.
2dc00 72 65 73 6f 6c 75 74 69 6f 6e 20 6f 66 20 64 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e resolution.of.djvu.document.DOC.
2dc20 0a 49 66 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 50 41 47 45 53 20 69 73 20 6e 69 6c 2c 20 6f .If.optional.arg.PAGES.is.nil,.o
2dc40 70 65 72 61 74 65 20 6f 6e 20 61 6c 6c 20 70 61 67 65 73 2e 0a 4f 74 68 65 72 77 69 73 65 20 50 perate.on.all.pages..Otherwise.P
2dc60 41 47 45 53 20 69 73 20 61 20 63 6f 6e 73 20 70 61 69 72 20 28 50 41 47 45 31 20 2e 20 50 41 47 AGES.is.a.cons.pair.(PAGE1...PAG
2dc80 45 32 29 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 43 2d 75 2c 20 50 41 47 45 53 20 62 65 63 6f E2)..With.prefix.C-u,.PAGES.beco
2dca0 6d 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 61 67 65 2e 0a 57 69 74 68 20 70 72 65 66 69 mes.the.current.page..With.prefi
2dcc0 78 20 43 2d 75 20 43 2d 75 2c 20 72 65 61 64 20 72 61 6e 67 65 20 50 41 47 45 53 20 66 72 6f 6d x.C-u.C-u,.read.range.PAGES.from
2dce0 20 6d 69 6e 69 62 75 66 66 65 72 2e 22 0a 20 20 3b 3b 20 50 41 47 45 53 20 63 6f 75 6c 64 20 61 .minibuffer."...;;.PAGES.could.a
2dd00 6c 73 6f 20 62 65 20 61 20 70 72 6f 70 65 72 20 6c 69 73 74 2e 20 20 55 73 65 66 75 6c 3f 3f 0a lso.be.a.proper.list...Useful??.
2dd20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 65 74 20 28 28 70 61 67 65 73 20 28 ..(interactive....(let.((pages.(
2dd40 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 70 61 67 65 73 29 29 29 0a 20 20 20 20 20 28 djvu-interactive-pages)))......(
2dd60 6c 69 73 74 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 20 list.(read-number.(format."(%s).
2dd80 44 70 69 3a 20 22 20 28 63 61 72 20 70 61 67 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 Dpi:.".(car.pages)))............
2dda0 28 63 64 72 20 70 61 67 65 73 29 29 29 29 0a 20 20 28 64 6a 76 75 2d 70 61 67 65 73 2d 61 63 74 (cdr.pages))))...(djvu-pages-act
2ddc0 69 6f 6e 20 70 61 67 65 73 20 28 66 6f 72 6d 61 74 20 22 73 65 74 2d 64 70 69 20 25 64 22 20 64 ion.pages.(format."set-dpi.%d".d
2dde0 70 69 29 20 64 6f 63 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 64 70 69 2d 75 6e 69 66 79 pi).doc))..(defun.djvu-dpi-unify
2de00 20 28 77 69 64 74 68 20 64 70 69 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 55 6e .(width.dpi.&optional.doc)..."Un
2de20 69 66 79 20 74 68 65 20 72 61 74 69 6f 20 57 49 44 54 48 20 2f 20 44 50 49 20 6f 66 20 61 6c 6c ify.the.ratio.WIDTH./.DPI.of.all
2de40 20 70 61 67 65 73 20 6f 66 20 61 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 0a 49 66 20 74 68 .pages.of.a.Djvu.document..If.th
2de60 65 20 77 69 64 74 68 20 6f 66 20 61 20 70 61 67 65 20 65 78 63 65 65 64 73 20 57 49 44 54 48 2c e.width.of.a.page.exceeds.WIDTH,
2de80 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 70 61 67 65 20 72 65 73 6f 6c 75 74 69 6f 6e 20 44 50 .increase.the.page.resolution.DP
2dea0 49 0a 61 63 63 6f 72 64 69 6e 67 6c 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 I.accordingly."...(interactive."
2dec0 6e 57 69 64 74 68 3a 20 5c 6e 6e 57 69 64 74 68 3a 20 25 73 2c 20 64 70 69 3a 20 22 29 0a 20 20 nWidth:.\nnWidth:.%s,.dpi:.")...
2dee0 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 (unless.doc.(setq.doc.djvu-doc))
2df00 0a 20 20 28 6c 65 74 20 28 6a 6f 62 29 0a 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 ...(let.(job).....(with-temp-buf
2df20 66 65 72 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 6f 63 20 74 20 22 2d fer.......(djvu-djvused.doc.t."-
2df40 65 22 20 22 73 69 7a 65 22 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 e"."size").......(goto-char.(poi
2df60 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 67 65 20 30 29 29 0a 20 nt-min)).......(let.((page.0))..
2df80 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6c 6f 6f 6b 69 6e 67 2d 61 74 20 22 77 69 64 74 68 .......(while.(looking-at."width
2dfa0 3d 5c 5c 28 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 22 29 0a 20 20 20 20 20 20 20 20 20 20 =\\([[:digit:]]+\\)")...........
2dfc0 28 73 65 74 71 20 70 61 67 65 20 28 31 2b 20 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 (setq.page.(1+.page))...........
2dfe0 28 6c 65 74 20 28 28 64 20 28 2f 20 28 2a 20 28 64 6a 76 75 2d 6d 61 74 63 68 2d 6e 75 6d 62 65 (let.((d.(/.(*.(djvu-match-numbe
2e000 72 20 31 29 20 64 70 69 29 20 77 69 64 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 r.1).dpi).width))).............(
2e020 69 66 20 28 3c 20 64 70 69 20 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 if.(<.dpi.d).................(pu
2e040 73 68 20 28 63 6f 6e 73 20 70 61 67 65 20 64 29 20 6a 6f 62 29 29 29 0a 20 20 20 20 20 20 20 20 sh.(cons.page.d).job))).........
2e060 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 6f 74 ..(forward-line)))).....(if.(not
2e080 20 6a 6f 62 29 0a 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4e 6f 74 68 69 6e 67 20 .job).........(message."Nothing.
2e0a0 74 6f 20 75 6e 69 66 79 22 29 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 to.unify").......(djvu-djvused.d
2e0c0 6f 63 20 6e 69 6c 20 22 2d 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oc.nil."-e".....................
2e0e0 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 65 6c 74 29 0a 20 20 20 20 20 20 20 (mapconcat.(lambda.(elt)........
2e100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 ..........................(forma
2e120 74 20 22 73 65 6c 65 63 74 20 25 73 3b 20 73 65 74 2d 64 70 69 20 25 64 22 0a 20 20 20 20 20 20 t."select.%s;.set-dpi.%d".......
2e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2e160 20 20 20 28 63 61 72 20 65 6c 74 29 20 28 63 64 72 20 65 6c 74 29 29 29 0a 20 20 20 20 20 20 20 ...(car.elt).(cdr.elt)))........
2e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 6f 62 20 22 3b 20 22 ........................job.";."
2e1a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 22 29 0a 20 20 20 20 )....................."-s").....
2e1c0 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 20 70 61 67 65 73 20 75 70 64 61 74 65 64 3a 20 25 73 ..(message."%s.pages.updated:.%s
2e1e0 22 20 28 6c 65 6e 67 74 68 20 6a 6f 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ".(length.job)................(m
2e200 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 20 28 65 6c 74 29 20 28 66 6f 72 6d 61 74 20 22 apconcat.(lambda.(elt).(format."
2e220 25 64 22 20 28 63 61 72 20 65 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %d".(car.elt))).................
2e240 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6a 6f 62 29 20 22 2c 20 22 29 29 29 ..........(nreverse.job).",.")))
2e260 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 6f 74 61 74 65 20 28 26 6f 70 74 69 6f 6e 61 ))..(defun.djvu-rotate.(&optiona
2e280 6c 20 72 6f 74 20 70 61 67 65 73 20 64 6f 63 29 0a 20 20 22 53 65 74 20 72 6f 74 61 74 69 6f 6e l.rot.pages.doc)..."Set.rotation
2e2a0 20 6f 66 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e 0a 54 68 65 20 72 6f 74 61 74 .of.Djvu.document.DOC..The.rotat
2e2c0 69 6f 6e 20 61 6e 67 6c 65 20 52 4f 54 20 69 73 20 69 6e 20 6d 75 6c 74 69 70 6c 65 73 20 6f 66 ion.angle.ROT.is.in.multiples.of
2e2e0 20 39 30 20 64 65 67 72 65 65 73 20 63 6f 75 6e 74 65 72 63 6c 6f 63 6b 77 69 73 65 2e 0a 49 66 .90.degrees.counterclockwise..If
2e300 20 73 74 72 69 6e 67 20 52 4f 54 20 68 61 73 20 70 72 65 66 69 78 20 5b 2b 2d 5d 20 61 70 70 6c .string.ROT.has.prefix.[+-].appl
2e320 79 20 72 65 6c 61 74 69 76 65 20 72 6f 74 61 74 69 6f 6e 2e 0a 49 66 20 6f 70 74 69 6f 6e 61 6c y.relative.rotation..If.optional
2e340 20 61 72 67 20 50 41 47 45 53 20 69 73 20 6e 69 6c 2c 20 6f 70 65 72 61 74 65 20 6f 6e 20 61 6c .arg.PAGES.is.nil,.operate.on.al
2e360 6c 20 70 61 67 65 73 2e 0a 4f 74 68 65 72 77 69 73 65 20 50 41 47 45 53 20 69 73 20 61 20 63 6f l.pages..Otherwise.PAGES.is.a.co
2e380 6e 73 20 70 61 69 72 20 28 50 41 47 45 31 20 2e 20 50 41 47 45 32 29 2e 0a 57 69 74 68 20 70 72 ns.pair.(PAGE1...PAGE2)..With.pr
2e3a0 65 66 69 78 20 43 2d 75 2c 20 50 41 47 45 53 20 62 65 63 6f 6d 65 73 20 74 68 65 20 63 75 72 72 efix.C-u,.PAGES.becomes.the.curr
2e3c0 65 6e 74 20 70 61 67 65 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 43 2d 75 20 43 2d 75 2c 20 72 ent.page..With.prefix.C-u.C-u,.r
2e3e0 65 61 64 20 72 61 6e 67 65 20 50 41 47 45 53 20 66 72 6f 6d 20 6d 69 6e 69 62 75 66 66 65 72 2e ead.range.PAGES.from.minibuffer.
2e400 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 65 74 20 28 28 70 61 67 65 73 "...(interactive....(let.((pages
2e420 20 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 70 61 67 65 73 29 29 29 0a 20 20 20 20 .(djvu-interactive-pages))).....
2e440 20 28 6c 69 73 74 20 28 72 65 61 64 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(list.(read-string.............
2e460 28 66 6f 72 6d 61 74 20 22 28 25 73 29 20 52 6f 74 61 74 65 20 28 5b 2b 2d 5d 30 2e 2e 2e 33 2c (format."(%s).Rotate.([+-]0...3,
2e480 20 64 65 66 61 75 6c 74 20 2b 31 29 3a 20 22 20 28 63 61 72 20 70 61 67 65 73 29 29 0a 20 20 20 .default.+1):.".(car.pages))....
2e4a0 20 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 22 2b 31 22 29 0a 20 20 20 20 20 20 20 20 20 .........nil.nil."+1")..........
2e4c0 20 20 28 63 64 72 20 70 61 67 65 73 29 29 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 6f 72 20 28 6e ..(cdr.pages))))...(cond.((or.(n
2e4e0 6f 74 20 72 6f 74 29 20 28 65 71 75 61 6c 20 72 6f 74 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 ot.rot).(equal.rot."")).........
2e500 20 28 73 65 74 71 20 72 6f 74 20 22 2b 31 22 29 29 0a 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 .(setq.rot."+1")).........((not.
2e520 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5b 2d 2b 5d 3f 5b 30 31 32 33 5d 5c 5c 27 (string-match."\\`[-+]?[0123]\\'
2e540 22 20 72 6f 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 44 6a ".rot))..........(user-error."Dj
2e560 76 75 20 72 6f 74 61 74 69 6f 6e 20 60 25 73 27 20 69 6e 76 61 6c 69 64 22 20 72 6f 74 29 29 29 vu.rotation.`%s'.invalid".rot)))
2e580 0a 20 20 28 64 6a 76 75 2d 70 61 67 65 73 2d 61 63 74 69 6f 6e 20 70 61 67 65 73 20 28 66 6f 72 ...(djvu-pages-action.pages.(for
2e5a0 6d 61 74 20 22 73 65 74 2d 72 6f 74 61 74 69 6f 6e 20 25 73 22 20 72 6f 74 29 20 64 6f 63 29 29 mat."set-rotation.%s".rot).doc))
2e5c0 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 70 61 67 65 2d 74 69 74 6c 65 20 28 74 69 74 6c 65 20 ..(defun.djvu-page-title.(title.
2e5e0 26 6f 70 74 69 6f 6e 61 6c 20 70 61 67 65 73 20 64 6f 63 29 0a 20 20 22 53 65 74 20 70 61 67 65 &optional.pages.doc)..."Set.page
2e600 20 54 49 54 4c 45 20 6f 66 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 20 44 4f 43 2e 0a 49 66 20 .TITLE.of.Djvu.document.DOC..If.
2e620 54 49 54 4c 45 20 69 73 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 6f 72 20 6e 69 6c 20 72 65 6d TITLE.is.empty.string.or.nil.rem
2e640 6f 76 65 20 70 61 67 65 20 74 69 74 6c 65 2e 0a 49 66 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 ove.page.title..If.optional.arg.
2e660 50 41 47 45 53 20 69 73 20 6e 69 6c 2c 20 6f 70 65 72 61 74 65 20 6f 6e 20 61 6c 6c 20 70 61 67 PAGES.is.nil,.operate.on.all.pag
2e680 65 73 2e 0a 4f 74 68 65 72 77 69 73 65 20 50 41 47 45 53 20 69 73 20 61 20 63 6f 6e 73 20 70 61 es..Otherwise.PAGES.is.a.cons.pa
2e6a0 69 72 20 28 50 41 47 45 31 20 2e 20 50 41 47 45 32 29 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 ir.(PAGE1...PAGE2)..With.prefix.
2e6c0 43 2d 75 2c 20 50 41 47 45 53 20 62 65 63 6f 6d 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 C-u,.PAGES.becomes.the.current.p
2e6e0 61 67 65 2e 0a 57 69 74 68 20 70 72 65 66 69 78 20 43 2d 75 20 43 2d 75 2c 20 72 65 61 64 20 72 age..With.prefix.C-u.C-u,.read.r
2e700 61 6e 67 65 20 50 41 47 45 53 20 66 72 6f 6d 20 6d 69 6e 69 62 75 66 66 65 72 2e 22 0a 20 20 3b ange.PAGES.from.minibuffer."...;
2e720 3b 20 46 69 78 6d 65 3a 20 77 65 20 63 6f 75 6c 64 20 61 6c 73 6f 20 67 65 6e 65 72 61 74 65 20 ;.Fixme:.we.could.also.generate.
2e740 73 6f 6d 65 20 67 65 6e 65 72 69 63 20 64 69 73 74 69 6e 63 74 20 74 69 74 6c 65 0a 20 20 3b 3b some.generic.distinct.title...;;
2e760 20 66 6f 72 20 65 61 63 68 20 70 61 67 65 2e 20 20 49 73 20 74 68 69 73 20 75 73 65 66 75 6c 3f .for.each.page...Is.this.useful?
2e780 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 20 28 6c 65 74 20 28 28 70 61 67 65 73 20 ...(interactive....(let.((pages.
2e7a0 28 64 6a 76 75 2d 69 6e 74 65 72 61 63 74 69 76 65 2d 70 61 67 65 73 29 29 29 0a 20 20 20 20 20 (djvu-interactive-pages)))......
2e7c0 28 6c 69 73 74 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 28 25 73 29 (list.(read-string.(format."(%s)
2e7e0 20 50 61 67 65 20 74 69 74 6c 65 3a 20 22 20 28 63 61 72 20 70 61 67 65 73 29 29 29 0a 20 20 20 .Page.title:.".(car.pages)))....
2e800 20 20 20 20 20 20 20 20 28 63 64 72 20 70 61 67 65 73 29 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 ........(cdr.pages))))...(unless
2e820 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 0a 20 20 28 69 66 20 .doc.(setq.doc.djvu-doc))...(if.
2e840 28 61 6e 64 20 28 73 74 72 69 6e 67 70 20 74 69 74 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 (and.(stringp.title)............
2e860 28 6e 6f 74 20 28 65 71 75 61 6c 20 22 22 20 74 69 74 6c 65 29 29 29 0a 20 20 20 20 20 20 3b 3b (not.(equal."".title))).......;;
2e880 20 73 65 74 2d 70 61 67 65 2d 74 69 74 6c 65 20 6f 6e 6c 79 20 6f 70 65 72 61 74 65 73 20 6f 6e .set-page-title.only.operates.on
2e8a0 20 69 6e 64 69 76 69 64 75 61 6c 20 70 61 67 65 73 2c 0a 20 20 20 20 20 20 3b 3b 20 74 68 6f 75 .individual.pages,.......;;.thou
2e8c0 67 68 20 70 61 67 65 20 74 69 74 6c 65 73 20 6e 65 65 64 20 6e 6f 74 20 62 65 20 64 69 73 74 69 gh.page.titles.need.not.be.disti
2e8e0 6e 63 74 2e 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 70 61 67 65 73 2d 61 63 74 69 6f 6e 20 28 6f nct........(djvu-pages-action.(o
2e900 72 20 70 61 67 65 73 20 28 63 6f 6e 73 20 31 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 r.pages.(cons.1.(djvu-ref.pagema
2e920 78 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 x.doc)))........................
2e940 20 20 28 66 6f 72 6d 61 74 20 22 73 65 74 2d 70 61 67 65 2d 74 69 74 6c 65 20 25 73 22 20 74 69 ..(format."set-page-title.%s".ti
2e960 74 6c 65 29 20 64 6f 63 29 0a 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 70 61 67 65 20 74 69 74 tle).doc).....;;.Remove.page.tit
2e980 6c 65 73 3a 0a 20 20 20 20 3b 3b 20 64 6a 76 75 73 65 64 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 les:.....;;.djvused.does.not.hav
2e9a0 65 20 61 20 63 6f 6d 6d 61 6e 64 20 72 65 6d 6f 76 65 2d 70 61 67 65 2d 74 69 74 6c 65 2e 0a 20 e.a.command.remove-page-title...
2e9c0 20 20 20 3b 3b 20 49 6e 73 74 65 61 64 20 66 6f 72 20 65 61 63 68 20 70 61 67 65 20 77 65 20 6d ...;;.Instead.for.each.page.we.m
2e9e0 75 73 74 20 73 65 74 20 74 68 65 20 70 61 67 65 20 74 69 74 6c 65 20 74 6f 20 74 68 65 20 70 61 ust.set.the.page.title.to.the.pa
2ea00 67 65 2d 69 64 2e 0a 20 20 20 20 28 64 6a 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 20 ge-id......(djvu-save.doc.t)....
2ea20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 6f 63 20 6e 69 6c 20 22 2d 65 22 0a 20 20 20 20 .(djvu-djvused.doc.nil."-e".....
2ea40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 28 6c 61 6d 62 64 61 ..............(mapconcat.(lambda
2ea60 20 28 70 61 67 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 .(page).........................
2ea80 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 73 65 6c 65 63 74 20 25 64 3b 20 73 65 74 2d 70 .......(format."select.%d;.set-p
2eaa0 61 67 65 2d 74 69 74 6c 65 20 25 73 22 20 70 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 age-title.%s".page..............
2eac0 20 20 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 64 72 20 28 ..........................(cdr.(
2eae0 61 73 73 71 20 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 assq.page.(djvu-ref.page-id.doc)
2eb00 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))))............................
2eb20 20 20 28 6e 75 6d 62 65 72 2d 73 65 71 75 65 6e 63 65 20 28 6f 72 20 28 63 61 72 20 70 61 67 65 ..(number-sequence.(or.(car.page
2eb40 73 29 20 31 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 s).1)...........................
2eb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 64 72 20 70 61 67 ....................(or.(cdr.pag
2eb80 65 73 29 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 29 29 0a 20 20 20 es).(djvu-ref.pagemax.doc)))....
2eba0 20 20 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 3b 20 22 29 0a ..........................";.").
2ebc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 22 29 29 29 0a 0a 28 64 65 66 75 .................."-s")))..(defu
2ebe0 6e 20 64 6a 76 75 2d 6c 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 4c 69 73 n.djvu-ls.(&optional.doc)..."Lis
2ec00 74 20 63 6f 6d 70 6f 6e 65 6e 74 20 66 69 6c 65 73 20 69 6e 20 74 68 65 20 44 6a 76 75 20 64 6f t.component.files.in.the.Djvu.do
2ec20 63 75 6d 65 6e 74 2e 0a 54 68 69 73 20 75 73 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 5c 22 cument..This.uses.the.command.\"
2ec40 64 6a 76 75 73 65 64 20 64 6f 63 2e 64 6a 76 75 20 2d 65 20 6c 73 5c 22 2e 22 0a 20 20 28 69 6e djvused.doc.djvu.-e.ls\"."...(in
2ec60 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 67 65 74 2d teractive)...(let.((buffer.(get-
2ec80 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 22 2a 64 6a 76 75 2d 6c 73 2a 22 29 29 0a 20 20 20 20 buffer-create."*djvu-ls*")).....
2eca0 20 20 20 20 28 64 6f 63 20 28 6f 72 20 64 6f 63 20 64 6a 76 75 2d 64 6f 63 29 29 29 0a 20 20 20 ....(doc.(or.doc.djvu-doc)))....
2ecc0 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 .(with-current-buffer.buffer....
2ece0 20 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 2d 75 6e 64 6f 2d 6c 69 73 74 20 74 29 0a 20 20 ...(let.((buffer-undo-list.t)...
2ed00 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 29 0a 20 20 20 20 ..........buffer-read-only).....
2ed20 20 20 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 28 64 6a 76 75 ....(erase-buffer).........(djvu
2ed40 2d 64 6a 76 75 73 65 64 20 64 6f 63 20 74 20 22 2d 65 22 20 22 6c 73 22 29 29 0a 20 20 20 20 20 -djvused.doc.t."-e"."ls"))......
2ed60 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 .(set-buffer-modified-p.nil)....
2ed80 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c 79 20 74 29 0a 20 20 20 ...(setq.buffer-read-only.t)....
2eda0 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 29 0a 20 20 20 20 ...(goto-char.(point-min))).....
2edc0 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 0a 0a 3b 3b 3b 23 23 23 (pop-to-buffer.buffer)))..;;;###
2ede0 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 69 6e 73 70 65 63 74 2d 66 69 6c autoload.(defun.djvu-inspect-fil
2ee00 65 20 28 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 67 65 29 0a 20 20 22 49 6e 73 70 65 e.(file.&optional.page)..."Inspe
2ee20 63 74 20 44 6a 76 75 20 46 49 4c 45 20 6f 6e 20 50 41 47 45 2e 0a 43 61 6c 6c 20 64 6a 76 75 73 ct.Djvu.FILE.on.PAGE..Call.djvus
2ee40 65 64 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 61 72 67 ed.with.the.same.sequence.of.arg
2ee60 75 6d 65 6e 74 73 20 74 68 61 74 20 69 73 20 75 73 65 64 0a 62 79 20 60 64 6a 76 75 2d 69 6e 69 uments.that.is.used.by.`djvu-ini
2ee80 74 2d 70 61 67 65 27 2e 20 20 44 69 73 70 6c 61 79 20 74 68 65 20 6f 75 74 70 75 74 20 69 6e 20 t-page'...Display.the.output.in.
2eea0 60 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 27 2e 0a 54 68 69 73 20 6d 61 79 20 63 `djvu-script-buffer'..This.may.c
2eec0 6f 6d 65 20 68 61 6e 64 79 20 69 66 20 60 64 6a 76 75 2d 66 69 6e 64 2d 66 69 6c 65 27 20 63 68 ome.handy.if.`djvu-find-file'.ch
2eee0 6f 6b 65 73 20 6f 6e 20 61 20 44 6a 76 75 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 okes.on.a.Djvu.file."...(interac
2ef00 74 69 76 65 20 28 64 6a 76 75 2d 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 28 77 tive.(djvu-read-file-name))...(w
2ef20 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 ith-current-buffer.(get-buffer-c
2ef40 72 65 61 74 65 20 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 65 reate.djvu-script-buffer).....(e
2ef60 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 64 69 6e 67 2d rase-buffer).....(let*.((coding-
2ef80 73 79 73 74 65 6d 2d 66 6f 72 2d 72 65 61 64 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 20 20 20 system-for-read.'utf-8).........
2efa0 20 20 20 28 66 6d 74 20 28 63 6f 6e 63 61 74 20 22 63 72 65 61 74 65 2d 73 68 61 72 65 64 2d 61 ...(fmt.(concat."create-shared-a
2efc0 6e 74 3b 20 70 72 69 6e 74 2d 61 6e 74 3b 20 6e 3b 20 6c 73 3b 20 70 72 69 6e 74 2d 6f 75 74 6c nt;.print-ant;.n;.ls;.print-outl
2efe0 69 6e 65 3b 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 22 ine;."........................."
2f000 73 65 6c 65 63 74 20 25 64 3b 20 73 69 7a 65 3b 20 70 72 69 6e 74 2d 74 78 74 3b 20 70 72 69 6e select.%d;.size;.print-txt;.prin
2f020 74 2d 61 6e 74 3b 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 75 73 20 28 61 70 t-ant;"))............(status.(ap
2f040 70 6c 79 20 27 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 64 6a 76 75 73 65 64 22 20 6e 69 6c 20 ply.'call-process."djvused".nil.
2f060 74 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.nil...........................
2f080 28 6c 69 73 74 20 22 2d 75 22 20 66 69 6c 65 20 22 2d 65 22 20 28 66 6f 72 6d 61 74 20 66 6d 74 (list."-u".file."-e".(format.fmt
2f0a0 20 28 6f 72 20 70 61 67 65 20 31 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 .(or.page.1)))))).......(unless.
2f0c0 28 7a 65 72 6f 70 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 44 (zerop.status).........(error."D
2f0e0 6a 76 75 73 65 64 20 65 72 72 6f 72 20 25 73 22 20 73 74 61 74 75 73 29 29 29 0a 20 20 20 20 28 jvused.error.%s".status))).....(
2f100 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 0a 20 20 20 20 28 set-buffer-modified-p.nil).....(
2f120 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 28 70 6f 70 2d 74 goto-char.(point-min)))...(pop-t
2f140 6f 2d 62 75 66 66 65 72 20 64 6a 76 75 2d 73 63 72 69 70 74 2d 62 75 66 66 65 72 29 29 0a 0a 3b o-buffer.djvu-script-buffer))..;
2f160 3b 3b 20 44 65 73 74 72 75 63 74 69 76 65 20 63 6f 6d 6d 61 6e 64 73 3a 20 75 73 65 20 77 69 74 ;;.Destructive.commands:.use.wit
2f180 68 20 63 61 72 65 21 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 64 65 6c 65 74 65 2d 70 61 67 65 h.care!..(defun.djvu-delete-page
2f1a0 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 29 0a 20 20 22 44 65 6c 65 74 65 20 63 75 72 72 65 .(&optional.doc)..."Delete.curre
2f1c0 6e 74 20 70 61 67 65 20 66 72 6f 6d 20 74 68 65 20 44 6a 76 75 20 64 6f 63 75 6d 65 6e 74 2e 20 nt.page.from.the.Djvu.document..
2f1e0 20 55 73 65 20 77 69 74 68 20 63 61 72 65 21 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 .Use.with.care!"...(interactive)
2f200 0a 20 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 6f ...(unless.doc.(setq.doc.djvu-do
2f220 63 29 29 0a 20 20 28 64 6a 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 28 77 68 65 6e 20 c))...(djvu-save.doc.t)...(when.
2f240 28 61 6e 64 20 28 3c 20 31 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 (and.(<.1.(djvu-ref.pagemax.doc)
2f260 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 22 44 65 6c )..............(yes-or-no-p."Del
2f280 65 74 65 20 63 75 72 72 65 6e 74 20 70 61 67 65 20 22 29 29 0a 20 20 20 20 3b 3b 20 57 65 20 72 ete.current.page.")).....;;.We.r
2f2a0 65 73 6f 6c 76 65 20 61 6c 6c 20 69 6e 74 65 72 6e 61 6c 20 55 52 4c 73 20 74 6f 20 60 6c 6f 6e esolve.all.internal.URLs.to.`lon
2f2c0 67 27 2e 0a 20 20 20 20 3b 3b 20 53 6f 20 74 68 6f 73 65 20 55 52 4c 73 20 70 6f 69 6e 74 69 6e g'......;;.So.those.URLs.pointin
2f2e0 67 20 74 6f 20 70 61 67 65 73 20 74 68 61 74 20 61 72 65 20 6e 6f 74 20 64 65 6c 65 74 65 64 20 g.to.pages.that.are.not.deleted.
2f300 72 65 6d 61 69 6e 20 76 61 6c 69 64 2e 0a 20 20 20 20 3b 3b 20 49 6e 74 65 72 6e 61 6c 20 55 52 remain.valid......;;.Internal.UR
2f320 4c 73 20 70 6f 69 6e 74 69 6e 67 20 74 6f 20 74 68 65 20 64 65 6c 65 74 65 64 20 70 61 67 65 20 Ls.pointing.to.the.deleted.page.
2f340 62 65 63 6f 6d 65 20 6d 65 61 6e 69 6e 67 6c 65 73 73 2e 0a 20 20 20 20 3b 3b 20 57 65 20 64 6f become.meaningless......;;.We.do
2f360 20 6e 6f 74 20 77 6f 72 72 79 20 61 62 6f 75 74 20 74 68 69 73 20 68 65 72 65 20 61 6e 64 20 6e .not.worry.about.this.here.and.n
2f380 6f 77 20 61 73 20 69 74 20 69 73 20 68 61 72 6d 6c 65 73 73 2e 0a 20 20 20 20 3b 3b 20 59 65 74 ow.as.it.is.harmless......;;.Yet
2f3a0 20 60 64 6a 76 75 2d 75 6e 72 65 73 6f 6c 76 65 2d 75 72 6c 27 20 77 69 6c 6c 20 69 73 73 75 65 .`djvu-unresolve-url'.will.issue
2f3c0 20 61 20 77 61 72 6e 69 6e 67 20 6d 65 73 73 61 67 65 20 6e 65 78 74 20 74 69 6d 65 0a 20 20 20 .a.warning.message.next.time....
2f3e0 20 3b 3b 20 73 75 63 68 20 61 20 6d 65 61 6e 69 6e 67 6c 65 73 73 20 69 6e 74 65 72 6e 61 6c 20 .;;.such.a.meaningless.internal.
2f400 55 52 4c 20 69 73 20 72 65 61 64 20 6f 72 20 73 74 6f 72 65 64 20 61 67 61 69 6e 2e 0a 20 20 20 URL.is.read.or.stored.again.....
2f420 20 28 64 6a 76 75 2d 72 65 73 6f 6c 76 65 2d 61 6c 6c 2d 75 72 6c 73 20 27 6c 6f 6e 67 20 64 6f .(djvu-resolve-all-urls.'long.do
2f440 63 29 0a 20 20 20 20 28 64 6a 76 75 2d 62 61 63 6b 75 70 20 64 6f 63 29 0a 20 20 20 20 28 6c 65 c).....(djvu-backup.doc).....(le
2f460 74 2a 20 28 28 69 6e 68 69 62 69 74 2d 71 75 69 74 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 t*.((inhibit-quit.t)............
2f480 28 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 20 64 6f 63 29 29 0a 20 20 20 20 20 (page.(djvu-ref.page.doc))......
2f4a0 20 20 20 20 20 20 28 73 74 61 74 75 73 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 64 6a 76 ......(status.(call-process."djv
2f4c0 6d 22 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 22 2d 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 m".nil.nil.nil."-d".............
2f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6a 76 75 2d 72 65 66 20 66 .....................(djvu-ref.f
2f500 69 6c 65 20 64 6f 63 29 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 70 61 67 65 29 ile.doc).(number-to-string.page)
2f520 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 73 74 61 74 75 73 29 ))).......(unless.(zerop.status)
2f540 20 28 65 72 72 6f 72 20 22 44 6a 76 6d 20 65 72 72 6f 72 20 25 73 22 20 73 74 61 74 75 73 29 29 .(error."Djvm.error.%s".status))
2f560 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 61 6c 6c 2d 62 75 66 66 65 72 73 20 64 6f 63 0a 20 20 20 .......(djvu-all-buffers.doc....
2f580 20 20 20 20 20 28 73 65 74 2d 76 69 73 69 74 65 64 2d 66 69 6c 65 2d 6d 6f 64 74 69 6d 65 29 29 .....(set-visited-file-modtime))
2f5a0 0a 20 20 20 20 20 20 3b 3b 20 55 70 64 61 74 65 20 69 6e 74 65 72 6e 61 6c 20 76 61 72 69 61 62 .......;;.Update.internal.variab
2f5c0 6c 65 73 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 73 65 74 20 69 6d 61 67 65 20 6e 69 6c 20 64 6f les.......(djvu-set.image.nil.do
2f5e0 63 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 61 67 65 2d 69 64 20 28 64 65 6c 71 20 28 61 c).......(let.((page-id.(delq.(a
2f600 73 73 71 20 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 ssq.page.(djvu-ref.page-id.doc))
2f620 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 64 6a 76 ............................(djv
2f640 75 2d 72 65 66 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 u-ref.page-id.doc)))............
2f660 20 28 70 20 28 31 2b 20 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 2d 69 29 0a .(p.(1+.page)).............p-i).
2f680 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 3d 20 70 20 28 64 6a 76 75 2d 72 65 66 20 70 ........(while.(<=.p.(djvu-ref.p
2f6a0 61 67 65 6d 61 78 20 64 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 2d 69 agemax.doc))...........(setq.p-i
2f6c0 20 28 61 73 73 71 20 70 20 70 61 67 65 2d 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(assq.p.page-id)...............
2f6e0 20 20 70 61 67 65 2d 69 64 20 28 63 6f 6e 73 20 28 63 6f 6e 73 20 28 31 2d 20 70 29 20 28 63 64 ..page-id.(cons.(cons.(1-.p).(cd
2f700 72 20 70 2d 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.p-i)).........................
2f720 20 20 20 20 20 20 28 64 65 6c 71 20 70 2d 69 20 70 61 67 65 2d 69 64 29 29 0a 20 20 20 20 20 20 ......(delq.p-i.page-id)).......
2f740 20 20 20 20 20 20 20 20 20 20 70 20 28 31 2b 20 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6a ..........p.(1+.p))).........(dj
2f760 76 75 2d 73 65 74 20 70 61 67 65 2d 69 64 20 70 61 67 65 2d 69 64 20 64 6f 63 29 29 0a 20 20 20 vu-set.page-id.page-id.doc))....
2f780 20 20 20 28 64 6a 76 75 2d 73 65 74 20 70 61 67 65 6d 61 78 20 28 31 2d 20 28 64 6a 76 75 2d 72 ...(djvu-set.pagemax.(1-.(djvu-r
2f7a0 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 29 20 64 6f 63 29 0a 20 20 20 20 20 20 3b 3b 20 52 ef.pagemax.doc)).doc).......;;.R
2f7c0 65 64 69 73 70 6c 61 79 0a 20 20 20 20 20 20 28 64 6a 76 75 2d 69 6e 69 74 2d 70 61 67 65 20 28 edisplay.......(djvu-init-page.(
2f7e0 6d 69 6e 20 70 61 67 65 20 28 64 6a 76 75 2d 72 65 66 20 70 61 67 65 6d 61 78 20 64 6f 63 29 29 min.page.(djvu-ref.pagemax.doc))
2f800 20 64 6f 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d 72 65 6d 6f 76 65 2d 61 6e 6e .doc))))..(defun.djvu-remove-ann
2f820 6f 74 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 20 6f 75 74 6c 69 6e 65 29 0a 20 20 22 52 65 ot.(&optional.doc.outline)..."Re
2f840 6d 6f 76 65 20 41 6e 6e 6f 74 61 74 69 6f 6e 73 2e 20 20 55 73 65 20 77 69 74 68 20 63 61 72 65 move.Annotations...Use.with.care
2f860 21 0a 57 69 74 68 20 70 72 65 66 69 78 20 4f 55 54 4c 49 4e 45 20 6e 6f 6e 2d 6e 69 6c 20 72 65 !.With.prefix.OUTLINE.non-nil.re
2f880 6d 6f 76 65 20 4f 75 74 6c 69 6e 65 2c 20 74 6f 6f 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 move.Outline,.too."...(interacti
2f8a0 76 65 20 28 6c 69 73 74 20 6e 69 6c 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 ve.(list.nil.current-prefix-arg)
2f8c0 29 0a 20 20 28 75 6e 6c 65 73 73 20 64 6f 63 20 28 73 65 74 71 20 64 6f 63 20 64 6a 76 75 2d 64 )...(unless.doc.(setq.doc.djvu-d
2f8e0 6f 63 29 29 0a 20 20 28 64 6a 76 75 2d 73 61 76 65 20 64 6f 63 20 74 29 0a 20 20 28 77 68 65 6e oc))...(djvu-save.doc.t)...(when
2f900 20 28 79 65 73 2d 6f 72 2d 6e 6f 2d 70 20 28 66 6f 72 6d 61 74 20 22 52 65 6d 6f 76 65 20 41 6e .(yes-or-no-p.(format."Remove.An
2f920 6e 6f 74 61 74 69 6f 6e 73 25 73 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 notations%s:."..................
2f940 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6f 75 74 6c 69 6e 65 20 22 20 61 6e 64 20 4f 75 ............(if.outline.".and.Ou
2f960 74 6c 69 6e 65 22 20 22 22 29 29 29 0a 20 20 20 20 28 64 6a 76 75 2d 64 6a 76 75 73 65 64 20 64 tline".""))).....(djvu-djvused.d
2f980 6f 63 20 6e 69 6c 20 22 2d 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 oc.nil."-e"...................(f
2f9a0 6f 72 6d 61 74 20 22 73 65 6c 65 63 74 3b 20 72 65 6d 6f 76 65 2d 61 6e 74 3b 25 73 22 0a 20 20 ormat."select;.remove-ant;%s"...
2f9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6f 75 74 6c ........................(if.outl
2f9e0 69 6e 65 20 22 20 73 65 74 2d 6f 75 74 6c 69 6e 65 3b 5c 6e 2e 22 20 22 22 29 29 0a 20 20 20 20 ine.".set-outline;\n."."")).....
2fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 22 29 0a 20 20 20 20 28 64 6a 76 75 2d 69 6e .............."-s").....(djvu-in
2fa20 69 74 2d 70 61 67 65 20 6e 69 6c 20 64 6f 63 29 29 29 0a 0a 3b 3b 3b 3b 20 45 6d 61 63 73 20 62 it-page.nil.doc)))..;;;;.Emacs.b
2fa40 6f 6f 6b 6d 61 72 6b 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 28 69 6e 73 70 69 72 65 64 20 62 79 ookmark.integration.(inspired.by
2fa60 20 64 6f 63 2d 76 69 65 77 2e 65 6c 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e .doc-view.el)..(declare-function
2fa80 20 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 64 65 66 61 75 6c 74 20 22 62 .bookmark-make-record-default."b
2faa0 6f 6f 6b 6d 61 72 6b 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 26 6f 70 74 ookmark"...................(&opt
2fac0 69 6f 6e 61 6c 20 6e 6f 2d 66 69 6c 65 20 6e 6f 2d 63 6f 6e 74 65 78 74 20 70 6f 73 6e 29 29 0a ional.no-file.no-context.posn)).
2fae0 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d (declare-function.bookmark-prop-
2fb00 67 65 74 20 22 62 6f 6f 6b 6d 61 72 6b 22 20 28 62 6f 6f 6b 6d 61 72 6b 20 70 72 6f 70 29 29 0a get."bookmark".(bookmark.prop)).
2fb20 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 66 (declare-function.bookmark-get-f
2fb40 69 6c 65 6e 61 6d 65 20 22 62 6f 6f 6b 6d 61 72 6b 22 20 28 62 6f 6f 6b 6d 61 72 6b 29 29 0a 28 ilename."bookmark".(bookmark)).(
2fb60 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 66 72 declare-function.bookmark-get-fr
2fb80 6f 6e 74 2d 63 6f 6e 74 65 78 74 2d 73 74 72 69 6e 67 20 22 62 6f 6f 6b 6d 61 72 6b 22 20 28 62 ont-context-string."bookmark".(b
2fba0 6f 6f 6b 6d 61 72 6b 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 62 6f 6f 6b ookmark)).(declare-function.book
2fbc0 6d 61 72 6b 2d 67 65 74 2d 72 65 61 72 2d 63 6f 6e 74 65 78 74 2d 73 74 72 69 6e 67 20 22 62 6f mark-get-rear-context-string."bo
2fbe0 6f 6b 6d 61 72 6b 22 20 28 62 6f 6f 6b 6d 61 72 6b 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e okmark".(bookmark)).(declare-fun
2fc00 63 74 69 6f 6e 20 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 70 6f 73 69 74 69 6f 6e 20 22 62 6f 6f ction.bookmark-get-position."boo
2fc20 6b 6d 61 72 6b 22 20 28 62 6f 6f 6b 6d 61 72 6b 29 29 0a 0a 28 64 65 66 75 6e 20 64 6a 76 75 2d kmark".(bookmark))..(defun.djvu-
2fc40 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 20 28 29 0a 20 20 28 6e 63 6f 6e 63 bookmark-make-record.()...(nconc
2fc60 20 28 62 6f 6f 6b 6d 61 72 6b 2d 6d 61 6b 65 2d 72 65 63 6f 72 64 2d 64 65 66 61 75 6c 74 29 0a .(bookmark-make-record-default).
2fc80 20 20 20 20 20 20 20 20 20 60 28 28 70 61 67 65 20 2e 20 2c 28 64 6a 76 75 2d 72 65 66 20 70 61 .........`((page...,(djvu-ref.pa
2fca0 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 2d 62 75 66 66 65 72 20 2e 20 2c 64 6a 76 ge))............(d-buffer...,djv
2fcc0 75 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 68 61 6e 64 6c 65 72 20 2e 20 u-buffer)............(handler...
2fce0 64 6a 76 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 68 61 6e 64 6c 65 72 29 29 29 29 0a 0a 3b 3b 20 41 64 djvu-bookmark-handler))))..;;.Ad
2fd00 61 70 74 65 64 20 66 72 6f 6d 20 60 62 6f 6f 6b 6d 61 72 6b 2d 64 65 66 61 75 6c 74 2d 68 61 6e apted.from.`bookmark-default-han
2fd20 64 6c 65 72 27 2e 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 6a 76 dler'..;;;###autoload.(defun.djv
2fd40 75 2d 62 6f 6f 6b 6d 61 72 6b 2d 68 61 6e 64 6c 65 72 20 28 62 6d 6b 29 0a 20 20 22 48 61 6e 64 u-bookmark-handler.(bmk)..."Hand
2fd60 6c 65 72 20 74 6f 20 6a 75 6d 70 20 74 6f 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 62 6f 6f 6b ler.to.jump.to.a.particular.book
2fd80 6d 61 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 61 20 64 6a 76 75 20 64 6f 63 75 6d 65 6e 74 mark.location.in.a.djvu.document
2fda0 2e 0a 42 4d 4b 20 69 73 20 61 20 62 6f 6f 6b 6d 61 72 6b 20 72 65 63 6f 72 64 2c 20 6e 6f 74 20 ..BMK.is.a.bookmark.record,.not.
2fdc0 61 20 62 6f 6f 6b 6d 61 72 6b 20 6e 61 6d 65 20 28 69 2e 65 2e 2c 20 6e 6f 74 20 61 20 73 74 72 a.bookmark.name.(i.e.,.not.a.str
2fde0 69 6e 67 29 2e 0a 43 68 61 6e 67 65 73 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 61 6e 64 ing)..Changes.current.buffer.and
2fe00 20 70 6f 69 6e 74 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c 20 6f 72 20 73 69 67 6e 61 .point.and.returns.nil,.or.signa
2fe20 6c 73 20 61 20 60 66 69 6c 65 2d 65 72 72 6f 72 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c ls.a.`file-error'."...(let.((fil
2fe40 65 20 20 20 20 20 20 20 20 20 20 28 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 66 69 6c 65 6e 61 6d e..........(bookmark-get-filenam
2fe60 65 20 62 6d 6b 29 29 0a 09 28 62 75 66 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 6f 6b 6d 61 72 e.bmk))..(buf...........(bookmar
2fe80 6b 2d 70 72 6f 70 2d 67 65 74 20 62 6d 6b 20 27 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 k-prop-get.bmk.'buffer))........
2fea0 20 28 64 2d 62 75 66 66 65 72 20 20 20 20 20 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 .(d-buffer......(bookmark-prop-g
2fec0 65 74 20 62 6d 6b 20 27 64 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 28 70 61 67 65 et.bmk.'d-buffer)).........(page
2fee0 20 20 20 20 20 20 20 20 20 20 28 62 6f 6f 6b 6d 61 72 6b 2d 70 72 6f 70 2d 67 65 74 20 62 6d 6b ..........(bookmark-prop-get.bmk
2ff00 20 27 70 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 73 74 72 20 20 20 .'page)).........(forward-str...
2ff20 28 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 66 72 6f 6e 74 2d 63 6f 6e 74 65 78 74 2d 73 74 72 69 (bookmark-get-front-context-stri
2ff40 6e 67 20 62 6d 6b 29 29 0a 20 20 20 20 20 20 20 20 28 62 65 68 69 6e 64 2d 73 74 72 20 20 20 20 ng.bmk)).........(behind-str....
2ff60 28 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 72 65 61 72 2d 63 6f 6e 74 65 78 74 2d 73 74 72 69 6e (bookmark-get-rear-context-strin
2ff80 67 20 62 6d 6b 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 20 20 20 20 20 20 20 20 20 20 28 g.bmk)).........(pos...........(
2ffa0 62 6f 6f 6b 6d 61 72 6b 2d 67 65 74 2d 70 6f 73 69 74 69 6f 6e 20 62 6d 6b 29 29 29 0a 20 20 20 bookmark-get-position.bmk)))....
2ffc0 20 28 73 65 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 28 28 .(set-buffer......(cond.......((
2ffe0 61 6e 64 20 66 69 6c 65 20 28 66 69 6c 65 2d 72 65 61 64 61 62 6c 65 2d 70 20 66 69 6c 65 29 20 and.file.(file-readable-p.file).
30000 28 6e 6f 74 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 62 75 66 29 29 29 0a 20 20 20 20 20 (not.(buffer-live-p.buf)))......
30020 20 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 66 69 6c 65 29 29 0a 20 20 20 ..(find-file-noselect.file))....
30040 20 20 20 3b 3b 20 4e 6f 20 66 69 6c 65 20 66 6f 75 6e 64 2e 20 20 53 65 65 20 69 66 20 62 75 66 ...;;.No.file.found...See.if.buf
30060 66 65 72 20 42 55 46 20 68 61 73 20 62 65 65 6e 20 63 72 65 61 74 65 64 2e 0a 20 20 20 20 20 20 fer.BUF.has.been.created........
30080 28 28 61 6e 64 20 62 75 66 20 28 67 65 74 2d 62 75 66 66 65 72 20 62 75 66 29 29 29 0a 20 20 20 ((and.buf.(get-buffer.buf)))....
300a0 20 20 20 28 74 20 3b 3b 20 49 66 20 6e 6f 74 2c 20 72 61 69 73 65 20 65 72 72 6f 72 2e 0a 20 20 ...(t.;;.If.not,.raise.error....
300c0 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 62 6f 6f 6b 6d 61 72 6b 2d 65 72 72 6f 72 2d 6e 6f 2d .....(signal.'bookmark-error-no-
300e0 66 69 6c 65 6e 61 6d 65 20 28 6c 69 73 74 20 27 73 74 72 69 6e 67 70 20 66 69 6c 65 29 29 29 29 filename.(list.'stringp.file))))
30100 29 0a 20 20 20 20 28 69 66 20 70 61 67 65 20 28 64 6a 76 75 2d 67 6f 74 6f 2d 70 61 67 65 20 70 ).....(if.page.(djvu-goto-page.p
30120 61 67 65 29 29 0a 20 20 20 20 28 69 66 20 64 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 28 age)).....(if.d-buffer.........(
30140 73 65 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 64 2d 62 75 66 set-buffer..........(pcase.d-buf
30160 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 60 72 65 61 64 20 28 64 6a 76 75 2d 72 65 66 20 fer............(`read.(djvu-ref.
30180 72 65 61 64 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 60 74 65 78 74 20 28 64 6a read-buf))............(`text.(dj
301a0 76 75 2d 72 65 66 20 74 65 78 74 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 60 61 vu-ref.text-buf))............(`a
301c0 6e 6e 6f 74 20 28 64 6a 76 75 2d 72 65 66 20 61 6e 6e 6f 74 2d 62 75 66 29 29 0a 20 20 20 20 20 nnot.(djvu-ref.annot-buf))......
301e0 20 20 20 20 20 20 28 60 73 68 61 72 65 64 20 28 64 6a 76 75 2d 72 65 66 20 73 68 61 72 65 64 2d ......(`shared.(djvu-ref.shared-
30200 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 60 62 6f 6f 6b 6d 61 72 6b 73 20 28 64 6a buf))............(`bookmarks.(dj
30220 76 75 2d 72 65 66 20 62 6f 6f 6b 6d 61 72 6b 73 2d 62 75 66 29 29 0a 20 20 20 20 20 20 20 20 20 vu-ref.bookmarks-buf))..........
30240 20 20 28 60 6f 75 74 6c 69 6e 65 20 28 64 6a 76 75 2d 72 65 66 20 6f 75 74 6c 69 6e 65 2d 62 75 ..(`outline.(djvu-ref.outline-bu
30260 66 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 70 6f 73 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f f))))).....(if.pos.(goto-char.po
30280 73 29 29 0a 20 20 20 20 3b 3b 20 47 6f 20 73 65 61 72 63 68 69 6e 67 20 66 6f 72 77 61 72 64 20 s)).....;;.Go.searching.forward.
302a0 66 69 72 73 74 2e 20 20 54 68 65 6e 2c 20 69 66 20 66 6f 72 77 61 72 64 2d 73 74 72 20 65 78 69 first...Then,.if.forward-str.exi
302c0 73 74 73 20 61 6e 64 0a 20 20 20 20 3b 3b 20 77 61 73 20 66 6f 75 6e 64 20 69 6e 20 74 68 65 20 sts.and.....;;.was.found.in.the.
302e0 66 69 6c 65 2c 20 77 65 20 63 61 6e 20 73 65 61 72 63 68 20 62 61 63 6b 77 61 72 64 20 66 6f 72 file,.we.can.search.backward.for
30300 20 62 65 68 69 6e 64 2d 73 74 72 2e 0a 20 20 20 20 3b 3b 20 52 61 74 69 6f 6e 61 6c 65 20 69 73 .behind-str......;;.Rationale.is
30320 20 74 68 61 74 20 69 66 20 74 65 78 74 20 77 61 73 20 69 6e 73 65 72 74 65 64 20 62 65 74 77 65 .that.if.text.was.inserted.betwe
30340 65 6e 20 74 68 65 20 74 77 6f 20 69 6e 20 74 68 65 0a 20 20 20 20 3b 3b 20 66 69 6c 65 2c 20 69 en.the.two.in.the.....;;.file,.i
30360 74 27 73 20 62 65 74 74 65 72 20 74 6f 20 62 65 20 70 75 74 20 62 65 66 6f 72 65 20 69 74 20 73 t's.better.to.be.put.before.it.s
30380 6f 20 79 6f 75 20 63 61 6e 20 72 65 61 64 20 69 74 2c 0a 20 20 20 20 3b 3b 20 72 61 74 68 65 72 o.you.can.read.it,.....;;.rather
303a0 20 74 68 61 6e 20 61 66 74 65 72 20 61 6e 64 20 72 65 6d 61 69 6e 20 70 65 72 68 61 70 73 20 75 .than.after.and.remain.perhaps.u
303c0 6e 61 77 61 72 65 20 6f 66 20 74 68 65 20 63 68 61 6e 67 65 73 2e 0a 20 20 20 20 28 77 68 65 6e naware.of.the.changes......(when
303e0 20 28 61 6e 64 20 66 6f 72 77 61 72 64 2d 73 74 72 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 .(and.forward-str.(search-forwar
30400 64 20 66 6f 72 77 61 72 64 2d 73 74 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 74 29 29 0a 20 20 d.forward-str.(point-max).t))...
30420 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 ....(goto-char.(match-beginning.
30440 30 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 62 65 68 69 6e 64 2d 73 74 72 20 28 0))).....(when.(and.behind-str.(
30460 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 62 65 68 69 6e 64 2d 73 74 72 20 28 70 6f 69 6e search-backward.behind-str.(poin
30480 74 2d 6d 69 6e 29 20 74 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 6d 61 74 t-min).t)).......(goto-char.(mat
304a0 63 68 2d 65 6e 64 20 30 29 29 29 0a 20 20 20 20 6e 69 6c 29 29 0a 0a 0c 0a 28 70 72 6f 76 69 64 ch-end.0))).....nil))....(provid
304c0 65 20 27 64 6a 76 75 29 0a 3b 3b 3b 20 64 6a 76 75 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 e.'djvu).;;;.djvu.el.ends.here..
304e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
305e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30600 64 6a 76 75 2d 31 2e 31 2e 32 2f 64 6a 76 75 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 djvu-1.1.2/djvu-pkg.el..........
30620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30660 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
30680 30 30 30 30 35 37 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 31 37 36 00 20 30 00 00 00 0000571.00000000000.013176..0...
306a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
306e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30700 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...................
30720 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...................
30740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
307e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30800 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
30820 20 66 72 6f 6d 20 64 6a 76 75 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 .from.djvu.el..-*-.no-byte-compi
30840 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 64 6a 76 75 22 le:.t.-*-.(define-package."djvu"
30860 20 22 31 2e 31 2e 32 22 20 22 45 64 69 74 20 61 6e 64 20 76 69 65 77 20 44 6a 76 75 20 66 69 6c ."1.1.2"."Edit.and.view.Djvu.fil
30880 65 73 20 76 69 61 20 64 6a 76 75 73 65 64 22 20 27 6e 69 6c 20 3a 63 6f 6d 6d 69 74 20 22 30 37 es.via.djvused".'nil.:commit."07
308a0 31 63 38 61 62 31 36 38 35 38 38 38 39 37 34 37 35 38 39 39 63 34 36 65 61 61 31 36 65 37 30 31 1c8ab168588897475899c46eaa16e701
308c0 34 31 64 62 38 63 22 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 67 6e 75 2e 6f 41db8c".:url."https://elpa.gnu.o
308e0 72 67 2f 70 61 63 6b 61 67 65 73 2f 64 6a 76 75 2e 68 74 6d 6c 22 20 3a 61 75 74 68 6f 72 73 20 rg/packages/djvu.html".:authors.
30900 27 28 28 22 52 6f 6c 61 6e 64 20 57 69 6e 6b 6c 65 72 22 20 2e 20 22 77 69 6e 6b 6c 65 72 40 67 '(("Roland.Winkler"..."winkler@g
30920 6e 75 2e 6f 72 67 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 52 6f 6c 61 6e 64 20 nu.org")).:maintainer.'("Roland.
30940 57 69 6e 6b 6c 65 72 22 20 2e 20 22 77 69 6e 6b 6c 65 72 40 67 6e 75 2e 6f 72 67 22 29 20 3a 6b Winkler"..."winkler@gnu.org").:k
30960 65 79 77 6f 72 64 73 20 27 28 22 66 69 6c 65 73 22 20 22 77 70 22 29 29 0a 00 00 00 00 00 00 00 eywords.'("files"."wp"))........
30980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
309e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
30fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
310e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
311e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
312e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
313e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
314e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
315e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
316e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
317e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
318e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
319e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
31fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................