summaryrefslogtreecommitdiff
path: root/.localrepo/reformatter-0.8.tar
blob: 9b6e06973dc1c7df521bb6cdeb04755ab7906860 (plain)
ofshex dumpascii
0000 72 65 66 6f 72 6d 61 74 74 65 72 2d 30 2e 38 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 reformatter-0.8/................
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 32 33 35 32 00 20 35 00 00 00 0000000.00000000000.012352..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 72 65 66 6f 72 6d 61 74 74 65 72 2d 30 2e 38 2f 72 65 66 6f 72 6d 61 74 74 65 72 2e 65 6c 00 00 reformatter-0.8/reformatter.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 30 33 34 30 30 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 32 33 31 00 20 30 00 00 00 0034006.00000000000.015231..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 72 65 66 6f 72 6d 61 74 74 65 72 2e 65 6c 20 2d 2d 2d 20 44 65 66 69 6e 65 20 63 6f ;;;.reformatter.el.---.Define.co
0420 6d 6d 61 6e 64 73 20 77 68 69 63 68 20 72 75 6e 20 72 65 66 6f 72 6d 61 74 74 65 72 73 20 6f 6e mmands.which.run.reformatters.on
0440 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 20 2d 2a 2d 20 6c 65 78 69 63 61 6c .the.current.buffer..-*-.lexical
0460 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
0480 43 29 20 32 30 31 39 20 20 53 74 65 76 65 20 50 75 72 63 65 6c 6c 0a 0a 3b 3b 20 41 75 74 68 6f C).2019..Steve.Purcell..;;.Autho
04a0 72 3a 20 53 74 65 76 65 20 50 75 72 63 65 6c 6c 20 3c 73 74 65 76 65 40 73 61 6e 69 74 79 69 6e r:.Steve.Purcell.<steve@sanityin
04c0 63 2e 63 6f 6d 3e 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 63 6f 6e 76 65 6e 69 65 6e 63 65 2c c.com>.;;.Keywords:.convenience,
04e0 20 74 6f 6f 6c 73 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 .tools.;;.Homepage:.https://gith
0500 75 62 2e 63 6f 6d 2f 70 75 72 63 65 6c 6c 2f 65 6d 61 63 73 2d 72 65 66 6f 72 6d 61 74 74 65 72 ub.com/purcell/emacs-reformatter
0520 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 .;;.Package-Requires:.((emacs."2
0540 34 2e 33 22 29 29 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 30 2e 38 0a 0a 4.3")).;;.Package-Version:.0.8..
0560 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 61 72 65 ;;.This.program.is.free.software
0580 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 2f 6f 72 ;.you.can.redistribute.it.and/or
05a0 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 20 6f 66 .modify.;;.it.under.the.terms.of
05c0 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 73 65 20 .the.GNU.General.Public.License.
05e0 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 6f 66 74 as.published.by.;;.the.Free.Soft
0600 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 6f 6e 20 ware.Foundation,.either.version.
0620 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 6f 75 72 3.of.the.License,.or.;;.(at.your
0640 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 3b 3b 20 .option).any.later.version...;;.
0660 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 This.program.is.distributed.in.t
0680 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a he.hope.that.it.will.be.useful,.
06a0 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 ;;.but.WITHOUT.ANY.WARRANTY;.wit
06c0 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f hout.even.the.implied.warranty.o
06e0 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 f.;;.MERCHANTABILITY.or.FITNESS.
0700 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 FOR.A.PARTICULAR.PURPOSE...See.t
0720 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 he.;;.GNU.General.Public.License
0740 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c .for.more.details...;;.You.shoul
0760 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e d.have.received.a.copy.of.the.GN
0780 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e U.General.Public.License.;;.alon
07a0 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 20 73 65 g.with.this.program...If.not,.se
07c0 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f e.<https://www.gnu.org/licenses/
07e0 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 6c 69 62 >...;;;.Commentary:..;;.This.lib
0800 72 61 72 79 20 6c 65 74 73 20 65 6c 69 73 70 20 61 75 74 68 6f 72 73 20 65 61 73 69 6c 79 20 64 rary.lets.elisp.authors.easily.d
0820 65 66 69 6e 65 20 61 6e 20 69 64 69 6f 6d 61 74 69 63 20 63 6f 6d 6d 61 6e 64 0a 3b 3b 20 74 6f efine.an.idiomatic.command.;;.to
0840 20 72 65 66 6f 72 6d 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 75 73 69 .reformat.the.current.buffer.usi
0860 6e 67 20 61 20 63 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 70 72 6f 67 72 61 6d 2c 0a 3b 3b 20 74 6f ng.a.command-line.program,.;;.to
0880 67 65 74 68 65 72 20 77 69 74 68 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 6d 69 6e 6f 72 20 6d 6f gether.with.an.optional.minor.mo
08a0 64 65 20 77 68 69 63 68 20 63 61 6e 20 61 70 70 6c 79 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 0a de.which.can.apply.this.command.
08c0 3b 3b 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 6f 6e 20 73 61 76 65 2e 0a 0a 3b 3b 20 42 79 ;;.automatically.on.save...;;.By
08e0 20 64 65 66 61 75 6c 74 2c 20 72 65 66 6f 72 6d 61 74 74 65 72 2e 65 6c 20 65 78 70 65 63 74 73 .default,.reformatter.el.expects
0900 20 70 72 6f 67 72 61 6d 73 20 74 6f 20 72 65 61 64 20 66 72 6f 6d 20 73 74 64 69 6e 20 61 6e 64 .programs.to.read.from.stdin.and
0920 0a 3b 3b 20 77 72 69 74 65 20 74 6f 20 73 74 64 6f 75 74 2c 20 61 6e 64 20 79 6f 75 20 73 68 6f .;;.write.to.stdout,.and.you.sho
0940 75 6c 64 20 70 72 65 66 65 72 20 74 68 69 73 20 6d 6f 64 65 20 6f 66 20 6f 70 65 72 61 74 69 6f uld.prefer.this.mode.of.operatio
0960 6e 20 77 68 65 72 65 0a 3b 3b 20 70 6f 73 73 69 62 6c 65 2e 20 20 49 66 20 74 68 69 73 20 69 73 n.where.;;.possible...If.this.is
0980 6e 27 74 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 79 6f 75 72 20 70 61 72 74 69 63 75 6c 61 n't.possible.with.your.particula
09a0 72 20 66 6f 72 6d 61 74 74 69 6e 67 0a 3b 3b 20 70 72 6f 67 72 61 6d 2c 20 72 65 66 65 72 20 74 r.formatting.;;.program,.refer.t
09c0 6f 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 60 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 o.the.options.for.`reformatter-d
09e0 65 66 69 6e 65 27 2c 20 61 6e 64 20 73 65 65 20 74 68 65 0a 3b 3b 20 65 78 61 6d 70 6c 65 73 20 efine',.and.see.the.;;.examples.
0a00 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 27 73 20 74 65 73 74 73 2e 0a 0a 3b 3b 20 41 73 20 61 in.the.package's.tests...;;.As.a
0a20 6e 20 65 78 61 6d 70 6c 65 2c 20 6c 65 74 27 73 20 64 65 66 69 6e 65 20 61 20 72 65 66 6f 72 6d n.example,.let's.define.a.reform
0a40 61 74 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 61 70 70 6c 69 65 73 20 74 68 65 0a 3b 3b 20 22 at.command.that.applies.the.;;."
0a60 64 68 61 6c 6c 20 66 6f 72 6d 61 74 22 20 63 6f 6d 6d 61 6e 64 2e 20 20 57 65 27 6c 6c 20 61 73 dhall.format".command...We'll.as
0a80 73 75 6d 65 20 68 65 72 65 20 74 68 61 74 20 77 65 27 76 65 20 61 6c 72 65 61 64 79 20 64 65 66 sume.here.that.we've.already.def
0aa0 69 6e 65 64 20 61 0a 3b 3b 20 76 61 72 69 61 62 6c 65 20 60 64 68 61 6c 6c 2d 63 6f 6d 6d 61 6e ined.a.;;.variable.`dhall-comman
0ac0 64 27 20 77 68 69 63 68 20 68 6f 6c 64 73 20 74 68 65 20 73 74 72 69 6e 67 20 6e 61 6d 65 20 6f d'.which.holds.the.string.name.o
0ae0 72 20 70 61 74 68 20 6f 66 20 74 68 65 0a 3b 3b 20 64 68 61 6c 6c 20 65 78 65 63 75 74 61 62 6c r.path.of.the.;;.dhall.executabl
0b00 65 3a 0a 0a 3b 3b 20 20 20 20 20 28 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 65 66 69 6e 65 20 64 e:..;;.....(reformatter-define.d
0b20 68 61 6c 6c 2d 66 6f 72 6d 61 74 0a 3b 3b 20 20 20 20 20 20 20 3a 70 72 6f 67 72 61 6d 20 64 68 hall-format.;;.......:program.dh
0b40 61 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 3b 3b 20 20 20 20 20 20 20 3a 61 72 67 73 20 27 28 22 66 6f all-command.;;.......:args.'("fo
0b60 72 6d 61 74 22 29 29 0a 0a 3b 3b 20 54 68 65 20 60 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 65 66 rmat"))..;;.The.`reformatter-def
0b80 69 6e 65 27 20 6d 61 63 72 6f 20 65 78 70 61 6e 64 73 20 74 6f 20 63 6f 64 65 20 77 68 69 63 68 ine'.macro.expands.to.code.which
0ba0 20 67 65 6e 65 72 61 74 65 73 0a 3b 3b 20 60 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 62 75 66 66 .generates.;;.`dhall-format-buff
0bc0 65 72 27 20 61 6e 64 20 60 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 72 65 67 69 6f 6e 27 20 69 6e er'.and.`dhall-format-region'.in
0be0 74 65 72 61 63 74 69 76 65 0a 3b 3b 20 63 6f 6d 6d 61 6e 64 73 2c 20 61 6e 64 20 61 20 6c 6f 63 teractive.;;.commands,.and.a.loc
0c00 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 63 61 6c 6c 65 64 0a 3b 3b 20 60 64 68 61 6c 6c 2d 66 al.minor.mode.called.;;.`dhall-f
0c20 6f 72 6d 61 74 2d 6f 6e 2d 73 61 76 65 2d 6d 6f 64 65 27 2e 20 20 54 68 65 20 3a 61 72 67 73 22 ormat-on-save-mode'...The.:args"
0c40 20 61 6e 64 20 3a 70 72 6f 67 72 61 6d 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 3b 3b 20 77 69 6c .and.:program.expressions.;;.wil
0c60 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 6f 20 74 68 l.be.evaluated.at.runtime,.so.th
0c80 65 79 20 63 61 6e 20 72 65 66 65 72 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 0a 3b ey.can.refer.to.variables.that.;
0ca0 3b 20 6d 61 79 20 28 6c 61 74 65 72 29 20 68 61 76 65 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 ;.may.(later).have.a.buffer-loca
0cc0 6c 20 76 61 6c 75 65 2e 20 20 41 20 63 75 73 74 6f 6d 20 76 61 72 69 61 62 6c 65 20 77 69 6c 6c l.value...A.custom.variable.will
0ce0 20 62 65 0a 3b 3b 20 67 65 6e 65 72 61 74 65 64 20 66 6f 72 20 74 68 65 20 6d 6f 64 65 20 6c 69 .be.;;.generated.for.the.mode.li
0d00 67 68 74 65 72 2c 20 77 69 74 68 20 74 68 65 20 73 75 70 70 6c 69 65 64 20 76 61 6c 75 65 20 62 ghter,.with.the.supplied.value.b
0d20 65 63 6f 6d 69 6e 67 0a 3b 3b 20 74 68 65 20 64 65 66 61 75 6c 74 2e 0a 0a 3b 3b 20 54 68 65 20 ecoming.;;.the.default...;;.The.
0d40 67 65 6e 65 72 61 74 65 64 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 61 6c 6c 6f 77 73 20 69 64 69 6f generated.minor.mode.allows.idio
0d60 6d 61 74 69 63 20 70 65 72 2d 64 69 72 65 63 74 6f 72 79 20 6f 72 20 70 65 72 2d 66 69 6c 65 0a matic.per-directory.or.per-file.
0d80 3b 3b 20 63 75 73 74 6f 6d 69 73 61 74 69 6f 6e 2c 20 76 69 61 20 74 68 65 20 22 6d 6f 64 65 73 ;;.customisation,.via.the."modes
0da0 22 20 73 75 70 70 6f 72 74 20 62 61 6b 65 64 20 69 6e 74 6f 20 45 6d 61 63 73 27 20 66 69 6c 65 ".support.baked.into.Emacs'.file
0dc0 2d 6c 6f 63 61 6c 0a 3b 3b 20 61 6e 64 20 64 69 72 65 63 74 6f 72 79 2d 6c 6f 63 61 6c 20 76 61 -local.;;.and.directory-local.va
0de0 72 69 61 62 6c 65 73 20 6d 65 63 68 61 6e 69 73 6d 73 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 riables.mechanisms...For.example
0e00 2c 20 75 73 65 72 73 20 6f 66 0a 3b 3b 20 74 68 65 20 61 62 6f 76 65 20 65 78 61 6d 70 6c 65 20 ,.users.of.;;.the.above.example.
0e20 6d 69 67 68 74 20 61 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 61 20 70 72 6f might.add.the.following.to.a.pro
0e40 6a 65 63 74 2d 73 70 65 63 69 66 69 63 0a 3b 3b 20 2e 64 69 72 2d 6c 6f 63 61 6c 73 2e 65 6c 20 ject-specific.;;..dir-locals.el.
0e60 66 69 6c 65 3a 0a 0a 3b 3b 20 20 20 20 20 28 28 64 68 61 6c 6c 2d 6d 6f 64 65 0a 3b 3b 20 20 20 file:..;;.....((dhall-mode.;;...
0e80 20 20 20 20 28 6d 6f 64 65 20 2e 20 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 6f 6e 2d 73 61 76 65 ....(mode...dhall-format-on-save
0ea0 29 29 29 0a 0a 3b 3b 20 53 65 65 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f )))..;;.See.the.documentation.fo
0ec0 72 20 60 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 65 66 69 6e 65 27 2c 20 77 68 69 63 68 20 70 72 r.`reformatter-define',.which.pr
0ee0 6f 76 69 64 65 73 20 61 0a 3b 3b 20 6e 75 6d 62 65 72 20 6f 66 20 6f 70 74 69 6f 6e 73 20 66 6f ovides.a.;;.number.of.options.fo
0f00 72 20 63 75 73 74 6f 6d 69 73 69 6e 67 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 r.customising.the.generated.code
0f20 2e 0a 0a 3b 3b 20 4c 69 62 72 61 72 79 20 61 75 74 68 6f 72 73 20 6d 69 67 68 74 20 6c 69 6b 65 ...;;.Library.authors.might.like
0f40 20 74 6f 20 70 72 6f 76 69 64 65 20 61 75 74 6f 6c 6f 61 64 73 20 66 6f 72 20 74 68 65 20 67 65 .to.provide.autoloads.for.the.ge
0f60 6e 65 72 61 74 65 64 0a 3b 3b 20 63 6f 64 65 2c 20 65 2e 67 2e 3a 0a 0a 3b 3b 20 20 20 20 20 3b nerated.;;.code,.e.g.:..;;.....;
0f80 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 20 28 61 75 74 6f 6c 6f 61 64 20 27 64 68 61 6c 6c 2d 66 ;;###autoload.(autoload.'dhall-f
0fa0 6f 72 6d 61 74 2d 62 75 66 66 65 72 20 22 63 75 72 72 65 6e 74 2d 66 69 6c 65 22 20 6e 69 6c 20 ormat-buffer."current-file".nil.
0fc0 74 29 0a 3b 3b 20 20 20 20 20 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 20 28 61 75 74 6f 6c 6f t).;;.....;;;###autoload.(autolo
0fe0 61 64 20 27 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 72 65 67 69 6f 6e 20 22 63 75 72 72 65 6e 74 ad.'dhall-format-region."current
1000 2d 66 69 6c 65 22 20 6e 69 6c 20 74 29 0a 3b 3b 20 20 20 20 20 3b 3b 3b 23 23 23 61 75 74 6f 6c -file".nil.t).;;.....;;;###autol
1020 6f 61 64 20 28 61 75 74 6f 6c 6f 61 64 20 27 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 6f 6e 2d 73 oad.(autoload.'dhall-format-on-s
1040 61 76 65 2d 6d 6f 64 65 20 22 63 75 72 72 65 6e 74 2d 66 69 6c 65 22 20 6e 69 6c 20 74 29 0a 0a ave-mode."current-file".nil.t)..
1060 3b 3b 3b 20 43 6f 64 65 3a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 ;;;.Code:.(eval-when-compile...(
1080 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 29 0a 28 72 65 71 75 69 72 65 20 27 61 6e 73 69 require.'cl-lib)).(require.'ansi
10a0 2d 63 6f 6c 6f 72 29 0a 0a 28 64 65 66 75 6e 20 72 65 66 6f 72 6d 61 74 74 65 72 2d 2d 6d 61 6b -color)..(defun.reformatter--mak
10c0 65 2d 74 65 6d 70 2d 66 69 6c 65 20 28 73 79 6d 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 74 65 e-temp-file.(sym)..."Create.a.te
10e0 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 77 68 6f 73 65 20 66 69 6c 65 6e 61 6d 65 20 69 73 20 62 mporary.file.whose.filename.is.b
1100 61 73 65 64 20 6f 6e 20 53 59 4d 2c 20 62 75 74 20 77 69 74 68 0a 73 6c 61 73 68 65 73 20 72 65 ased.on.SYM,.but.with.slashes.re
1120 70 6c 61 63 65 64 20 62 79 20 75 6e 64 65 72 73 63 6f 72 65 73 2e 20 20 60 6d 61 6b 65 2d 74 65 placed.by.underscores...`make-te
1140 6d 70 2d 66 69 6c 65 27 20 66 61 69 6c 73 0a 6f 74 68 65 72 77 69 73 65 20 61 73 20 69 74 20 63 mp-file'.fails.otherwise.as.it.c
1160 61 6e 6e 6f 74 20 63 72 65 61 74 65 20 69 6e 74 65 72 6d 65 64 69 61 74 65 20 64 69 72 65 63 74 annot.create.intermediate.direct
1180 6f 72 69 65 73 2e 22 0a 20 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 0a 20 20 20 28 72 65 ories."...(make-temp-file....(re
11a0 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 2f 22 20 22 5f 22 20 28 place-regexp-in-string."/"."_".(
11c0 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 72 65 66 6f symbol-name.sym))))..(defun.refo
11e0 72 6d 61 74 74 65 72 2d 2d 64 6f 2d 72 65 67 69 6f 6e 20 28 6e 61 6d 65 20 62 65 67 20 65 6e 64 rmatter--do-region.(name.beg.end
1200 20 70 72 6f 67 72 61 6d 20 61 72 67 73 20 73 74 64 69 6e 20 73 74 64 6f 75 74 20 69 6e 70 75 74 .program.args.stdin.stdout.input
1220 2d 66 69 6c 65 20 65 78 69 74 2d 63 6f 64 65 2d 73 75 63 63 65 73 73 2d 70 20 64 69 73 70 6c 61 -file.exit-code-success-p.displa
1240 79 2d 65 72 72 6f 72 73 29 0a 20 20 22 44 6f 20 74 68 65 20 77 6f 72 6b 20 6f 66 20 72 65 66 6f y-errors)..."Do.the.work.of.refo
1260 72 6d 61 74 74 65 72 20 63 61 6c 6c 65 64 20 4e 41 4d 45 2e 0a 52 65 66 6f 72 6d 61 74 73 20 74 rmatter.called.NAME..Reformats.t
1280 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 27 73 20 72 65 67 69 6f 6e 20 66 72 6f 6d 20 he.current.buffer's.region.from.
12a0 42 45 47 20 74 6f 20 45 4e 44 20 75 73 69 6e 67 0a 50 52 4f 47 52 41 4d 20 61 6e 64 20 41 52 47 BEG.to.END.using.PROGRAM.and.ARG
12c0 53 2e 20 20 46 6f 72 20 61 72 67 73 20 53 54 44 49 4e 2c 20 53 54 44 4f 55 54 2c 20 49 4e 50 55 S...For.args.STDIN,.STDOUT,.INPU
12e0 54 2d 46 49 4c 45 2c 0a 45 58 49 54 2d 43 4f 44 45 2d 53 55 43 43 45 53 53 2d 50 20 61 6e 64 20 T-FILE,.EXIT-CODE-SUCCESS-P.and.
1300 44 49 53 50 4c 41 59 2d 45 52 52 4f 52 53 20 73 65 65 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 DISPLAY-ERRORS.see.the.documenta
1320 74 69 6f 6e 20 6f 66 0a 74 68 65 20 60 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 65 66 69 6e 65 27 tion.of.the.`reformatter-define'
1340 20 6d 61 63 72 6f 2e 22 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 20 69 6e 70 75 74 2d 66 69 6c 65 .macro."...(cl-assert.input-file
1360 29 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 66 75 6e 63 74 69 6f 6e 70 20 65 78 69 74 2d 63 )...(cl-assert.(functionp.exit-c
1380 6f 64 65 2d 73 75 63 63 65 73 73 2d 70 29 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 69 6e 70 ode-success-p))...(when.(and.inp
13a0 75 74 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 66 69 6c ut-file..............(buffer-fil
13c0 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 28 66 e-name)..............(string=.(f
13e0 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 69 6e 70 75 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 ile-truename.input-file)........
1400 20 20 20 20 20 20 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 62 ...............(file-truename.(b
1420 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 uffer-file-name)))).....(error."
1440 54 68 65 20 72 65 66 6f 72 6d 61 74 74 65 72 20 6d 75 73 74 20 6e 6f 74 20 6f 70 65 72 61 74 65 The.reformatter.must.not.operate
1460 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 66 69 6c 65 20 69 6e 2d 70 6c 61 63 65 22 29 29 .on.the.current.file.in-place"))
1480 0a 20 20 28 6c 65 74 2a 20 28 28 73 74 64 65 72 72 2d 66 69 6c 65 20 28 72 65 66 6f 72 6d 61 74 ...(let*.((stderr-file.(reformat
14a0 74 65 72 2d 2d 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 ter--make-temp-file.name))......
14c0 20 20 20 20 28 73 74 64 6f 75 74 2d 66 69 6c 65 20 28 72 65 66 6f 72 6d 61 74 74 65 72 2d 2d 6d ....(stdout-file.(reformatter--m
14e0 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b ake-temp-file.name))..........;;
1500 20 53 65 74 74 69 6e 67 20 74 68 69 73 20 63 6f 64 69 6e 67 20 73 79 73 74 65 6d 20 6d 69 67 68 .Setting.this.coding.system.migh
1520 74 20 6e 6f 74 20 75 6e 69 76 65 72 73 61 6c 6c 79 20 62 65 0a 20 20 20 20 20 20 20 20 20 3b 3b t.not.universally.be..........;;
1540 20 74 68 65 20 62 65 73 74 20 64 65 66 61 75 6c 74 2c 20 62 75 74 20 77 61 73 20 61 70 70 61 72 .the.best.default,.but.was.appar
1560 65 6e 74 6c 79 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 ently.necessary.for..........;;.
1580 73 6f 6d 65 20 68 61 6e 64 2d 72 6f 6c 6c 65 64 20 72 65 66 6f 72 6d 61 74 74 65 72 20 66 75 6e some.hand-rolled.reformatter.fun
15a0 63 74 69 6f 6e 73 20 74 68 61 74 20 74 68 69 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 62 ctions.that.this..........;;.lib
15c0 72 61 72 79 20 77 61 73 20 77 72 69 74 74 65 6e 20 74 6f 20 72 65 70 6c 61 63 65 2e 0a 20 20 20 rary.was.written.to.replace.....
15e0 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 20 27 75 ......(coding-system-for-read.'u
1600 74 66 2d 38 29 0a 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 tf-8)..........(coding-system-fo
1620 72 2d 77 72 69 74 65 20 27 75 74 66 2d 38 29 29 0a 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f r-write.'utf-8)).....(unwind-pro
1640 74 65 63 74 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 77 tect.........(progn...........(w
1660 72 69 74 65 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 6e 64 20 69 6e 70 75 74 2d 66 69 6c 65 20 6e rite-region.beg.end.input-file.n
1680 69 6c 20 3a 71 75 69 65 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 65 72 72 il.:quiet)...........(let*.((err
16a0 6f 72 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 28 66 6f or-buffer.(get-buffer-create.(fo
16c0 72 6d 61 74 20 22 2a 25 73 20 65 72 72 6f 72 73 2a 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 rmat."*%s.errors*".name)))......
16e0 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 74 63 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 ............(retcode............
1700 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 0a 20 20 20 20 20 20 20 .......(condition-case.e........
1720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 63 61 6c 6c 2d 70 72 6f 63 ...............(apply.'call-proc
1740 65 73 73 20 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ess.program.....................
1760 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 73 74 64 69 6e 20 69 6e 70 75 74 2d 66 69 6c 65 29 .........(when.stdin.input-file)
1780 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 6c ..............................(l
17a0 69 73 74 20 28 6c 69 73 74 20 3a 66 69 6c 65 20 73 74 64 6f 75 74 2d 66 69 6c 65 29 20 73 74 64 ist.(list.:file.stdout-file).std
17c0 65 72 72 2d 66 69 6c 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 err-file).......................
17e0 20 20 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 20 20 20 20 .......nil......................
1800 20 20 20 20 20 20 20 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........args)...................
1820 20 20 28 65 72 72 6f 72 20 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 ..(error.e)))).............(with
1840 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 0a 20 20 20 -current-buffer.error-buffer....
1860 20 20 20 20 20 20 20 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 ...........(let.((inhibit-read-o
1880 6e 6c 79 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d nly.t)).................(insert-
18a0 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 73 74 64 65 72 72 2d 66 69 6c 65 20 6e 69 6c 20 6e 69 file-contents.stderr-file.nil.ni
18c0 6c 20 6e 69 6c 20 74 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 l.nil.t).................(unless
18e0 20 28 69 6e 74 65 67 65 72 70 20 72 65 74 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(integerp.retcode).............
1900 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 2d 73 74 72 ......(insert.(error-message-str
1920 69 6e 67 20 72 65 74 63 6f 64 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ing.retcode))).................(
1940 61 6e 73 69 2d 63 6f 6c 6f 72 2d 61 70 70 6c 79 2d 6f 6e 2d 72 65 67 69 6f 6e 20 28 70 6f 69 6e ansi-color-apply-on-region.(poin
1960 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 t-min).(point-max)))............
1980 20 20 20 28 73 70 65 63 69 61 6c 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ...(special-mode)).............(
19a0 69 66 20 28 61 6e 64 20 28 69 6e 74 65 67 65 72 70 20 72 65 74 63 6f 64 65 29 20 28 66 75 6e 63 if.(and.(integerp.retcode).(func
19c0 61 6c 6c 20 65 78 69 74 2d 63 6f 64 65 2d 73 75 63 63 65 73 73 2d 70 20 72 65 74 63 6f 64 65 29 all.exit-code-success-p.retcode)
19e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 ).................(progn........
1a00 20 20 20 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 ...........(save-restriction....
1a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 72 65 70 6c 61 63 65 .................;;.This.replace
1a40 6d 65 6e 74 20 6d 65 74 68 6f 64 20 6d 69 6e 69 6d 69 73 65 73 0a 20 20 20 20 20 20 20 20 20 20 ment.method.minimises...........
1a60 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 69 73 72 75 70 74 69 6f 6e 20 74 6f 20 6d 61 72 6b 65 ..........;;.disruption.to.marke
1a80 72 20 70 6f 73 69 74 69 6f 6e 73 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 r.positions.and.the.............
1aa0 20 20 20 20 20 20 20 20 3b 3b 20 75 6e 64 6f 20 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 ........;;.undo.list............
1ac0 20 20 20 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 62 65 67 20 65 .........(narrow-to-region.beg.e
1ae0 6e 64 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 66 6f 72 6d 61 nd).....................(reforma
1b00 74 74 65 72 2d 72 65 70 6c 61 63 65 2d 62 75 66 66 65 72 2d 63 6f 6e 74 65 6e 74 73 2d 66 72 6f tter-replace-buffer-contents-fro
1b20 6d 2d 66 69 6c 65 20 28 69 66 20 73 74 64 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m-file.(if.stdout...............
1b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 64 6f 75 74 2d .........................stdout-
1b80 66 69 6c 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 file............................
1ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1bc0 20 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 ..........input-file))).........
1be0 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 20 65 72 72 ..........;;.If.there.are.no.err
1c00 6f 72 73 20 74 68 65 6e 20 77 65 20 68 69 64 65 20 74 68 65 20 65 72 72 6f 72 20 62 75 66 66 65 ors.then.we.hide.the.error.buffe
1c20 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 77 69 6e 64 r...................(delete-wind
1c40 6f 77 73 2d 6f 6e 20 65 72 72 6f 72 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 ows-on.error-buffer))...........
1c60 20 20 20 20 28 69 66 20 64 69 73 70 6c 61 79 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 ....(if.display-errors..........
1c80 20 20 20 20 20 20 20 20 20 28 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 20 65 72 72 6f 72 2d 62 .........(display-buffer.error-b
1ca0 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 uffer).................(message.
1cc0 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6e 61 6d 65 29 20 22 20 66 61 69 (concat.(symbol-name.name).".fai
1ce0 6c 65 64 3a 20 73 65 65 20 25 73 22 29 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 65 72 72 6f 72 led:.see.%s").(buffer-name.error
1d00 2d 62 75 66 66 65 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 -buffer)))))).......(delete-file
1d20 20 73 74 64 65 72 72 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 .stderr-file).......(delete-file
1d40 20 73 74 64 6f 75 74 2d 66 69 6c 65 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 .stdout-file))))..;;;###autoload
1d60 0a 28 63 6c 2d 64 65 66 6d 61 63 72 6f 20 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 65 66 69 6e 65 .(cl-defmacro.reformatter-define
1d80 20 28 6e 61 6d 65 20 26 6b 65 79 20 70 72 6f 67 72 61 6d 20 61 72 67 73 20 28 6d 6f 64 65 20 74 .(name.&key.program.args.(mode.t
1da0 29 20 28 73 74 64 69 6e 20 74 29 20 28 73 74 64 6f 75 74 20 74 29 20 69 6e 70 75 74 2d 66 69 6c ).(stdin.t).(stdout.t).input-fil
1dc0 65 20 6c 69 67 68 74 65 72 20 6b 65 79 6d 61 70 20 67 72 6f 75 70 20 28 65 78 69 74 2d 63 6f 64 e.lighter.keymap.group.(exit-cod
1de0 65 2d 73 75 63 63 65 73 73 2d 70 20 27 7a 65 72 6f 70 29 29 0a 20 20 22 44 65 66 69 6e 65 20 61 e-success-p.'zerop))..."Define.a
1e00 20 72 65 66 6f 72 6d 61 74 74 65 72 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 4e 41 4d 45 2e 0a .reformatter.command.with.NAME..
1e20 0a 57 68 65 6e 20 63 61 6c 6c 65 64 2c 20 74 68 65 20 72 65 66 6f 72 6d 61 74 74 65 72 20 77 69 .When.called,.the.reformatter.wi
1e40 6c 6c 20 75 73 65 20 50 52 4f 47 52 41 4d 20 61 6e 64 20 61 6e 79 20 41 52 47 53 20 74 6f 0a 72 ll.use.PROGRAM.and.any.ARGS.to.r
1e60 65 66 6f 72 6d 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 20 20 54 68 65 eformat.the.current.buffer...The
1e80 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 20 77 69 6c 6c 20 62 65 0a .contents.of.the.buffer.will.be.
1ea0 70 61 73 73 65 64 20 61 73 20 73 74 61 6e 64 61 72 64 20 69 6e 70 75 74 20 74 6f 20 74 68 65 20 passed.as.standard.input.to.the.
1ec0 72 65 66 6f 72 6d 61 74 74 65 72 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 6f 75 74 70 75 74 reformatter,.which.should.output
1ee0 0a 74 68 65 6d 20 74 6f 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2e 20 20 41 20 6e 6f 6e .them.to.standard.output...A.non
1f00 7a 65 72 6f 20 65 78 69 74 20 63 6f 64 65 20 77 69 6c 6c 20 62 65 20 72 65 70 6f 72 74 65 64 20 zero.exit.code.will.be.reported.
1f20 61 73 0a 66 61 69 6c 75 72 65 2c 20 61 6e 64 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 74 68 as.failure,.and.the.output.of.th
1f40 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 73 74 61 6e 64 61 72 64 20 65 72 72 6f 72 20 77 69 6c 6c e.command.to.standard.error.will
1f60 20 62 65 0a 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 2e 0a 0a 54 68 65 20 .be.displayed.to.the.user...The.
1f80 6d 61 63 72 6f 20 61 63 63 65 70 74 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6b 65 79 77 macro.accepts.the.following.keyw
1fa0 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 3a 0a 0a 50 52 4f 47 52 41 4d 20 28 72 65 71 75 69 72 65 ord.arguments:..PROGRAM.(require
1fc0 64 29 0a 0a 20 20 50 72 6f 76 69 64 65 73 20 61 20 66 6f 72 6d 20 77 68 69 63 68 20 73 68 6f 75 d)....Provides.a.form.which.shou
1fe0 6c 64 20 65 76 61 6c 75 61 74 65 20 74 6f 20 61 20 73 74 72 69 6e 67 20 61 74 20 72 75 6e 74 69 ld.evaluate.to.a.string.at.runti
2000 6d 65 2c 0a 20 20 65 2e 67 2e 20 61 20 6c 69 74 65 72 61 6c 20 73 74 72 69 6e 67 2c 20 6f 72 20 me,...e.g..a.literal.string,.or.
2020 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 76 61 72 69 61 62 6c 65 20 77 68 69 63 68 20 68 6f 6c the.name.of.a.variable.which.hol
2040 64 73 0a 20 20 74 68 65 20 70 72 6f 67 72 61 6d 20 70 61 74 68 2e 0a 0a 41 52 47 53 0a 0a 20 20 ds...the.program.path...ARGS....
2060 43 6f 6d 6d 61 6e 64 2d 6c 69 6e 65 20 61 72 67 75 6d 65 6e 74 73 20 66 6f 72 20 74 68 65 20 70 Command-line.arguments.for.the.p
2080 72 6f 67 72 61 6d 2e 20 20 49 66 20 70 72 6f 76 69 64 65 64 2c 20 74 68 69 73 20 69 73 20 61 0a rogram...If.provided,.this.is.a.
20a0 20 20 66 6f 72 6d 20 77 68 69 63 68 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 61 20 6c 69 73 74 ..form.which.evaluates.to.a.list
20c0 20 6f 66 20 73 74 72 69 6e 67 73 20 61 74 20 72 75 6e 74 69 6d 65 2e 20 20 44 65 66 61 75 6c 74 .of.strings.at.runtime...Default
20e0 0a 20 20 69 73 20 74 68 65 20 65 6d 70 74 79 20 6c 69 73 74 2e 20 20 54 68 69 73 20 66 6f 72 6d ...is.the.empty.list...This.form
2100 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 73 6f 20 74 68 61 74 .is.evaluated.at.runtime.so.that
2120 0a 20 20 79 6f 75 20 63 61 6e 20 75 73 65 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 ...you.can.use.buffer-local.vari
2140 61 62 6c 65 73 20 74 6f 20 69 6e 66 6c 75 65 6e 63 65 20 74 68 65 20 61 72 67 73 20 70 61 73 73 ables.to.influence.the.args.pass
2160 65 64 0a 20 20 74 6f 20 74 68 65 20 72 65 66 6f 72 6d 61 74 74 65 72 20 70 72 6f 67 72 61 6d 3a ed...to.the.reformatter.program:
2180 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 69 6e 70 75 74 2d 66 69 6c 65 27 20 77 69 6c 6c 20 .the.variable.`input-file'.will.
21a0 62 65 0a 20 20 6c 65 78 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 70 61 74 68 be...lexically.bound.to.the.path
21c0 20 6f 66 20 61 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 74 65 78 74 20 74 .of.a.file.containing.the.text.t
21e0 6f 20 62 65 0a 20 20 72 65 66 6f 72 6d 61 74 74 65 64 3a 20 73 65 65 20 74 68 65 20 6b 65 79 77 o.be...reformatted:.see.the.keyw
2200 6f 72 64 20 6f 70 74 69 6f 6e 73 20 49 4e 50 55 54 2d 46 49 4c 45 2c 20 53 54 44 49 4e 20 61 6e ord.options.INPUT-FILE,.STDIN.an
2220 64 0a 20 20 53 54 44 4f 55 54 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e d...STDOUT.for.more.information.
2240 0a 0a 53 54 44 49 4e 0a 0a 20 20 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 20 28 74 68 65 20 64 65 66 ..STDIN....When.non-nil.(the.def
2260 61 75 6c 74 29 2c 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 70 61 73 73 65 64 20 74 68 65 ault),.the.program.is.passed.the
2280 20 69 6e 70 75 74 0a 20 20 64 61 74 61 20 6f 6e 20 73 74 64 69 6e 2e 20 20 53 65 74 20 74 68 69 .input...data.on.stdin...Set.thi
22a0 73 20 74 6f 20 6e 69 6c 20 77 68 65 6e 20 79 6f 75 72 20 72 65 66 6f 72 6d 61 74 74 65 72 20 63 s.to.nil.when.your.reformatter.c
22c0 61 6e 20 6f 6e 6c 79 0a 20 20 6f 70 65 72 61 74 65 20 6f 6e 20 66 69 6c 65 73 20 69 6e 20 70 6c an.only...operate.on.files.in.pl
22e0 61 63 65 2e 20 20 49 6e 20 73 75 63 68 20 61 20 63 61 73 65 2c 20 79 6f 75 72 20 41 52 47 53 20 ace...In.such.a.case,.your.ARGS.
2300 73 68 6f 75 6c 64 0a 20 20 69 6e 63 6c 75 64 65 20 61 20 72 65 66 65 72 65 6e 63 65 20 74 6f 20 should...include.a.reference.to.
2320 74 68 65 20 60 69 6e 70 75 74 2d 66 69 6c 65 27 20 76 61 72 69 61 62 6c 65 2c 20 77 68 69 63 68 the.`input-file'.variable,.which
2340 20 77 69 6c 6c 20 62 65 0a 20 20 62 6f 75 6e 64 20 74 6f 20 61 6e 20 69 6e 70 75 74 20 70 61 74 .will.be...bound.to.an.input.pat
2360 68 20 77 68 65 6e 20 65 76 61 6c 75 61 74 65 64 2e 0a 0a 53 54 44 4f 55 54 0a 0a 20 20 57 68 65 h.when.evaluated...STDOUT....Whe
2380 6e 20 6e 6f 6e 2d 6e 69 6c 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 74 68 65 20 70 72 6f n.non-nil.(the.default),.the.pro
23a0 67 72 61 6d 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 77 72 69 74 65 0a 20 20 74 68 65 20 gram.is.expected.to.write...the.
23c0 72 65 66 6f 72 6d 61 74 74 65 64 20 74 65 78 74 20 74 6f 20 73 74 64 6f 75 74 2e 20 20 53 65 74 reformatted.text.to.stdout...Set
23e0 20 74 68 69 73 20 74 6f 20 6e 69 6c 20 69 66 20 79 6f 75 72 0a 20 20 72 65 66 6f 72 6d 61 74 74 .this.to.nil.if.your...reformatt
2400 65 72 20 63 61 6e 20 6f 6e 6c 79 20 6f 70 65 72 61 74 65 20 6f 6e 20 66 69 6c 65 73 20 69 6e 20 er.can.only.operate.on.files.in.
2420 70 6c 61 63 65 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 0a 20 20 74 68 65 20 63 6f 6e 74 65 place,.in.which.case...the.conte
2440 6e 74 73 20 6f 66 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 69 6e 70 75 74 20 66 69 6c 65 20 nts.of.the.temporary.input.file.
2460 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 0a 20 20 72 65 70 6c 61 63 65 6d 65 6e will.be.used.as.the...replacemen
2480 74 20 74 65 78 74 2e 0a 0a 49 4e 50 55 54 2d 46 49 4c 45 0a 0a 20 20 53 6f 6d 65 74 69 6d 65 73 t.text...INPUT-FILE....Sometimes
24a0 20 79 6f 75 72 20 72 65 66 6f 72 6d 61 74 74 65 72 20 70 72 6f 67 72 61 6d 20 6d 69 67 68 74 20 .your.reformatter.program.might.
24c0 65 78 70 65 63 74 20 66 69 6c 65 73 20 74 6f 20 62 65 20 69 6e 0a 20 20 61 20 63 65 72 74 61 69 expect.files.to.be.in...a.certai
24e0 6e 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 68 61 76 65 20 61 20 63 65 72 74 61 69 6e 20 66 69 n.directory.or.have.a.certain.fi
2500 6c 65 20 65 78 74 65 6e 73 69 6f 6e 2e 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 0a 20 20 6c 65 74 le.extension...This.option...let
2520 73 20 79 6f 75 20 68 61 6e 64 6c 65 20 74 68 61 74 2e 0a 0a 20 20 49 66 20 70 72 6f 76 69 64 65 s.you.handle.that.....If.provide
2540 64 2c 20 69 74 20 69 73 20 61 20 66 6f 72 6d 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 65 76 d,.it.is.a.form.which.will.be.ev
2560 61 6c 75 61 74 65 64 20 62 65 66 6f 72 65 20 65 61 63 68 0a 20 20 72 75 6e 20 6f 66 20 74 68 65 aluated.before.each...run.of.the
2580 20 66 6f 72 6d 61 74 74 65 72 2c 20 61 6e 64 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 72 .formatter,.and.is.expected.to.r
25a0 65 74 75 72 6e 20 61 20 74 65 6d 70 6f 72 61 72 79 0a 20 20 66 69 6c 65 20 70 61 74 68 20 73 75 eturn.a.temporary...file.path.su
25c0 69 74 61 62 6c 65 20 66 6f 72 20 68 6f 6c 64 69 6e 67 20 74 68 65 20 72 65 67 69 6f 6e 20 74 6f itable.for.holding.the.region.to
25e0 20 62 65 20 72 65 66 6f 72 6d 61 74 74 65 64 2e 0a 20 20 49 74 20 6d 75 73 74 20 6e 6f 74 20 70 .be.reformatted....It.must.not.p
2600 72 6f 64 75 63 65 20 74 68 65 20 73 61 6d 65 20 70 61 74 68 20 61 73 20 74 68 65 20 63 75 72 72 roduce.the.same.path.as.the.curr
2620 65 6e 74 20 62 75 66 66 65 72 27 73 20 66 69 6c 65 0a 20 20 69 66 20 74 68 61 74 20 69 73 20 73 ent.buffer's.file...if.that.is.s
2640 65 74 3a 20 79 6f 75 20 73 68 6f 75 6c 64 6e 27 74 20 62 65 20 6f 70 65 72 61 74 69 6e 67 20 64 et:.you.shouldn't.be.operating.d
2660 69 72 65 63 74 6c 79 20 6f 6e 20 74 68 65 0a 20 20 62 75 66 66 65 72 27 73 20 62 61 63 6b 69 6e irectly.on.the...buffer's.backin
2680 67 20 66 69 6c 65 2e 20 20 54 68 65 20 74 65 6d 70 6f 72 61 72 79 20 69 6e 70 75 74 20 66 69 6c g.file...The.temporary.input.fil
26a0 65 20 77 69 6c 6c 20 62 65 0a 20 20 64 65 6c 65 74 65 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c e.will.be...deleted.automaticall
26c0 79 2e 20 20 59 6f 75 20 6d 69 67 68 74 20 66 69 6e 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 y...You.might.find.the.functions
26e0 0a 20 20 60 72 65 66 6f 72 6d 61 74 74 65 72 2d 74 65 6d 70 2d 66 69 6c 65 2d 69 6e 2d 63 75 72 ...`reformatter-temp-file-in-cur
2700 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 27 20 61 6e 64 0a 20 20 60 72 65 66 6f 72 6d 61 74 74 rent-directory'.and...`reformatt
2720 65 72 2d 74 65 6d 70 2d 66 69 6c 65 27 20 68 65 6c 70 66 75 6c 2e 0a 0a 4d 4f 44 45 0a 0a 20 20 er-temp-file'.helpful...MODE....
2740 55 6e 6c 65 73 73 20 6e 69 6c 2c 20 61 6c 73 6f 20 67 65 6e 65 72 61 74 65 20 61 20 6d 69 6e 6f Unless.nil,.also.generate.a.mino
2760 72 20 6d 6f 64 65 20 74 68 61 74 20 77 69 6c 6c 20 63 61 6c 6c 20 74 68 65 0a 20 20 72 65 66 6f r.mode.that.will.call.the...refo
2780 72 6d 61 74 74 65 72 20 63 6f 6d 6d 61 6e 64 20 66 72 6f 6d 20 60 62 65 66 6f 72 65 2d 73 61 76 rmatter.command.from.`before-sav
27a0 65 2d 68 6f 6f 6b 27 20 77 68 65 6e 20 65 6e 61 62 6c 65 64 2e 0a 20 20 44 65 66 61 75 6c 74 20 e-hook'.when.enabled....Default.
27c0 69 73 20 74 2e 0a 0a 47 52 4f 55 50 0a 0a 20 20 49 66 20 70 72 6f 76 69 64 65 64 2c 20 74 68 69 is.t...GROUP....If.provided,.thi
27e0 73 20 69 73 20 74 68 65 20 63 75 73 74 6f 6d 20 67 72 6f 75 70 20 75 73 65 64 20 66 6f 72 20 61 s.is.the.custom.group.used.for.a
2800 6e 79 20 67 65 6e 65 72 61 74 65 64 0a 20 20 6d 6f 64 65 73 20 6f 72 20 63 75 73 74 6f 6d 20 76 ny.generated...modes.or.custom.v
2820 61 72 69 61 62 6c 65 73 2e 20 20 44 6f 6e 27 74 20 66 6f 72 67 65 74 20 74 6f 20 64 65 63 6c 61 ariables...Don't.forget.to.decla
2840 72 65 20 74 68 69 73 20 67 72 6f 75 70 0a 20 20 75 73 69 6e 67 20 61 20 60 64 65 66 67 72 6f 75 re.this.group...using.a.`defgrou
2860 70 27 20 66 6f 72 6d 2e 0a 0a 4c 49 47 48 54 45 52 0a 0a 20 20 49 66 20 70 72 6f 76 69 64 65 64 p'.form...LIGHTER....If.provided
2880 2c 20 74 68 69 73 20 69 73 20 61 20 6d 6f 64 65 20 6c 69 67 68 74 65 72 20 73 74 72 69 6e 67 20 ,.this.is.a.mode.lighter.string.
28a0 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 75 73 65 64 0a 20 20 66 6f 72 20 74 68 65 20 5c 22 2d which.will.be.used...for.the.\"-
28c0 6f 6e 2d 73 61 76 65 5c 22 20 6d 69 6e 6f 72 20 6d 6f 64 65 2e 20 20 49 74 20 73 68 6f 75 6c 64 on-save\".minor.mode...It.should
28e0 20 68 61 76 65 20 61 20 6c 65 61 64 69 6e 67 0a 20 20 73 70 61 63 65 2e 20 20 54 68 65 20 73 75 .have.a.leading...space...The.su
2900 70 70 6c 69 65 64 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 pplied.value.will.be.used.as.the
2920 20 64 65 66 61 75 6c 74 20 66 6f 72 20 61 0a 20 20 67 65 6e 65 72 61 74 65 64 20 63 75 73 74 6f .default.for.a...generated.custo
2940 6d 20 76 61 72 69 61 62 6c 65 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d m.variable.which.specifies.the.m
2960 6f 64 65 20 6c 69 67 68 74 65 72 2e 0a 20 20 44 65 66 61 75 6c 74 20 69 73 20 6e 69 6c 2c 20 69 ode.lighter....Default.is.nil,.i
2980 65 2e 20 6e 6f 20 6c 69 67 68 74 65 72 2e 0a 0a 4b 45 59 4d 41 50 0a 0a 20 20 49 66 20 70 72 6f e..no.lighter...KEYMAP....If.pro
29a0 76 69 64 65 64 2c 20 74 68 69 73 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 20 6f vided,.this.is.the.symbol.name.o
29c0 66 20 74 68 65 20 5c 22 2d 6f 6e 2d 73 61 76 65 5c 22 20 6d 6f 64 65 27 73 0a 20 20 6b 65 79 6d f.the.\"-on-save\".mode's...keym
29e0 61 70 2c 20 77 68 69 63 68 20 79 6f 75 20 6d 75 73 74 20 64 65 63 6c 61 72 65 20 79 6f 75 72 73 ap,.which.you.must.declare.yours
2a00 65 6c 66 2e 20 20 44 65 66 61 75 6c 74 20 69 73 20 6e 6f 20 6b 65 79 6d 61 70 2e 0a 0a 45 58 49 elf...Default.is.no.keymap...EXI
2a20 54 2d 43 4f 44 45 2d 53 55 43 43 45 53 53 2d 50 0a 0a 20 20 49 66 20 70 72 6f 76 69 64 65 64 2c T-CODE-SUCCESS-P....If.provided,
2a40 20 74 68 69 73 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 74 20 63 61 6c 6c 61 .this.is.a.function.object.calla
2a60 62 6c 65 20 77 69 74 68 20 60 66 75 6e 63 61 6c 6c 27 0a 20 20 77 68 69 63 68 20 61 63 63 65 70 ble.with.`funcall'...which.accep
2a80 74 73 20 61 6e 20 69 6e 74 65 67 65 72 20 70 72 6f 63 65 73 73 20 65 78 69 74 20 63 6f 64 65 2c ts.an.integer.process.exit.code,
2aa0 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 0a 20 20 69 66 20 74 68 61 74 20 65 .and.returns.non-nil...if.that.e
2ac0 78 69 74 20 63 6f 64 65 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 73 75 63 63 65 73 73 66 75 xit.code.is.considered.successfu
2ae0 6c 2e 20 20 54 68 69 73 20 63 6f 75 6c 64 20 62 65 20 61 0a 20 20 6c 61 6d 62 64 61 2c 20 71 75 l...This.could.be.a...lambda,.qu
2b00 6f 74 65 64 20 73 79 6d 62 6f 6c 20 6f 72 20 73 68 61 72 70 2d 71 75 6f 74 65 64 20 73 79 6d 62 oted.symbol.or.sharp-quoted.symb
2b20 6f 6c 2e 20 20 49 66 20 6e 6f 74 20 73 75 70 70 6c 69 65 64 2c 0a 20 20 74 68 65 20 63 6f 64 65 ol...If.not.supplied,...the.code
2b40 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 73 75 63 63 65 73 73 66 75 6c 20 69 66 20 69 74 20 .is.considered.successful.if.it.
2b60 69 73 20 60 7a 65 72 6f 70 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 is.`zerop'."...(declare.(indent.
2b80 64 65 66 75 6e 29 29 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 73 79 6d 62 6f 6c 70 20 6e 61 defun))...(cl-assert.(symbolp.na
2ba0 6d 65 29 29 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 66 75 6e 63 74 69 6f 6e 70 20 65 78 69 me))...(cl-assert.(functionp.exi
2bc0 74 2d 63 6f 64 65 2d 73 75 63 63 65 73 73 2d 70 29 29 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 20 t-code-success-p))...(cl-assert.
2be0 70 72 6f 67 72 61 6d 29 0a 20 20 3b 3b 20 4e 6f 74 65 3a 20 77 65 20 73 6b 69 70 20 75 73 69 6e program)...;;.Note:.we.skip.usin
2c00 67 20 60 67 65 6e 73 79 6d 27 20 68 65 72 65 20 62 65 63 61 75 73 65 20 74 68 65 20 6d 61 63 72 g.`gensym'.here.because.the.macr
2c20 6f 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 6f 6e 6c 79 0a 20 20 3b 3b 20 72 65 66 65 72 72 o.arguments.are.only...;;.referr
2c40 65 64 20 74 6f 20 6f 6e 63 65 20 62 65 6c 6f 77 2c 20 62 75 74 20 74 68 69 73 20 6d 61 79 20 68 ed.to.once.below,.but.this.may.h
2c60 61 76 65 20 74 6f 20 63 68 61 6e 67 65 20 6c 61 74 65 72 2e 0a 20 20 28 6c 65 74 2a 20 28 28 62 ave.to.change.later....(let*.((b
2c80 75 66 66 65 72 2d 66 6e 2d 6e 61 6d 65 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 uffer-fn-name.(intern.(format."%
2ca0 73 2d 62 75 66 66 65 72 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 67 69 s-buffer".name)))..........(regi
2cc0 6f 6e 2d 66 6e 2d 6e 61 6d 65 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 72 on-fn-name.(intern.(format."%s-r
2ce0 65 67 69 6f 6e 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 69 6e 6f 72 2d 6d egion".name)))..........(minor-m
2d00 6f 64 65 2d 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6d 6f 64 65 0a 20 20 ode-form...........(when.mode...
2d20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 6e 2d 73 61 76 65 2d 6d 6f 64 65 2d 6e 61 ..........(let.((on-save-mode-na
2d40 6d 65 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 2d 6f 6e 2d 73 61 76 65 2d 6d me.(intern.(format."%s-on-save-m
2d60 6f 64 65 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ode".name)))...................(
2d80 6c 69 67 68 74 65 72 2d 6e 61 6d 65 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 73 lighter-name.(intern.(format."%s
2da0 2d 6f 6e 2d 73 61 76 65 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 22 20 6e 61 6d 65 29 29 29 29 0a -on-save-mode-lighter".name)))).
2dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 ..............`(progn...........
2de0 20 20 20 20 20 20 20 28 64 65 66 63 75 73 74 6f 6d 20 2c 6c 69 67 68 74 65 72 2d 6e 61 6d 65 20 .......(defcustom.,lighter-name.
2e00 2c 6c 69 67 68 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 6f ,lighter....................,(fo
2e20 72 6d 61 74 20 22 4d 6f 64 65 20 6c 69 67 68 74 65 72 20 66 6f 72 20 60 25 73 27 2e 22 20 6f 6e rmat."Mode.lighter.for.`%s'.".on
2e40 2d 73 61 76 65 2d 6d 6f 64 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -save-mode-name)................
2e60 20 20 20 20 3a 67 72 6f 75 70 20 2c 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....:group.,group...............
2e80 20 20 20 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....:type.'string).............
2ea0 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 2c 6f 6e 2d 73 61 76 65 .....(define-minor-mode.,on-save
2ec0 2d 6d 6f 64 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 -mode-name....................,(
2ee0 66 6f 72 6d 61 74 20 22 57 68 65 6e 20 65 6e 61 62 6c 65 64 2c 20 63 61 6c 6c 20 60 25 73 27 20 format."When.enabled,.call.`%s'.
2f00 77 68 65 6e 20 74 68 69 73 20 62 75 66 66 65 72 20 69 73 20 73 61 76 65 64 2e 0a 0a 54 6f 20 65 when.this.buffer.is.saved...To.e
2f20 6e 61 62 6c 65 20 74 68 69 73 20 75 6e 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 69 6e 20 61 20 nable.this.unconditionally.in.a.
2f40 6d 61 6a 6f 72 20 6d 6f 64 65 2c 20 61 64 64 20 74 68 69 73 20 6d 6f 64 65 0a 74 6f 20 74 68 65 major.mode,.add.this.mode.to.the
2f60 20 6d 61 6a 6f 72 20 6d 6f 64 65 27 73 20 68 6f 6f 6b 2e 20 20 54 6f 20 65 6e 61 62 6c 65 20 69 .major.mode's.hook...To.enable.i
2f80 74 20 69 6e 20 73 70 65 63 69 66 69 63 20 66 69 6c 65 73 20 6f 72 20 64 69 72 65 63 74 6f 72 69 t.in.specific.files.or.directori
2fa0 65 73 2c 0a 75 73 65 20 74 68 65 20 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 5c 22 6d 6f es,.use.the.local.variables.\"mo
2fc0 64 65 5c 22 20 6d 65 63 68 61 6e 69 73 6d 2c 20 65 2e 67 2e 20 69 6e 20 5c 22 2e 64 69 72 2d 6c de\".mechanism,.e.g..in.\".dir-l
2fe0 6f 63 61 6c 73 2e 65 6c 5c 22 20 79 6f 75 0a 6d 69 67 68 74 20 75 73 65 3a 0a 0a 20 20 20 20 20 ocals.el\".you.might.use:.......
3000 28 28 73 6f 6d 65 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 28 6d 6f 64 65 20 ((some-major-mode.........(mode.
3020 2e 20 25 73 2d 6f 6e 2d 73 61 76 65 29 29 29 0a 20 22 20 62 75 66 66 65 72 2d 66 6e 2d 6e 61 6d ..%s-on-save)))..".buffer-fn-nam
3040 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 67 6c 6f 62 e.name)....................:glob
3060 61 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 69 67 68 74 al.nil....................:light
3080 65 72 20 2c 6c 69 67 68 74 65 72 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er.,lighter-name................
30a0 20 20 20 20 3a 6b 65 79 6d 61 70 20 2c 6b 65 79 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....:keymap.,keymap.............
30c0 20 20 20 20 20 20 20 3a 67 72 6f 75 70 20 2c 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 .......:group.,group............
30e0 20 20 20 20 20 20 20 20 28 69 66 20 2c 6f 6e 2d 73 61 76 65 2d 6d 6f 64 65 2d 6e 61 6d 65 0a 20 ........(if.,on-save-mode-name..
3100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 ......................(add-hook.
3120 27 62 65 66 6f 72 65 2d 73 61 76 65 2d 68 6f 6f 6b 20 27 2c 62 75 66 66 65 72 2d 66 6e 2d 6e 61 'before-save-hook.',buffer-fn-na
3140 6d 65 20 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 28 me.nil.t)......................(
3160 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 62 65 66 6f 72 65 2d 73 61 76 65 2d 68 6f 6f 6b 20 27 2c remove-hook.'before-save-hook.',
3180 62 75 66 66 65 72 2d 66 6e 2d 6e 61 6d 65 20 74 29 29 29 29 29 29 29 29 0a 20 20 20 20 60 28 70 buffer-fn-name.t)))))))).....`(p
31a0 72 6f 67 6e 0a 20 20 20 20 20 20 20 28 64 65 66 75 6e 20 2c 72 65 67 69 6f 6e 2d 66 6e 2d 6e 61 rogn........(defun.,region-fn-na
31c0 6d 65 20 28 62 65 67 20 65 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 73 70 6c 61 79 2d 65 72 me.(beg.end.&optional.display-er
31e0 72 6f 72 73 29 0a 20 20 20 20 20 20 20 20 20 22 52 65 66 6f 72 6d 61 74 73 20 74 68 65 20 72 65 rors).........."Reformats.the.re
3200 67 69 6f 6e 20 66 72 6f 6d 20 42 45 47 20 74 6f 20 45 4e 44 2e 0a 57 68 65 6e 20 63 61 6c 6c 65 gion.from.BEG.to.END..When.calle
3220 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 6f 72 20 77 69 74 68 20 70 72 65 66 69 78 20 d.interactively,.or.with.prefix.
3240 61 72 67 75 6d 65 6e 74 0a 44 49 53 50 4c 41 59 2d 45 52 52 4f 52 53 2c 20 73 68 6f 77 73 20 61 argument.DISPLAY-ERRORS,.shows.a
3260 20 62 75 66 66 65 72 20 69 66 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 66 61 69 6c 73 2e .buffer.if.the.formatting.fails.
3280 22 0a 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 72 70 22 29 0a 20 20 "..........(interactive."rp")...
32a0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 70 75 74 2d 66 69 6c 65 20 2c 28 69 66 20 69 6e .......(let.((input-file.,(if.in
32c0 70 75 74 2d 66 69 6c 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 put-file........................
32e0 20 20 20 20 20 20 20 20 20 69 6e 70 75 74 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 .........input-file.............
3300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 72 65 66 6f 72 6d 61 74 74 65 72 2d ..................`(reformatter-
3320 2d 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 27 2c 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 -make-temp-file.',name))))......
3340 20 20 20 20 20 20 3b 3b 20 45 76 61 6c 75 61 74 65 20 61 72 67 73 20 77 69 74 68 20 69 6e 70 75 ......;;.Evaluate.args.with.inpu
3360 74 2d 66 69 6c 65 20 62 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d t-file.bound............(unwind-
3380 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 protect................(progn...
33a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 66 6f 72 6d 61 74 74 65 72 2d 2d 64 6f 2d ...............(reformatter--do-
33c0 72 65 67 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2c 6e 61 6d 65 20 region...................',name.
33e0 62 65 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 70 72 6f 67 72 beg.end...................,progr
3400 61 6d 20 2c 61 72 67 73 20 2c 73 74 64 69 6e 20 2c 73 74 64 6f 75 74 20 69 6e 70 75 74 2d 66 69 am.,args.,stdin.,stdout.input-fi
3420 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 2c 65 78 69 74 2d 63 6f 64 le...................#',exit-cod
3440 65 2d 73 75 63 63 65 73 73 2d 70 20 64 69 73 70 6c 61 79 2d 65 72 72 6f 72 73 29 29 0a 20 20 20 e-success-p.display-errors))....
3460 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 69 ..........(when.(file-exists-p.i
3480 6e 70 75 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 nput-file)................(delet
34a0 65 2d 66 69 6c 65 20 69 6e 70 75 74 2d 66 69 6c 65 29 29 29 29 29 0a 0a 20 20 20 20 20 20 20 28 e-file.input-file))))).........(
34c0 64 65 66 75 6e 20 2c 62 75 66 66 65 72 2d 66 6e 2d 6e 61 6d 65 20 28 26 6f 70 74 69 6f 6e 61 6c defun.,buffer-fn-name.(&optional
34e0 20 64 69 73 70 6c 61 79 2d 65 72 72 6f 72 73 29 0a 20 20 20 20 20 20 20 20 20 22 52 65 66 6f 72 .display-errors).........."Refor
3500 6d 61 74 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 57 68 65 6e 20 63 61 mats.the.current.buffer..When.ca
3520 6c 6c 65 64 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 6f 72 20 77 69 74 68 20 70 72 65 66 lled.interactively,.or.with.pref
3540 69 78 20 61 72 67 75 6d 65 6e 74 0a 44 49 53 50 4c 41 59 2d 45 52 52 4f 52 53 2c 20 73 68 6f 77 ix.argument.DISPLAY-ERRORS,.show
3560 73 20 61 20 62 75 66 66 65 72 20 69 66 20 74 68 65 20 66 6f 72 6d 61 74 74 69 6e 67 20 66 61 69 s.a.buffer.if.the.formatting.fai
3580 6c 73 2e 22 0a 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a ls."..........(interactive."p").
35a0 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 46 6f 72 6d 61 74 74 69 6e 67 20 62 75 .........(message."Formatting.bu
35c0 66 66 65 72 22 29 0a 20 20 20 20 20 20 20 20 20 28 2c 72 65 67 69 6f 6e 2d 66 6e 2d 6e 61 6d 65 ffer")..........(,region-fn-name
35e0 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 64 69 73 70 6c 61 79 .(point-min).(point-max).display
3600 2d 65 72 72 6f 72 73 29 29 0a 0a 20 20 20 20 20 20 20 2c 6d 69 6e 6f 72 2d 6d 6f 64 65 2d 66 6f -errors)).........,minor-mode-fo
3620 72 6d 29 29 29 0a 0a 0a 28 64 65 66 75 6e 20 72 65 66 6f 72 6d 61 74 74 65 72 2d 72 65 70 6c 61 rm)))...(defun.reformatter-repla
3640 63 65 2d 62 75 66 66 65 72 2d 63 6f 6e 74 65 6e 74 73 2d 66 72 6f 6d 2d 66 69 6c 65 20 28 66 69 ce-buffer-contents-from-file.(fi
3660 6c 65 29 0a 20 20 22 52 65 70 6c 61 63 65 20 74 68 65 20 61 63 63 65 73 73 69 62 6c 65 20 70 6f le)..."Replace.the.accessible.po
3680 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 77 69 74 68 rtion.of.the.current.buffer.with
36a0 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 46 49 4c 45 2e 22 0a 20 20 3b 3b 20 57 68 69 .the.contents.of.FILE."...;;.Whi
36c0 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 72 65 70 6c 61 63 65 2d 62 75 66 66 65 72 2d le.the.function.`replace-buffer-
36e0 63 6f 6e 74 65 6e 74 73 27 20 65 78 69 73 74 73 20 69 6e 20 72 65 63 65 6e 74 0a 20 20 3b 3b 20 contents'.exists.in.recent...;;.
3700 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 2c 20 69 74 20 65 78 68 69 62 69 74 73 20 70 61 74 68 Emacs.versions,.it.exhibits.path
3720 6f 6c 6f 67 69 63 61 6c 6c 79 20 73 6c 6f 77 20 62 65 68 61 76 69 6f 75 72 20 69 6e 20 6d 61 6e ologically.slow.behaviour.in.man
3740 79 0a 20 20 3b 3b 20 63 61 73 65 73 2c 20 61 6e 64 20 74 68 65 20 73 69 6d 70 6c 65 20 72 65 70 y...;;.cases,.and.the.simple.rep
3760 6c 61 63 65 6d 65 6e 74 20 61 70 70 72 6f 61 63 68 20 77 65 20 75 73 65 20 69 6e 73 74 65 61 64 lacement.approach.we.use.instead
3780 20 69 73 20 77 65 6c 6c 0a 20 20 3b 3b 20 70 72 6f 76 65 6e 20 61 6e 64 20 74 79 70 69 63 61 6c .is.well...;;.proven.and.typical
37a0 6c 79 20 70 72 65 73 65 72 76 65 73 20 70 6f 69 6e 74 20 61 6e 64 20 6d 61 72 6b 65 72 73 20 74 ly.preserves.point.and.markers.t
37c0 6f 20 61 20 72 65 61 73 6f 6e 61 62 6c 65 0a 20 20 3b 3b 20 64 65 67 72 65 65 2e 0a 20 20 28 69 o.a.reasonable...;;.degree....(i
37e0 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 66 69 6c 65 20 6e 69 6c 20 6e 69 6c nsert-file-contents.file.nil.nil
3800 20 6e 69 6c 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 72 65 66 6f 72 6d 61 74 74 65 72 2d 74 65 6d .nil.t))..(defun.reformatter-tem
3820 70 2d 66 69 6c 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c 74 2d 65 78 74 65 6e 73 p-file.(&optional.default-extens
3840 69 6f 6e 29 0a 20 20 22 4d 61 6b 65 20 61 20 74 65 6d 70 20 66 69 6c 65 20 72 65 2d 75 73 69 6e ion)..."Make.a.temp.file.re-usin
3860 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 49 66 20 74 68 65 20 g.the.current.extension..If.the.
3880 63 75 72 72 65 6e 74 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 62 61 63 6b 65 64 20 62 79 20 61 20 current.file.is.not.backed.by.a.
38a0 66 69 6c 65 2c 20 74 68 65 6e 20 75 73 65 0a 44 45 46 41 55 4c 54 2d 45 58 54 45 4e 53 49 4f 4e file,.then.use.DEFAULT-EXTENSION
38c0 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 20 6c 65 61 ,.which.should.not.contain.a.lea
38e0 64 69 6e 67 20 64 6f 74 2e 0a 0a 54 68 65 20 77 6f 72 6b 69 6e 67 20 64 69 72 65 63 74 6f 72 79 ding.dot...The.working.directory
3900 20 66 6f 72 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 .for.the.command.will.always.be.
3920 74 68 65 0a 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 20 6f 66 20 74 68 65 20 63 the.`default-directory'.of.the.c
3940 61 6c 6c 69 6e 67 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 78 74 65 6e 73 69 alling.buffer."...(let.((extensi
3960 6f 6e 20 28 69 66 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 on.(if.buffer-file-name.........
3980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 ...............(file-name-extens
39a0 69 6f 6e 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 ion.buffer-file-name)...........
39c0 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2d 65 78 74 65 6e 73 69 6f 6e 29 29 29 0a ...........default-extension))).
39e0 20 20 20 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 22 72 65 66 6f 72 6d 61 74 74 65 72 ....(make-temp-file."reformatter
3a00 22 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 28 77 68 65 6e 20 ".nil.....................(when.
3a20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 extension.......................
3a40 28 63 6f 6e 63 61 74 20 22 2e 22 20 65 78 74 65 6e 73 69 6f 6e 29 29 29 29 29 0a 0a 28 64 65 66 (concat.".".extension)))))..(def
3a60 75 6e 20 72 65 66 6f 72 6d 61 74 74 65 72 2d 74 65 6d 70 2d 66 69 6c 65 2d 69 6e 2d 63 75 72 72 un.reformatter-temp-file-in-curr
3a80 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 20 28 26 6f 70 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c 74 ent-directory.(&optional.default
3aa0 2d 65 78 74 65 6e 73 69 6f 6e 29 0a 20 20 22 4d 61 6b 65 20 61 20 74 65 6d 70 20 66 69 6c 65 20 -extension)..."Make.a.temp.file.
3ac0 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 72 65 2d 75 73 69 6e in.the.current.directory.re-usin
3ae0 67 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 49 66 20 74 68 65 20 g.the.current.extension..If.the.
3b00 63 75 72 72 65 6e 74 20 66 69 6c 65 20 69 73 20 6e 6f 74 20 62 61 63 6b 65 64 20 62 79 20 61 20 current.file.is.not.backed.by.a.
3b20 66 69 6c 65 2c 20 74 68 65 6e 20 75 73 65 0a 44 45 46 41 55 4c 54 2d 45 58 54 45 4e 53 49 4f 4e file,.then.use.DEFAULT-EXTENSION
3b40 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 20 6c 65 61 ,.which.should.not.contain.a.lea
3b60 64 69 6e 67 20 64 6f 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 74 65 6d 70 6f 72 61 72 79 2d 66 69 ding.dot."...(let.((temporary-fi
3b80 6c 65 2d 64 69 72 65 63 74 6f 72 79 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 le-directory.default-directory))
3ba0 0a 20 20 20 20 28 72 65 66 6f 72 6d 61 74 74 65 72 2d 74 65 6d 70 2d 66 69 6c 65 20 64 65 66 61 .....(reformatter-temp-file.defa
3bc0 75 6c 74 2d 65 78 74 65 6e 73 69 6f 6e 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 72 65 66 6f ult-extension)))..(provide.'refo
3be0 72 6d 61 74 74 65 72 29 0a 3b 3b 3b 20 72 65 66 6f 72 6d 61 74 74 65 72 2e 65 6c 20 65 6e 64 73 rmatter).;;;.reformatter.el.ends
3c00 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .here...........................
3c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e00 72 65 66 6f 72 6d 61 74 74 65 72 2d 30 2e 38 2f 72 65 66 6f 72 6d 61 74 74 65 72 2d 70 6b 67 2e reformatter-0.8/reformatter-pkg.
3e20 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el..............................
3e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3e60 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
3e80 30 30 30 30 36 37 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 31 36 00 20 30 00 00 00 0000676.00000000000.016016..0...
3ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f00 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...................
3f20 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...................
3f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
3fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4000 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
4020 20 66 72 6f 6d 20 72 65 66 6f 72 6d 61 74 74 65 72 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 .from.reformatter.el..-*-.no-byt
4040 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 e-compile:.t.-*-.(define-package
4060 20 22 72 65 66 6f 72 6d 61 74 74 65 72 22 20 22 30 2e 38 22 20 22 44 65 66 69 6e 65 20 63 6f 6d ."reformatter"."0.8"."Define.com
4080 6d 61 6e 64 73 20 77 68 69 63 68 20 72 75 6e 20 72 65 66 6f 72 6d 61 74 74 65 72 73 20 6f 6e 20 mands.which.run.reformatters.on.
40a0 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 22 20 27 28 28 65 6d 61 63 73 20 22 32 34 the.current.buffer".'((emacs."24
40c0 2e 33 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22 65 62 65 61 37 39 35 30 34 62 34 30 66 65 63 62 31 .3")).:commit."ebea79504b40fecb1
40e0 35 30 63 61 66 38 63 33 39 36 32 31 31 34 36 31 36 34 66 39 39 37 65 22 20 3a 61 75 74 68 6f 72 50caf8c39621146164f997e".:author
4100 73 20 27 28 28 22 53 74 65 76 65 20 50 75 72 63 65 6c 6c 22 20 2e 20 22 73 74 65 76 65 40 73 61 s.'(("Steve.Purcell"..."steve@sa
4120 6e 69 74 79 69 6e 63 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 53 74 nityinc.com")).:maintainer.'("St
4140 65 76 65 20 50 75 72 63 65 6c 6c 22 20 2e 20 22 73 74 65 76 65 40 73 61 6e 69 74 79 69 6e 63 2e eve.Purcell"..."steve@sanityinc.
4160 63 6f 6d 22 29 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 63 6f 6e 76 65 6e 69 65 6e 63 65 22 20 com").:keywords.'("convenience".
4180 22 74 6f 6f 6c 73 22 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f "tools").:url."https://github.co
41a0 6d 2f 70 75 72 63 65 6c 6c 2f 65 6d 61 63 73 2d 72 65 66 6f 72 6d 61 74 74 65 72 22 29 0a 00 00 m/purcell/emacs-reformatter")...
41c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4200 72 65 66 6f 72 6d 61 74 74 65 72 2d 30 2e 38 2f 52 45 41 44 4d 45 2e 6d 64 00 00 00 00 00 00 00 reformatter-0.8/README.md.......
4220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4260 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
4280 30 30 31 33 34 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 34 31 00 20 30 00 00 00 0013473.00000000000.013641..0...
42a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
42e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4300 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...................
4320 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...................
4340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4400 5b 21 5b 4d 65 6c 70 61 20 53 74 61 74 75 73 5d 28 68 74 74 70 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 [![Melpa.Status](http://melpa.or
4420 67 2f 70 61 63 6b 61 67 65 73 2f 72 65 66 6f 72 6d 61 74 74 65 72 2d 62 61 64 67 65 2e 73 76 67 g/packages/reformatter-badge.svg
4440 29 5d 28 68 74 74 70 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 72 65 66 6f 72 6d 61 74 74 65 )](http://melpa.org/#/reformatte
4460 72 29 0a 5b 21 5b 4d 65 6c 70 61 20 53 74 61 62 6c 65 20 53 74 61 74 75 73 5d 28 68 74 74 70 3a r).[![Melpa.Stable.Status](http:
4480 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 72 65 66 6f //stable.melpa.org/packages/refo
44a0 72 6d 61 74 74 65 72 2d 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 3a 2f 2f 73 74 61 62 6c rmatter-badge.svg)](http://stabl
44c0 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 72 65 66 6f 72 6d 61 74 74 65 72 29 0a 5b 21 5b 4e 6f e.melpa.org/#/reformatter).[![No
44e0 6e 47 4e 55 20 45 4c 50 41 5d 28 68 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f nGNU.ELPA](https://elpa.nongnu.o
4500 72 67 2f 6e 6f 6e 67 6e 75 2f 72 65 66 6f 72 6d 61 74 74 65 72 2e 73 76 67 29 5d 28 68 74 74 70 rg/nongnu/reformatter.svg)](http
4520 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 72 65 66 6f 72 s://elpa.nongnu.org/nongnu/refor
4540 6d 61 74 74 65 72 2e 68 74 6d 6c 29 0a 5b 21 5b 42 75 69 6c 64 20 53 74 61 74 75 73 5d 28 68 74 matter.html).[![Build.Status](ht
4560 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 75 72 63 65 6c 6c 2f 65 6d 61 63 73 2d 72 tps://github.com/purcell/emacs-r
4580 65 66 6f 72 6d 61 74 74 65 72 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 eformatter/actions/workflows/tes
45a0 74 2e 79 6d 6c 2f 62 61 64 67 65 2e 73 76 67 29 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 t.yml/badge.svg)](https://github
45c0 2e 63 6f 6d 2f 70 75 72 63 65 6c 6c 2f 65 6d 61 63 73 2d 72 65 66 6f 72 6d 61 74 74 65 72 2f 61 .com/purcell/emacs-reformatter/a
45e0 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 74 65 73 74 2e 79 6d 6c 29 0a 3c 61 20 68 72 ctions/workflows/test.yml).<a.hr
4600 65 66 3d 22 68 74 74 70 73 3a 2f 2f 77 77 77 2e 70 61 74 72 65 6f 6e 2e 63 6f 6d 2f 73 61 6e 69 ef="https://www.patreon.com/sani
4620 74 79 69 6e 63 22 3e 3c 69 6d 67 20 61 6c 74 3d 22 53 75 70 70 6f 72 74 20 6d 65 22 20 73 72 63 tyinc"><img.alt="Support.me".src
4640 3d 22 68 74 74 70 73 3a 2f 2f 69 6d 67 2e 73 68 69 65 6c 64 73 2e 69 6f 2f 62 61 64 67 65 2f 53 ="https://img.shields.io/badge/S
4660 75 70 70 6f 72 74 25 32 30 4d 65 2d 25 46 30 25 39 46 25 39 32 25 39 37 2d 66 66 36 39 62 34 2e upport%20Me-%F0%9F%92%97-ff69b4.
4680 73 76 67 22 3e 3c 2f 61 3e 0a 0a 23 20 44 65 66 69 6e 65 20 63 6f 6d 6d 61 6e 64 73 20 77 68 69 svg"></a>..#.Define.commands.whi
46a0 63 68 20 72 75 6e 20 72 65 66 6f 72 6d 61 74 74 65 72 73 20 6f 6e 20 74 68 65 20 63 75 72 72 65 ch.run.reformatters.on.the.curre
46c0 6e 74 20 45 6d 61 63 73 20 62 75 66 66 65 72 0a 0a 54 68 69 73 20 6c 69 62 72 61 72 79 20 6c 65 nt.Emacs.buffer..This.library.le
46e0 74 73 20 65 6c 69 73 70 20 61 75 74 68 6f 72 73 20 65 61 73 69 6c 79 20 64 65 66 69 6e 65 20 61 ts.elisp.authors.easily.define.a
4700 6e 20 69 64 69 6f 6d 61 74 69 63 20 63 6f 6d 6d 61 6e 64 20 74 6f 0a 72 65 66 6f 72 6d 61 74 20 n.idiomatic.command.to.reformat.
4720 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 75 73 69 6e 67 20 61 20 63 6f 6d 6d 61 the.current.buffer.using.a.comma
4740 6e 64 2d 6c 69 6e 65 20 70 72 6f 67 72 61 6d 2c 20 74 6f 67 65 74 68 65 72 0a 77 69 74 68 20 61 nd-line.program,.together.with.a
4760 6e 20 6f 70 74 69 6f 6e 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 77 68 69 63 68 20 63 61 6e 20 n.optional.minor.mode.which.can.
4780 61 70 70 6c 79 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 apply.this.command.automatically
47a0 0a 6f 6e 20 73 61 76 65 2e 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 72 65 66 6f 72 6d 61 74 74 .on.save...By.default,.reformatt
47c0 65 72 2e 65 6c 20 65 78 70 65 63 74 73 20 70 72 6f 67 72 61 6d 73 20 74 6f 20 72 65 61 64 20 66 er.el.expects.programs.to.read.f
47e0 72 6f 6d 20 73 74 64 69 6e 20 61 6e 64 0a 77 72 69 74 65 20 74 6f 20 73 74 64 6f 75 74 2c 20 61 rom.stdin.and.write.to.stdout,.a
4800 6e 64 20 79 6f 75 20 73 68 6f 75 6c 64 20 70 72 65 66 65 72 20 74 68 69 73 20 6d 6f 64 65 20 6f nd.you.should.prefer.this.mode.o
4820 66 20 6f 70 65 72 61 74 69 6f 6e 20 77 68 65 72 65 0a 70 6f 73 73 69 62 6c 65 2e 20 20 49 66 20 f.operation.where.possible...If.
4840 74 68 69 73 20 69 73 6e 27 74 20 70 6f 73 73 69 62 6c 65 20 77 69 74 68 20 79 6f 75 72 20 70 61 this.isn't.possible.with.your.pa
4860 72 74 69 63 75 6c 61 72 20 66 6f 72 6d 61 74 74 69 6e 67 0a 70 72 6f 67 72 61 6d 2c 20 72 65 66 rticular.formatting.program,.ref
4880 65 72 20 74 6f 20 74 68 65 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 60 72 65 66 6f 72 6d 61 74 74 er.to.the.options.for.`reformatt
48a0 65 72 2d 64 65 66 69 6e 65 60 2c 20 61 6e 64 20 73 65 65 20 74 68 65 0a 65 78 61 6d 70 6c 65 73 er-define`,.and.see.the.examples
48c0 20 69 6e 20 74 68 65 20 70 61 63 6b 61 67 65 27 73 20 74 65 73 74 73 2e 0a 0a 49 6e 20 69 74 73 .in.the.package's.tests...In.its
48e0 20 69 6e 69 74 69 61 6c 20 72 65 6c 65 61 73 65 20 69 74 20 73 75 70 70 6f 72 74 73 20 6f 6e 6c .initial.release.it.supports.onl
4900 79 20 72 65 66 6f 72 6d 61 74 74 65 72 73 20 77 68 69 63 68 20 63 61 6e 20 72 65 61 64 0a 66 72 y.reformatters.which.can.read.fr
4920 6f 6d 20 73 74 64 69 6e 20 61 6e 64 20 77 72 69 74 65 20 74 6f 20 73 74 64 6f 75 74 2c 20 62 75 om.stdin.and.write.to.stdout,.bu
4940 74 20 61 20 6d 6f 72 65 20 76 65 72 73 61 74 69 6c 65 20 69 6e 74 65 72 66 61 63 65 20 77 69 6c t.a.more.versatile.interface.wil
4960 6c 0a 62 65 20 70 72 6f 76 69 64 65 64 20 61 73 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 63 6f 6e l.be.provided.as.development.con
4980 74 69 6e 75 65 73 2e 0a 0a 41 73 20 61 6e 20 65 78 61 6d 70 6c 65 2c 20 6c 65 74 27 73 20 64 65 tinues...As.an.example,.let's.de
49a0 66 69 6e 65 20 61 20 72 65 66 6f 72 6d 61 74 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 61 70 70 fine.a.reformat.command.that.app
49c0 6c 69 65 73 20 74 68 65 20 22 64 68 61 6c 6c 0a 66 6f 72 6d 61 74 22 20 63 6f 6d 6d 61 6e 64 2e lies.the."dhall.format".command.
49e0 20 20 57 65 27 6c 6c 20 61 73 73 75 6d 65 20 68 65 72 65 20 74 68 61 74 20 77 65 27 76 65 20 61 ..We'll.assume.here.that.we've.a
4a00 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 20 61 0a 76 61 72 69 61 62 6c 65 20 60 64 68 61 6c 6c lready.defined.a.variable.`dhall
4a20 2d 63 6f 6d 6d 61 6e 64 60 20 77 68 69 63 68 20 68 6f 6c 64 73 20 74 68 65 20 73 74 72 69 6e 67 -command`.which.holds.the.string
4a40 20 6e 61 6d 65 20 6f 72 20 70 61 74 68 20 6f 66 20 74 68 65 0a 64 68 61 6c 6c 20 65 78 65 63 75 .name.or.path.of.the.dhall.execu
4a60 74 61 62 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 65 66 69 6e table:..```el.(reformatter-defin
4a80 65 20 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 0a 20 20 3a 70 72 6f 67 72 61 6d 20 64 68 61 6c 6c 2d e.dhall-format...:program.dhall-
4aa0 63 6f 6d 6d 61 6e 64 0a 20 20 3a 61 72 67 73 20 27 28 22 66 6f 72 6d 61 74 22 29 0a 20 20 3a 6c command...:args.'("format")...:l
4ac0 69 67 68 74 65 72 20 22 20 44 46 22 29 0a 60 60 60 0a 0a 54 68 65 20 60 72 65 66 6f 72 6d 61 74 ighter.".DF").```..The.`reformat
4ae0 74 65 72 2d 64 65 66 69 6e 65 60 20 6d 61 63 72 6f 20 65 78 70 61 6e 64 73 20 74 6f 20 63 6f 64 ter-define`.macro.expands.to.cod
4b00 65 20 77 68 69 63 68 20 67 65 6e 65 72 61 74 65 73 0a 60 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d e.which.generates.`dhall-format-
4b20 62 75 66 66 65 72 60 20 61 6e 64 20 60 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 72 65 67 69 6f 6e buffer`.and.`dhall-format-region
4b40 60 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 6f 6d 6d 61 6e 64 73 2c 0a 61 6e 64 20 61 20 6c 6f `.interactive.commands,.and.a.lo
4b60 63 61 6c 20 6d 69 6e 6f 72 20 6d 6f 64 65 20 63 61 6c 6c 65 64 20 60 64 68 61 6c 6c 2d 66 6f 72 cal.minor.mode.called.`dhall-for
4b80 6d 61 74 2d 6f 6e 2d 73 61 76 65 2d 6d 6f 64 65 60 2e 20 54 68 65 20 60 3a 61 72 67 73 60 0a 61 mat-on-save-mode`..The.`:args`.a
4ba0 6e 64 20 60 3a 70 72 6f 67 72 61 6d 60 20 65 78 70 72 65 73 73 69 6f 6e 73 20 77 69 6c 6c 20 62 nd.`:program`.expressions.will.b
4bc0 65 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 72 75 6e 74 69 6d 65 2c 20 73 6f 20 74 68 65 79 20 e.evaluated.at.runtime,.so.they.
4be0 63 61 6e 0a 72 65 66 65 72 20 74 6f 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 6d 61 79 20 can.refer.to.variables.that.may.
4c00 28 6c 61 74 65 72 29 20 68 61 76 65 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 (later).have.a.buffer-local.valu
4c20 65 2e 20 41 0a 63 75 73 74 6f 6d 20 76 61 72 69 61 62 6c 65 20 77 69 6c 6c 20 62 65 20 67 65 6e e..A.custom.variable.will.be.gen
4c40 65 72 61 74 65 64 20 66 6f 72 20 74 68 65 20 6d 6f 64 65 20 6c 69 67 68 74 65 72 2c 20 77 69 74 erated.for.the.mode.lighter,.wit
4c60 68 20 74 68 65 0a 73 75 70 70 6c 69 65 64 20 76 61 6c 75 65 20 62 65 63 6f 6d 69 6e 67 20 74 68 h.the.supplied.value.becoming.th
4c80 65 20 64 65 66 61 75 6c 74 2e 0a 0a 54 68 65 20 67 65 6e 65 72 61 74 65 64 20 6d 69 6e 6f 72 20 e.default...The.generated.minor.
4ca0 6d 6f 64 65 20 61 6c 6c 6f 77 73 20 69 64 69 6f 6d 61 74 69 63 20 70 65 72 2d 64 69 72 65 63 74 mode.allows.idiomatic.per-direct
4cc0 6f 72 79 20 6f 72 20 70 65 72 2d 66 69 6c 65 0a 63 75 73 74 6f 6d 69 73 61 74 69 6f 6e 2c 20 76 ory.or.per-file.customisation,.v
4ce0 69 61 20 74 68 65 20 22 6d 6f 64 65 73 22 20 73 75 70 70 6f 72 74 20 62 61 6b 65 64 20 69 6e 74 ia.the."modes".support.baked.int
4d00 6f 20 45 6d 61 63 73 27 20 66 69 6c 65 2d 6c 6f 63 61 6c 0a 61 6e 64 20 64 69 72 65 63 74 6f 72 o.Emacs'.file-local.and.director
4d20 79 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 6d 65 63 68 61 6e 69 73 6d 73 2e 20 20 46 y-local.variables.mechanisms...F
4d40 6f 72 20 65 78 61 6d 70 6c 65 2c 20 75 73 65 72 73 20 6f 66 20 74 68 65 0a 61 62 6f 76 65 20 65 or.example,.users.of.the.above.e
4d60 78 61 6d 70 6c 65 20 6d 69 67 68 74 20 61 64 64 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 xample.might.add.the.following.t
4d80 6f 20 61 20 70 72 6f 6a 65 63 74 2d 73 70 65 63 69 66 69 63 0a 60 2e 64 69 72 2d 6c 6f 63 61 6c o.a.project-specific.`.dir-local
4da0 73 2e 65 6c 60 20 66 69 6c 65 3a 0a 0a 60 60 60 65 6c 0a 28 28 64 68 61 6c 6c 2d 6d 6f 64 65 0a s.el`.file:..```el.((dhall-mode.
4dc0 20 20 20 28 6d 6f 64 65 20 2e 20 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 6f 6e 2d 73 61 76 65 29 ...(mode...dhall-format-on-save)
4de0 29 29 0a 60 60 60 0a 0a 53 65 65 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 66 6f )).```..See.the.documentation.fo
4e00 72 20 60 72 65 66 6f 72 6d 61 74 74 65 72 2d 64 65 66 69 6e 65 60 2c 20 77 68 69 63 68 20 70 72 r.`reformatter-define`,.which.pr
4e20 6f 76 69 64 65 73 20 61 0a 6e 75 6d 62 65 72 20 6f 66 20 6f 70 74 69 6f 6e 73 20 66 6f 72 20 63 ovides.a.number.of.options.for.c
4e40 75 73 74 6f 6d 69 73 69 6e 67 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 63 6f 64 65 2e 0a 0a ustomising.the.generated.code...
4e60 4c 69 62 72 61 72 79 20 61 75 74 68 6f 72 73 20 6d 69 67 68 74 20 6c 69 6b 65 20 74 6f 20 70 72 Library.authors.might.like.to.pr
4e80 6f 76 69 64 65 20 61 75 74 6f 6c 6f 61 64 73 20 66 6f 72 20 74 68 65 20 67 65 6e 65 72 61 74 65 ovide.autoloads.for.the.generate
4ea0 64 0a 63 6f 64 65 2c 20 65 2e 67 2e 3a 0a 0a 60 60 60 65 6c 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c d.code,.e.g.:..```el.;;;###autol
4ec0 6f 61 64 20 28 61 75 74 6f 6c 6f 61 64 20 27 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d 62 75 66 66 oad.(autoload.'dhall-format-buff
4ee0 65 72 20 22 63 75 72 72 65 6e 74 2d 66 69 6c 65 22 20 6e 69 6c 20 74 29 0a 3b 3b 3b 23 23 23 61 er."current-file".nil.t).;;;###a
4f00 75 74 6f 6c 6f 61 64 20 28 61 75 74 6f 6c 6f 61 64 20 27 64 68 61 6c 6c 2d 66 6f 72 6d 61 74 2d utoload.(autoload.'dhall-format-
4f20 72 65 67 69 6f 6e 20 22 63 75 72 72 65 6e 74 2d 66 69 6c 65 22 20 6e 69 6c 20 74 29 0a 3b 3b 3b region."current-file".nil.t).;;;
4f40 23 23 23 61 75 74 6f 6c 6f 61 64 20 28 61 75 74 6f 6c 6f 61 64 20 27 64 68 61 6c 6c 2d 66 6f 72 ###autoload.(autoload.'dhall-for
4f60 6d 61 74 2d 6f 6e 2d 73 61 76 65 2d 6d 6f 64 65 20 22 63 75 72 72 65 6e 74 2d 66 69 6c 65 22 20 mat-on-save-mode."current-file".
4f80 6e 69 6c 20 74 29 0a 60 60 60 0a 0a 23 23 20 45 78 61 6d 70 6c 65 73 20 6f 66 20 75 73 61 67 65 nil.t).```..##.Examples.of.usage
4fa0 20 69 6e 20 74 68 65 20 77 69 6c 64 0a 0a 54 6f 20 66 69 6e 64 20 72 65 76 65 72 73 65 20 64 65 .in.the.wild..To.find.reverse.de
4fc0 70 65 6e 64 65 6e 63 69 65 73 2c 20 6c 6f 6f 6b 20 66 6f 72 20 22 4e 65 65 64 65 64 20 62 79 22 pendencies,.look.for."Needed.by"
4fe0 20 6f 6e 20 74 68 65 20 5b 4d 45 4c 50 41 20 70 61 67 65 0a 66 6f 72 20 72 65 66 6f 72 6d 61 74 .on.the.[MELPA.page.for.reformat
5000 74 65 72 5d 28 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 72 65 66 6f 72 6d 61 ter](https://melpa.org/#/reforma
5020 74 74 65 72 29 2e 20 48 65 72 65 20 61 72 65 20 73 6f 6d 65 0a 73 70 65 63 69 66 69 63 20 65 78 tter)..Here.are.some.specific.ex
5040 61 6d 70 6c 65 73 3a 0a 0a 2a 20 5b 64 68 61 6c 6c 2d 6d 6f 64 65 2e 65 6c 5d 28 68 74 74 70 73 amples:..*.[dhall-mode.el](https
5060 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 73 69 62 69 2f 64 68 61 6c 6c 2d 6d 6f 64 65 2f 62 ://github.com/psibi/dhall-mode/b
5080 6c 6f 62 2f 6d 61 73 74 65 72 2f 64 68 61 6c 6c 2d 6d 6f 64 65 2e 65 6c 29 0a 2a 20 5b 65 6c 6d lob/master/dhall-mode.el).*.[elm
50a0 2d 66 6f 72 6d 61 74 2e 65 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6a -format.el](https://github.com/j
50c0 63 6f 6c 6c 61 72 64 2f 65 6c 6d 2d 6d 6f 64 65 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 65 6c 6d collard/elm-mode/blob/master/elm
50e0 2d 66 6f 72 6d 61 74 2e 65 6c 29 2c 20 69 6e 20 60 65 6c 6d 2d 6d 6f 64 65 60 0a 2a 20 5b 73 71 -format.el),.in.`elm-mode`.*.[sq
5100 6c 66 6f 72 6d 61 74 2e 65 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 lformat.el](https://github.com/p
5120 75 72 63 65 6c 6c 2f 73 71 6c 66 6f 72 6d 61 74 2f 62 6c 6f 62 2f 6d 61 73 74 65 72 2f 73 71 6c urcell/sqlformat/blob/master/sql
5140 66 6f 72 6d 61 74 2e 65 6c 29 0a 2a 20 5b 48 65 72 65 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 format.el).*.[Here](https://gith
5160 75 62 2e 63 6f 6d 2f 70 75 72 63 65 6c 6c 2f 65 6d 61 63 73 2e 64 2f 62 6c 6f 62 2f 31 34 66 36 ub.com/purcell/emacs.d/blob/14f6
5180 34 35 61 39 62 64 65 30 34 34 39 38 63 65 32 62 36 30 64 65 32 36 38 63 32 63 62 61 66 61 31 33 45a9bde04498ce2b60de268c2cbafa13
51a0 36 30 34 61 2f 6c 69 73 70 2f 69 6e 69 74 2d 70 75 72 65 73 63 72 69 70 74 2e 65 6c 23 4c 31 38 604a/lisp/init-purescript.el#L18
51c0 2d 4c 31 39 29 20 69 73 20 74 68 65 20 61 75 74 68 6f 72 20 64 65 66 69 6e 69 6e 67 20 61 20 72 -L19).is.the.author.defining.a.r
51e0 65 66 6f 72 6d 61 74 74 65 72 20 69 6e 20 68 69 73 20 6f 77 6e 20 63 6f 6e 66 69 67 75 72 61 74 eformatter.in.his.own.configurat
5200 69 6f 6e 0a 0a 23 23 20 52 61 74 69 6f 6e 61 6c 65 0a 0a 49 20 63 6f 6e 74 72 69 62 75 74 65 20 ion..##.Rationale..I.contribute.
5220 74 6f 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 45 6d 61 63 73 20 70 72 6f 67 72 61 6d 6d 69 6e 67 to.a.number.of.Emacs.programming
5240 20 6c 61 6e 67 75 61 67 65 20 6d 6f 64 65 73 20 61 6e 64 0a 74 6f 6f 6c 73 2c 20 61 6e 64 20 69 .language.modes.and.tools,.and.i
5260 6e 63 72 65 61 73 69 6e 67 6c 79 20 75 73 65 20 63 6f 64 65 20 72 65 66 6f 72 6d 61 74 74 65 72 ncreasingly.use.code.reformatter
5280 73 20 69 6e 20 6d 79 20 64 61 69 6c 79 20 77 6f 72 6b 2e 20 20 49 74 27 73 0a 73 75 72 70 72 69 s.in.my.daily.work...It's.surpri
52a0 73 69 6e 67 6c 79 20 64 69 66 66 69 63 75 6c 74 20 74 6f 20 77 72 69 74 65 20 72 6f 62 75 73 74 singly.difficult.to.write.robust
52c0 2c 20 63 6f 72 72 65 63 74 20 63 6f 64 65 20 74 6f 20 61 70 70 6c 79 20 74 68 65 73 65 0a 72 65 ,.correct.code.to.apply.these.re
52e0 66 6f 72 6d 61 74 74 65 72 73 2c 20 67 69 76 65 6e 20 74 68 61 74 20 69 74 20 6d 75 73 74 20 63 formatters,.given.that.it.must.c
5300 6f 6e 73 69 64 65 72 20 73 75 63 68 20 69 73 73 75 65 73 20 61 73 3a 0a 0a 2a 20 4d 69 73 73 69 onsider.such.issues.as:..*.Missi
5320 6e 67 20 70 72 6f 67 72 61 6d 73 0a 2a 20 42 75 66 66 65 72 73 20 6e 6f 74 20 79 65 74 20 73 61 ng.programs.*.Buffers.not.yet.sa
5340 76 65 64 20 74 6f 20 61 20 66 69 6c 65 0a 2a 20 44 69 73 70 6c 61 79 69 6e 67 20 65 72 72 6f 72 ved.to.a.file.*.Displaying.error
5360 20 6f 75 74 70 75 74 0a 2a 20 43 6f 6c 6f 72 69 73 69 6e 67 20 41 4e 53 49 20 65 73 63 61 70 65 .output.*.Colorising.ANSI.escape
5380 20 73 65 71 75 65 6e 63 65 73 20 69 6e 20 61 6e 79 20 65 72 72 6f 72 20 6f 75 74 70 75 74 0a 2a .sequences.in.any.error.output.*
53a0 20 48 61 6e 64 6c 69 6e 67 20 66 69 6c 65 20 65 6e 63 6f 64 69 6e 67 73 20 63 6f 72 72 65 63 74 .Handling.file.encodings.correct
53c0 6c 79 0a 0a 57 69 74 68 20 74 68 69 73 20 6c 69 62 72 61 72 79 2c 20 49 20 68 6f 70 65 20 74 6f ly..With.this.library,.I.hope.to
53e0 20 68 65 6c 70 20 74 68 65 20 63 6f 6d 6d 75 6e 69 74 79 20 73 74 61 6e 64 61 72 64 69 73 65 20 .help.the.community.standardise.
5400 6f 6e 20 62 65 73 74 0a 70 72 61 63 74 69 63 65 73 2c 20 61 6e 64 20 6d 61 6b 65 20 74 68 69 6e on.best.practices,.and.make.thin
5420 67 73 20 65 61 73 69 65 72 20 66 6f 72 20 74 6f 6f 6c 20 61 75 74 68 6f 72 73 20 61 6e 64 20 65 gs.easier.for.tool.authors.and.e
5440 6e 64 20 75 73 65 72 73 0a 61 6c 69 6b 65 2e 0a 0a 23 23 20 46 41 51 0a 0a 23 23 23 20 48 6f 77 nd.users.alike...##.FAQ..###.How
5460 20 69 73 20 74 68 69 73 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 5b 66 6f 72 6d 61 74 2d .is.this.different.from.[format-
5480 61 6c 6c 2e 65 6c 5d 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6c 61 73 73 69 all.el](https://github.com/lassi
54a0 6b 2f 65 6d 61 63 73 2d 66 6f 72 6d 61 74 2d 61 6c 6c 2d 74 68 65 2d 63 6f 64 65 29 3f 0a 0a 60 k/emacs-format-all-the-code)?..`
54c0 66 6f 72 6d 61 74 2d 61 6c 6c 60 20 69 73 20 61 20 76 65 72 79 20 64 69 66 66 65 72 65 6e 74 20 format-all`.is.a.very.different.
54e0 61 70 70 72 6f 61 63 68 3a 20 69 74 20 61 69 6d 73 20 74 6f 20 70 72 6f 76 69 64 65 20 61 20 73 approach:.it.aims.to.provide.a.s
5500 69 6e 67 6c 65 0a 6d 69 6e 6f 72 20 6d 6f 64 65 20 77 68 69 63 68 20 79 6f 75 20 74 68 65 6e 20 ingle.minor.mode.which.you.then.
5520 65 6e 61 62 6c 65 20 61 6e 64 20 63 6f 6e 66 69 67 75 72 65 20 74 6f 20 64 6f 20 74 68 65 20 72 enable.and.configure.to.do.the.r
5540 69 67 68 74 20 74 68 69 6e 67 0a 28 69 6e 63 6c 75 64 69 6e 67 20 6e 6f 74 68 69 6e 67 29 20 66 ight.thing.(including.nothing).f
5560 6f 72 20 61 6c 6c 20 74 68 65 20 6c 61 6e 67 75 61 67 65 73 20 79 6f 75 20 75 73 65 2e 20 49 74 or.all.the.languages.you.use..It
5580 20 65 76 65 6e 20 74 72 69 65 73 20 74 6f 0a 74 65 6c 6c 20 79 6f 75 20 68 6f 77 20 74 6f 20 69 .even.tries.to.tell.you.how.to.i
55a0 6e 73 74 61 6c 6c 20 6d 69 73 73 69 6e 67 20 70 72 6f 67 72 61 6d 73 2e 20 49 74 27 73 20 61 6e nstall.missing.programs..It's.an
55c0 20 69 6e 74 65 72 65 73 74 69 6e 67 20 70 72 6f 6a 65 63 74 2c 0a 62 75 74 20 49 4d 4f 20 69 74 .interesting.project,.but.IMO.it
55e0 27 73 20 68 61 72 64 20 74 6f 20 64 65 73 69 67 6e 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 's.hard.to.design.the.configurat
5600 69 6f 6e 20 66 6f 72 20 73 75 63 68 20 61 20 67 72 61 6e 64 20 75 6e 69 66 69 65 64 0a 61 70 70 ion.for.such.a.grand.unified.app
5620 72 6f 61 63 68 2c 20 61 6e 64 20 69 74 20 63 61 6e 20 67 65 74 20 63 6f 6d 70 6c 65 78 2e 20 46 roach,.and.it.can.get.complex..F
5640 6f 72 20 65 78 61 6d 70 6c 65 2c 20 79 6f 75 27 64 20 68 61 76 65 20 74 6f 20 62 65 20 61 62 6c or.example,.you'd.have.to.be.abl
5660 65 0a 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 77 68 69 63 68 20 6f 66 20 74 77 6f 20 70 6f 73 73 e.to.configure.which.of.two.poss
5680 69 62 6c 65 20 72 65 66 6f 72 6d 61 74 74 65 72 73 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 ible.reformatters.you.want.to.us
56a0 65 20 66 6f 72 20 61 0a 73 70 65 63 69 66 69 63 20 6c 61 6e 67 75 61 67 65 2c 20 61 6e 64 20 74 e.for.a.specific.language,.and.t
56c0 6f 20 62 65 20 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 61 74 20 6f 6e 20 61 20 70 65 72 2d 70 72 o.be.able.to.do.that.on.a.per-pr
56e0 6f 6a 65 63 74 20 62 61 73 69 73 2e 0a 0a 49 6e 20 63 6f 6e 74 72 61 73 74 20 72 65 66 6f 72 6d oject.basis...In.contrast.reform
5700 61 74 74 65 72 20 70 72 6f 64 75 63 65 73 20 73 6d 61 6c 6c 2c 20 73 65 6c 66 2d 63 6f 6e 74 61 atter.produces.small,.self-conta
5720 69 6e 65 64 20 61 6e 64 20 73 65 70 61 72 61 74 65 0a 66 6f 72 6d 61 74 74 65 72 73 20 61 6e 64 ined.and.separate.formatters.and
5740 20 6d 69 6e 6f 72 20 6d 6f 64 65 73 20 77 68 69 63 68 20 61 6c 6c 20 77 6f 72 6b 20 63 6f 6e 73 .minor.modes.which.all.work.cons
5760 69 73 74 65 6e 74 6c 79 20 61 6e 64 20 61 72 65 0a 69 6e 64 69 76 69 64 75 61 6c 6c 79 20 63 6f istently.and.are.individually.co
5780 6e 66 69 67 75 72 65 64 2e 20 49 74 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 nfigured..It.makes.it.possible.t
57a0 6f 20 72 65 70 6c 61 63 65 20 65 78 69 73 74 69 6e 67 0a 66 6f 72 6d 61 74 74 65 72 20 63 6f 64 o.replace.existing.formatter.cod
57c0 65 2c 20 61 6e 64 20 69 74 27 73 20 61 6c 73 6f 20 76 65 72 79 20 63 6f 6e 76 65 6e 69 65 6e 74 e,.and.it's.also.very.convenient
57e0 20 66 6f 72 20 75 73 65 72 73 20 74 6f 20 64 65 66 69 6e 65 0a 74 68 65 69 72 20 6f 77 6e 20 61 .for.users.to.define.their.own.a
5800 64 2d 68 6f 63 20 72 65 66 6f 72 6d 61 74 74 65 72 20 77 72 61 70 70 65 72 73 0a 0a 23 23 20 49 d-hoc.reformatter.wrappers..##.I
5820 6e 73 74 61 6c 6c 61 74 69 6f 6e 0a 0a 23 23 23 20 4d 61 6e 75 61 6c 0a 0a 45 6e 73 75 72 65 20 nstallation..###.Manual..Ensure.
5840 60 72 65 66 6f 72 6d 61 74 74 65 72 2e 65 6c 60 20 69 73 20 69 6e 20 61 20 64 69 72 65 63 74 6f `reformatter.el`.is.in.a.directo
5860 72 79 20 6f 6e 20 79 6f 75 72 20 6c 6f 61 64 2d 70 61 74 68 2c 20 61 6e 64 20 61 64 64 0a 74 68 ry.on.your.load-path,.and.add.th
5880 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 74 6f 20 79 6f 75 72 20 60 7e 2f 2e 65 6d 61 63 73 60 20 6f e.following.to.your.`~/.emacs`.o
58a0 72 20 60 7e 2f 2e 65 6d 61 63 73 2e 64 2f 69 6e 69 74 2e 65 6c 60 3a 0a 0a 60 60 60 65 6c 69 73 r.`~/.emacs.d/init.el`:..```elis
58c0 70 0a 28 72 65 71 75 69 72 65 20 27 72 65 66 6f 72 6d 61 74 74 65 72 29 0a 60 60 60 0a 0a 23 23 p.(require.'reformatter).```..##
58e0 23 20 4d 45 4c 50 41 0a 0a 49 66 20 79 6f 75 27 72 65 20 61 6e 20 45 6d 61 63 73 20 32 34 20 75 #.MELPA..If.you're.an.Emacs.24.u
5900 73 65 72 20 6f 72 20 79 6f 75 20 68 61 76 65 20 61 20 72 65 63 65 6e 74 20 76 65 72 73 69 6f 6e ser.or.you.have.a.recent.version
5920 20 6f 66 0a 60 70 61 63 6b 61 67 65 2e 65 6c 60 20 79 6f 75 20 63 61 6e 20 69 6e 73 74 61 6c 6c .of.`package.el`.you.can.install
5940 20 60 72 65 66 6f 72 6d 61 74 74 65 72 60 20 66 72 6f 6d 20 74 68 65 0a 5b 4d 45 4c 50 41 5d 28 .`reformatter`.from.the.[MELPA](
5960 68 74 74 70 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 29 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 54 68 http://melpa.org).repository..Th
5980 65 20 76 65 72 73 69 6f 6e 20 6f 66 0a 60 72 65 66 6f 72 6d 61 74 74 65 72 60 20 74 68 65 72 65 e.version.of.`reformatter`.there
59a0 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 62 65 20 75 70 2d 74 6f 2d 64 61 74 65 2e 0a 0a 23 23 20 .will.always.be.up-to-date...##.
59c0 41 62 6f 75 74 0a 0a 41 75 74 68 6f 72 3a 20 53 74 65 76 65 20 50 75 72 63 65 6c 6c 20 3c 73 74 About..Author:.Steve.Purcell.<st
59e0 65 76 65 20 61 74 20 73 61 6e 69 74 79 69 6e 63 20 64 6f 74 20 63 6f 6d 3e 0a 0a 48 6f 6d 65 70 eve.at.sanityinc.dot.com>..Homep
5a00 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 70 75 72 63 65 6c 6c 2f age:.https://github.com/purcell/
5a20 65 6d 61 63 73 2d 72 65 66 6f 72 6d 61 74 74 65 72 0a 0a 3c 68 72 3e 0a 0a 5b f0 9f 92 9d 20 53 emacs-reformatter..<hr>..[.....S
5a40 75 70 70 6f 72 74 20 74 68 69 73 20 70 72 6f 6a 65 63 74 20 61 6e 64 20 6d 79 20 6f 74 68 65 72 upport.this.project.and.my.other
5a60 20 4f 70 65 6e 20 53 6f 75 72 63 65 20 77 6f 72 6b 5d 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 70 .Open.Source.work](https://www.p
5a80 61 74 72 65 6f 6e 2e 63 6f 6d 2f 73 61 6e 69 74 79 69 6e 63 29 0a 0a 5b f0 9f 92 bc 20 4c 69 6e atreon.com/sanityinc)..[.....Lin
5aa0 6b 65 64 49 6e 20 70 72 6f 66 69 6c 65 5d 28 68 74 74 70 73 3a 2f 2f 75 6b 2e 6c 69 6e 6b 65 64 kedIn.profile](https://uk.linked
5ac0 69 6e 2e 63 6f 6d 2f 69 6e 2f 73 74 65 76 65 70 75 72 63 65 6c 6c 29 0a 0a 5b e2 9c 8d 20 73 61 in.com/in/stevepurcell)..[....sa
5ae0 6e 69 74 79 69 6e 63 2e 63 6f 6d 5d 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 73 61 6e 69 74 79 69 nityinc.com](https://www.sanityi
5b00 6e 63 2e 63 6f 6d 2f 29 0a 0a 5b f0 9f 90 a6 20 40 73 61 6e 69 74 79 69 6e 63 5d 28 68 74 74 70 nc.com/)..[.....@sanityinc](http
5b20 73 3a 2f 2f 74 77 69 74 74 65 72 2e 63 6f 6d 2f 73 61 6e 69 74 79 69 6e 63 29 0a 00 00 00 00 00 s://twitter.com/sanityinc)......
5b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
60e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
61e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
62e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
63e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
64e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
65e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
66e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
67e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
68e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
69e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
6fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
70e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
71e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
72a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
72c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
72e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
73a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
73c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
73e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
74e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
75e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
76a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
76c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
76e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
7780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
77e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................