summaryrefslogtreecommitdiff
path: root/localrepo/f-20240308.906.tar
blob: 38e41a87e03993dafe598e3dfdd408bc0222e736 (plain)
ofshex dumpascii
0000 66 2d 32 30 32 34 30 33 30 38 2e 39 30 36 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f-20240308.906/.................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 31 35 37 00 20 35 00 00 00 0000000.00000000000.011157..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 66 2d 32 30 32 34 30 33 30 38 2e 39 30 36 2f 66 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 f-20240308.906/f-pkg.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 30 31 30 31 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 37 35 00 20 30 00 00 00 0001010.00000000000.012475..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 66 22 20 22 32 30 32 34 30 33 30 38 2e 39 30 (define-package."f"."20240308.90
0420 36 22 20 22 4d 6f 64 65 72 6e 20 41 50 49 20 66 6f 72 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 6"."Modern.API.for.working.with.
0440 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 22 0a 20 20 27 28 28 65 6d 61 63 files.and.directories"...'((emac
0460 73 20 22 32 34 2e 31 22 29 0a 20 20 20 20 28 73 20 22 31 2e 37 2e 30 22 29 0a 20 20 20 20 28 64 s."24.1").....(s."1.7.0").....(d
0480 61 73 68 20 22 32 2e 32 2e 30 22 29 29 0a 20 20 3a 63 6f 6d 6d 69 74 20 22 31 65 37 30 32 30 64 ash."2.2.0"))...:commit."1e7020d
04a0 63 30 64 34 63 35 32 64 33 64 61 39 62 64 36 31 30 64 34 33 31 63 61 62 31 33 61 61 30 32 64 38 c0d4c52d3da9bd610d431cab13aa02d8
04c0 63 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 28 22 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f c".:authors...'(("Johan.Andersso
04e0 6e 22 20 2e 20 22 6a 6f 68 61 6e 2e 72 65 6a 65 65 70 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 0a n"..."johan.rejeep@gmail.com")).
0500 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 0a 20 20 27 28 28 22 4c 75 63 69 65 6e 20 43 61 72 74 ..:maintainers...'(("Lucien.Cart
0520 69 65 72 2d 54 69 6c 65 74 22 20 2e 20 22 6c 75 63 69 65 6e 40 70 68 75 6e 64 72 61 6b 2e 63 6f ier-Tilet"..."lucien@phundrak.co
0540 6d 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 0a 20 20 27 28 22 4c 75 63 69 65 6e 20 43 m"))...:maintainer...'("Lucien.C
0560 61 72 74 69 65 72 2d 54 69 6c 65 74 22 20 2e 20 22 6c 75 63 69 65 6e 40 70 68 75 6e 64 72 61 6b artier-Tilet"..."lucien@phundrak
0580 2e 63 6f 6d 22 29 0a 20 20 3a 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 22 66 69 6c 65 73 22 20 22 .com")...:keywords...'("files"."
05a0 64 69 72 65 63 74 6f 72 69 65 73 22 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 3a 2f 2f 67 69 74 directories")...:url."http://git
05c0 68 75 62 2e 63 6f 6d 2f 72 65 6a 65 65 70 2f 66 2e 65 6c 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 hub.com/rejeep/f.el").;;.Local.V
05e0 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a ariables:.;;.no-byte-compile:.t.
0600 3b 3b 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ;;.End:.........................
0620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
06e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
07e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0800 66 2d 32 30 32 34 30 33 30 38 2e 39 30 36 2f 66 2d 73 68 6f 72 74 64 6f 63 2e 65 6c 00 00 00 00 f-20240308.906/f-shortdoc.el....
0820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0860 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
0880 30 30 33 33 37 32 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 35 36 00 20 30 00 00 00 0033720.00000000000.013556..0...
08a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
08e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0900 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...................
0920 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...................
0940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
09e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a00 3b 3b 3b 20 66 2d 73 68 6f 72 74 64 6f 63 2e 65 6c 20 2d 2d 2d 20 53 68 6f 72 74 64 6f 63 20 66 ;;;.f-shortdoc.el.---.Shortdoc.f
0a20 6f 72 20 66 2e 65 6c 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 or.f.el.-*-.lexical-binding:.t;.
0a40 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 41 75 74 68 no-byte-compile:.t;.-*-..;;.Auth
0a60 6f 72 3a 20 4c 75 63 69 65 6e 20 43 61 72 74 69 65 72 2d 54 69 6c 65 74 20 3c 6c 75 63 69 65 6e or:.Lucien.Cartier-Tilet.<lucien
0a80 40 70 68 75 6e 64 72 61 6b 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 4c 75 @phundrak.com>.;;.Maintainer:.Lu
0aa0 63 69 65 6e 20 43 61 72 74 69 65 72 2d 54 69 6c 65 74 20 3c 6c 75 63 69 65 6e 40 70 68 75 6e 64 cien.Cartier-Tilet.<lucien@phund
0ac0 72 61 6b 2e 63 6f 6d 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 30 2e 31 2e 30 0a 3b 3b 20 50 61 rak.com>.;;.Version:.0.1.0.;;.Pa
0ae0 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 38 2e 31 22 29 29 ckage-Requires:.((emacs."28.1"))
0b00 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 75 62 2e 63 6f 6d .;;.Homepage:.https://github.com
0b20 2f 72 65 6a 65 65 70 2f 66 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 6e 6f /rejeep/f.el..;;.This.file.is.no
0b40 74 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f t.part.of.GNU.Emacs..;;.This.pro
0b60 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 gram.is.free.software:.you.can.r
0b80 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 edistribute.it.and/or.modify.;;.
0ba0 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 it.under.the.terms.of.the.GNU.Ge
0bc0 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 neral.Public.License.as.publishe
0be0 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 d.by.;;.the.Free.Software.Founda
0c00 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 tion,.either.version.3.of.the.Li
0c20 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e cense,.or.;;.(at.your.option).an
0c40 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 y.later.version...;;.This.progra
0c60 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 m.is.distributed.in.the.hope.tha
0c80 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 t.it.will.be.useful,.;;.but.WITH
0ca0 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 OUT.ANY.WARRANTY;.without.even.t
0cc0 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 he.implied.warranty.of.;;.MERCHA
0ce0 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
0d00 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 CULAR.PURPOSE...See.the.;;.GNU.G
0d20 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 eneral.Public.License.for.more.d
0d40 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 etails...;;.You.should.have.rece
0d60 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 ived.a.copy.of.the.GNU.General.P
0d80 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 ublic.License.;;.along.with.this
0da0 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f .program...If.not,.see.<https://
0dc0 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 0a 3b 3b 3b 20 43 6f www.gnu.org/licenses/>....;;;.Co
0de0 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 53 68 6f 72 74 64 6f 63 20 69 6d 70 6c 65 6d 65 6e 74 mmentary:..;;.Shortdoc.implement
0e00 61 74 69 6f 6e 20 66 6f 72 20 66 2e 65 6c 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 77 68 65 6e ation.for.f.el..;;;.Code:..(when
0e20 20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32 38 2e 31 22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e .(version<=."28.1".emacs-version
0e40 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 73 68 6f 72 74 64 6f 63 29 0a 0a 20 20 28 64 65 66 69 )...(require.'shortdoc)....(defi
0e60 6e 65 2d 73 68 6f 72 74 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 67 72 6f 75 70 20 66 0a 20 ne-short-documentation-group.f..
0e80 20 20 20 22 50 61 74 68 73 22 0a 20 20 20 20 28 66 2d 6a 6f 69 6e 0a 20 20 20 20 20 3a 65 76 61 ..."Paths".....(f-join......:eva
0ea0 6c 20 28 66 2d 6a 6f 69 6e 20 22 70 61 74 68 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d l.(f-join."path")......:eval.(f-
0ec0 6a 6f 69 6e 20 22 70 61 74 68 22 20 22 74 6f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d join."path"."to")......:eval.(f-
0ee0 6a 6f 69 6e 20 22 2f 22 20 22 70 61 74 68 22 20 22 74 6f 22 20 22 68 65 61 76 65 6e 22 29 0a 20 join."/"."path"."to"."heaven")..
0f00 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 6a 6f 69 6e 20 22 70 61 74 68 22 20 22 2f 74 6f 22 20 22 ....:eval.(f-join."path"."/to"."
0f20 66 69 6c 65 22 29 29 0a 0a 20 20 20 20 28 66 2d 73 70 6c 69 74 0a 20 20 20 20 20 3a 65 76 61 6c file"))......(f-split......:eval
0f40 20 28 66 2d 73 70 6c 69 74 20 22 70 61 74 68 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d .(f-split."path")......:eval.(f-
0f60 73 70 6c 69 74 20 22 70 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73 split."path/to")......:eval.(f-s
0f80 70 6c 69 74 20 22 2f 70 61 74 68 2f 74 6f 2f 68 65 61 76 65 6e 22 29 0a 20 20 20 20 20 3a 65 76 plit."/path/to/heaven")......:ev
0fa0 61 6c 20 28 66 2d 73 70 6c 69 74 20 22 7e 2f 62 61 63 6b 2f 74 6f 2f 65 61 72 74 68 22 29 29 0a al.(f-split."~/back/to/earth")).
0fc0 0a 20 20 20 20 28 66 2d 65 78 70 61 6e 64 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d .....(f-expand......:no-eval.(f-
0fe0 65 78 70 61 6e 64 20 22 6e 61 6d 65 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 expand."name")......:result-stri
1000 6e 67 20 22 2f 64 65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79 2f 6e 61 6d 65 22 0a 20 20 20 ng."/default/directory/name"....
1020 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 65 78 70 61 6e 64 20 22 6e 61 6d 65 22 20 22 6f 74 68 ..:no-eval.(f-expand."name"."oth
1040 65 72 2f 64 69 72 65 63 74 6f 72 79 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 er/directory")......:result-stri
1060 6e 67 20 22 6f 74 68 65 72 2f 64 69 72 65 63 74 6f 72 79 2f 6e 61 6d 65 22 29 0a 0a 20 20 20 20 ng."other/directory/name")......
1080 28 66 2d 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 66 69 6c 65 6e 61 (f-filename......:eval.(f-filena
10a0 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 65 78 74 22 29 0a 20 20 20 20 20 3a 65 76 61 me."path/to/file.ext")......:eva
10c0 6c 20 28 66 2d 66 69 6c 65 6e 61 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 65 63 74 6f 72 79 l.(f-filename."path/to/directory
10e0 22 29 29 0a 0a 20 20 20 20 28 66 2d 64 69 72 6e 61 6d 65 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 "))......(f-dirname......:eval.(
1100 66 2d 64 69 72 6e 61 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 65 78 74 22 29 0a 20 20 f-dirname."path/to/file.ext")...
1120 20 20 20 3a 65 76 61 6c 20 28 66 2d 64 69 72 6e 61 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 ...:eval.(f-dirname."path/to/dir
1140 65 63 74 6f 72 79 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 64 69 72 6e 61 6d 65 20 22 ectory")......:eval.(f-dirname."
1160 2f 22 29 29 0a 0a 20 20 20 20 28 66 2d 63 6f 6d 6d 6f 6e 2d 70 61 72 65 6e 74 0a 20 20 20 20 20 /"))......(f-common-parent......
1180 3a 65 76 61 6c 20 28 66 2d 63 6f 6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 27 28 22 66 6f 6f 2f 62 61 :eval.(f-common-parent.'("foo/ba
11a0 72 2f 62 61 7a 22 20 22 66 6f 6f 2f 62 61 72 2f 71 75 78 22 20 22 66 6f 6f 2f 62 61 72 2f 6d 75 r/baz"."foo/bar/qux"."foo/bar/mu
11c0 78 22 29 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 63 6f 6d 6d 6f 6e 2d 70 61 72 65 6e 74 x"))......:eval.(f-common-parent
11e0 20 27 28 22 2f 66 6f 6f 2f 62 61 72 2f 62 61 7a 22 20 22 2f 66 6f 6f 2f 62 61 72 2f 71 75 78 22 .'("/foo/bar/baz"."/foo/bar/qux"
1200 20 22 2f 66 6f 6f 2f 62 61 78 2f 6d 75 78 22 29 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d ."/foo/bax/mux"))......:eval.(f-
1220 63 6f 6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 27 28 22 66 6f 6f 2f 62 61 72 2f 62 61 7a 22 20 22 71 common-parent.'("foo/bar/baz"."q
1240 75 61 63 6b 2f 62 61 72 2f 71 75 78 22 20 22 6c 61 63 6b 2f 62 61 72 2f 6d 75 78 22 29 29 29 0a uack/bar/qux"."lack/bar/mux"))).
1260 0a 20 20 20 20 28 66 2d 65 78 74 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 65 78 74 20 22 70 .....(f-ext......:eval.(f-ext."p
1280 61 74 68 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 65 78 74 20 ath/to/file")......:eval.(f-ext.
12a0 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 "path/to/file.txt")......:eval.(
12c0 66 2d 65 78 74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 2e 6f 72 67 22 29 29 0a 0a f-ext."path/to/file.txt.org"))..
12e0 20 20 20 20 28 66 2d 6e 6f 2d 65 78 74 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 6e 6f 2d 65 ....(f-no-ext......:eval.(f-no-e
1300 78 74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 xt."path/to/file")......:eval.(f
1320 2d 6e 6f 2d 65 78 74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 -no-ext."path/to/file.txt").....
1340 20 3a 65 76 61 6c 20 28 66 2d 6e 6f 2d 65 78 74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 .:eval.(f-no-ext."path/to/file.t
1360 78 74 2e 6f 72 67 22 29 29 0a 0a 20 20 20 20 28 66 2d 73 77 61 70 2d 65 78 74 0a 20 20 20 20 20 xt.org"))......(f-swap-ext......
1380 3a 65 76 61 6c 20 28 66 2d 73 77 61 70 2d 65 78 74 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e :eval.(f-swap-ext."path/to/file.
13a0 65 78 74 22 20 22 6f 72 67 22 29 29 0a 0a 20 20 20 20 28 66 2d 62 61 73 65 0a 20 20 20 20 20 3a ext"."org"))......(f-base......:
13c0 65 76 61 6c 20 28 66 2d 62 61 73 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 65 78 74 22 29 eval.(f-base."path/to/file.ext")
13e0 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 62 61 73 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 ......:eval.(f-base."path/to/dir
1400 65 63 74 6f 72 79 22 29 29 0a 0a 20 20 20 20 28 66 2d 72 65 6c 61 74 69 76 65 0a 20 20 20 20 20 ectory"))......(f-relative......
1420 3a 65 76 61 6c 20 28 66 2d 72 65 6c 61 74 69 76 65 20 22 2f 73 6f 6d 65 2f 70 61 74 68 2f 72 65 :eval.(f-relative."/some/path/re
1440 6c 61 74 69 76 65 2f 74 6f 2f 6d 79 2f 66 69 6c 65 2e 74 78 74 22 20 22 2f 73 6f 6d 65 2f 70 61 lative/to/my/file.txt"."/some/pa
1460 74 68 2f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 72 65 6c 61 74 69 76 65 20 22 2f 64 th/")......:eval.(f-relative."/d
1480 65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79 2f 6d 79 2f 66 69 6c 65 2e 74 78 74 22 29 29 0a efault/directory/my/file.txt")).
14a0 0a 20 20 20 20 28 66 2d 73 68 6f 72 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73 .....(f-short......:no-eval.(f-s
14c0 68 6f 72 74 20 22 2f 55 73 65 72 73 2f 66 6f 6f 2f 43 6f 64 65 2f 6f 6e 2f 6d 61 63 4f 53 22 29 hort."/Users/foo/Code/on/macOS")
14e0 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 7e 2f 43 6f 64 65 2f 6f 6e 2f ......:result-string."~/Code/on/
1500 6d 61 63 4f 53 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73 68 6f 72 74 20 22 2f macOS"......:no-eval.(f-short."/
1520 68 6f 6d 65 2f 66 6f 6f 2f 43 6f 64 65 2f 6f 6e 2f 6c 69 6e 75 78 22 29 0a 20 20 20 20 20 3a 72 home/foo/Code/on/linux")......:r
1540 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 7e 2f 43 6f 64 65 2f 6f 6e 2f 6c 69 6e 75 78 22 0a 20 esult-string."~/Code/on/linux"..
1560 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73 68 6f 72 74 20 22 2f 70 61 74 68 2f 74 6f 2f 43 6f 64 ....:eval.(f-short."/path/to/Cod
1580 65 2f 62 61 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 6c 6f 6e 67 0a 20 20 20 20 20 3a 65 76 61 6c e/bar"))......(f-long......:eval
15a0 20 28 66 2d 6c 6f 6e 67 20 22 7e 2f 43 6f 64 65 2f 62 61 72 22 29 0a 20 20 20 20 20 3a 65 76 61 .(f-long."~/Code/bar")......:eva
15c0 6c 20 28 66 2d 6c 6f 6e 67 20 22 2f 70 61 74 68 2f 74 6f 2f 43 6f 64 65 2f 62 61 72 22 29 29 0a l.(f-long."/path/to/Code/bar")).
15e0 0a 20 20 20 20 28 66 2d 63 61 6e 6f 6e 69 63 61 6c 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d .....(f-canonical......:eval.(f-
1600 63 61 6e 6f 6e 69 63 61 6c 20 22 2f 70 61 74 68 2f 74 6f 2f 72 65 61 6c 2f 66 69 6c 65 22 29 0a canonical."/path/to/real/file").
1620 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 61 6e 6f 6e 69 63 61 6c 20 22 2f 6c 69 6e .....:no-eval.(f-canonical."/lin
1640 6b 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 k/to/file")......:result-string.
1660 22 2f 70 61 74 68 2f 74 6f 2f 72 65 61 6c 2f 66 69 6c 65 22 29 0a 0a 20 20 20 20 28 66 2d 73 6c "/path/to/real/file")......(f-sl
1680 61 73 68 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73 6c 61 73 68 20 22 2f 70 61 74 ash......:no-eval.(f-slash."/pat
16a0 68 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 h/to/file")......:result-string.
16c0 22 2f 70 61 74 68 2f 74 6f 2f 66 69 6c 65 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 "/path/to/file"......:no-eval.(f
16e0 2d 73 6c 61 73 68 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 -slash."/path/to/dir")......:res
1700 75 6c 74 2d 73 74 72 69 6e 67 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 2f 22 0a 20 20 20 20 20 ult-string."/path/to/dir/"......
1720 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73 6c 61 73 68 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 2f :no-eval.(f-slash."/path/to/dir/
1740 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 2f 70 61 74 68 2f 74 6f ")......:result-string."/path/to
1760 2f 64 69 72 2f 22 29 0a 0a 20 20 20 20 28 66 2d 66 75 6c 6c 0a 20 20 20 20 20 3a 65 76 61 6c 20 /dir/")......(f-full......:eval.
1780 28 66 2d 66 75 6c 6c 20 22 7e 2f 70 61 74 68 2f 74 6f 2f 66 69 6c 65 22 29 0a 20 20 20 20 20 3a (f-full."~/path/to/file")......:
17a0 65 76 61 6c 20 28 66 2d 66 75 6c 6c 20 22 7e 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 eval.(f-full."~/path/to/dir")...
17c0 20 20 20 3a 65 76 61 6c 20 28 66 2d 66 75 6c 6c 20 22 7e 2f 70 61 74 68 2f 74 6f 2f 64 69 72 2f ...:eval.(f-full."~/path/to/dir/
17e0 22 29 29 0a 0a 20 20 20 20 28 66 2d 75 6e 69 71 75 69 66 79 0a 20 20 20 20 20 3a 65 76 61 6c 20 "))......(f-uniquify......:eval.
1800 28 66 2d 75 6e 69 71 75 69 66 79 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22 20 22 2f 66 6f 6f 2f 62 (f-uniquify.'("/foo/bar"."/foo/b
1820 61 7a 22 20 22 2f 66 6f 6f 2f 71 75 75 78 22 29 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d az"."/foo/quux"))......:eval.(f-
1840 75 6e 69 71 75 69 66 79 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22 20 22 2f 77 77 77 2f 62 61 72 22 uniquify.'("/foo/bar"."/www/bar"
1860 20 22 2f 66 6f 6f 2f 71 75 75 78 22 29 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 75 6e 69 ."/foo/quux"))......:eval.(f-uni
1880 71 75 69 66 79 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22 20 22 2f 77 77 77 2f 62 61 72 22 20 22 2f quify.'("/foo/bar"."/www/bar"."/
18a0 77 77 77 2f 62 61 72 2f 71 75 75 78 22 29 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 75 6e www/bar/quux"))......:eval.(f-un
18c0 69 71 75 69 66 79 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22 20 22 2f 66 6f 6f 2f 62 61 7a 22 20 22 iquify.'("/foo/bar"."/foo/baz"."
18e0 2f 68 6f 6d 65 2f 77 77 77 2f 62 61 72 22 20 22 2f 68 6f 6d 65 2f 77 77 77 2f 62 61 7a 22 20 22 /home/www/bar"."/home/www/baz"."
1900 2f 76 61 72 2f 66 6f 6f 22 20 22 2f 6f 70 74 2f 66 6f 6f 2f 77 77 77 2f 62 61 7a 22 29 29 29 0a /var/foo"."/opt/foo/www/baz"))).
1920 0a 20 20 20 20 28 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 0a 20 20 20 20 20 3a 65 76 61 .....(f-uniquify-alist......:eva
1940 6c 20 28 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22 l.(f-uniquify-alist.'("/foo/bar"
1960 20 22 2f 66 6f 6f 2f 62 61 7a 22 20 22 2f 66 6f 6f 2f 71 75 75 78 22 29 29 0a 20 20 20 20 20 3a ."/foo/baz"."/foo/quux"))......:
1980 65 76 61 6c 20 28 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 20 27 28 22 2f 66 6f 6f 2f 62 eval.(f-uniquify-alist.'("/foo/b
19a0 61 72 22 20 22 2f 77 77 77 2f 62 61 72 22 20 22 2f 66 6f 6f 2f 71 75 75 78 22 29 29 0a 20 20 20 ar"."/www/bar"."/foo/quux"))....
19c0 20 20 3a 65 76 61 6c 20 28 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 20 27 28 22 2f 66 6f ..:eval.(f-uniquify-alist.'("/fo
19e0 6f 2f 62 61 72 22 20 22 2f 77 77 77 2f 62 61 72 22 20 22 2f 77 77 77 2f 62 61 72 2f 71 75 75 78 o/bar"."/www/bar"."/www/bar/quux
1a00 22 29 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 "))......:eval.(f-uniquify-alist
1a20 20 27 28 22 2f 66 6f 6f 2f 62 61 72 22 20 22 2f 66 6f 6f 2f 62 61 7a 22 20 22 2f 68 6f 6d 65 2f .'("/foo/bar"."/foo/baz"."/home/
1a40 77 77 77 2f 62 61 72 22 20 22 2f 68 6f 6d 65 2f 77 77 77 2f 62 61 7a 22 20 22 2f 76 61 72 2f 66 www/bar"."/home/www/baz"."/var/f
1a60 6f 6f 22 20 22 2f 6f 70 74 2f 66 6f 6f 2f 77 77 77 2f 62 61 7a 22 29 29 29 0a 0a 20 20 20 20 22 oo"."/opt/foo/www/baz")))......"
1a80 49 2f 4f 22 0a 20 20 20 20 28 66 2d 72 65 61 64 2d 62 79 74 65 73 0a 20 20 20 20 20 3a 6e 6f 2d I/O".....(f-read-bytes......:no-
1aa0 65 76 61 6c 2a 20 28 66 2d 72 65 61 64 2d 62 79 74 65 73 20 22 70 61 74 68 2f 74 6f 2f 62 69 6e eval*.(f-read-bytes."path/to/bin
1ac0 61 72 79 2f 64 61 74 61 22 29 29 0a 0a 20 20 20 20 28 66 2d 77 72 69 74 65 2d 62 79 74 65 73 0a ary/data"))......(f-write-bytes.
1ae0 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 77 72 69 74 65 2d 62 79 74 65 73 20 28 75 .....:no-eval*.(f-write-bytes.(u
1b00 6e 69 62 79 74 65 2d 73 74 72 69 6e 67 20 37 32 20 31 30 31 20 31 30 38 20 31 30 38 20 31 31 31 nibyte-string.72.101.108.108.111
1b20 20 33 32 20 31 31 39 20 31 31 31 20 31 31 34 20 31 30 38 20 31 30 30 29 20 22 70 61 74 68 2f 74 .32.119.111.114.108.100)."path/t
1b40 6f 2f 62 69 6e 61 72 79 2f 64 61 74 61 22 29 29 0a 0a 20 20 20 20 28 66 2d 61 70 70 65 6e 64 2d o/binary/data"))......(f-append-
1b60 62 79 74 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 61 70 70 65 6e 64 2d 62 bytes......:no-eval*.(f-append-b
1b80 79 74 65 73 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 22 20 28 75 6e 69 62 79 74 65 2d 73 74 72 ytes."path/to/file".(unibyte-str
1ba0 69 6e 67 20 37 32 20 31 30 31 20 31 30 38 20 31 30 38 20 31 31 31 20 33 32 20 31 31 39 20 31 31 ing.72.101.108.108.111.32.119.11
1bc0 31 20 31 31 34 20 31 30 38 20 31 30 30 29 29 29 0a 0a 20 20 20 20 28 66 2d 72 65 61 64 2d 74 65 1.114.108.100)))......(f-read-te
1be0 78 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 72 65 61 64 2d 74 65 78 74 20 22 xt......:no-eval*.(f-read-text."
1c00 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 27 75 74 66 2d 38 29 0a 20 20 20 20 20 3a path/to/file.txt".'utf-8)......:
1c20 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 72 65 61 64 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 no-eval*.(f-read."path/to/file.t
1c40 78 74 22 20 27 75 74 66 2d 38 29 29 0a 0a 20 20 20 20 28 66 2d 77 72 69 74 65 2d 74 65 78 74 0a xt".'utf-8))......(f-write-text.
1c60 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 77 72 69 74 65 2d 74 65 78 74 20 22 48 65 .....:no-eval*.(f-write-text."He
1c80 6c 6c 6f 20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e llo.world".'utf-8."path/to/file.
1ca0 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 77 72 69 74 65 20 22 48 txt")......:no-eval*.(f-write."H
1cc0 65 6c 6c 6f 20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 ello.world".'utf-8."path/to/file
1ce0 2e 74 78 74 22 29 29 0a 0a 20 20 20 20 28 66 2d 61 70 70 65 6e 64 2d 74 65 78 74 0a 20 20 20 20 .txt"))......(f-append-text.....
1d00 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 61 70 70 65 6e 64 2d 74 65 78 74 20 22 48 65 6c 6c 6f .:no-eval*.(f-append-text."Hello
1d20 20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 .world".'utf-8."path/to/file.txt
1d40 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 61 70 70 65 6e 64 20 22 48 65 6c ")......:no-eval*.(f-append."Hel
1d60 6c 6f 20 77 6f 72 6c 64 22 20 27 75 74 66 2d 38 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 lo.world".'utf-8."path/to/file.t
1d80 78 74 22 29 29 0a 0a 20 20 20 20 22 44 65 73 74 72 75 63 74 69 76 65 22 0a 20 20 20 20 28 66 2d xt"))......"Destructive".....(f-
1da0 6d 6b 64 69 72 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 20 22 64 69 mkdir......:no-eval.(f-mkdir."di
1dc0 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 63 72 65 61 74 65 73 r")......:result-string."creates
1de0 20 2f 64 65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79 2f 64 69 72 22 0a 20 20 20 20 20 3a 6e ./default/directory/dir"......:n
1e00 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 20 22 6f 74 68 65 72 22 20 22 64 69 72 22 29 0a 20 o-eval.(f-mkdir."other"."dir")..
1e20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 63 72 65 61 74 65 73 20 2f 64 65 66 ....:result-string."creates./def
1e40 61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79 2f 6f 74 68 65 72 2f 64 69 72 22 0a 20 20 20 20 20 3a ault/directory/other/dir"......:
1e60 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 20 22 2f 22 20 22 73 6f 6d 65 22 20 22 70 61 74 no-eval.(f-mkdir."/"."some"."pat
1e80 68 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 63 72 65 61 74 65 73 h")......:result-string."creates
1ea0 20 2f 73 6f 6d 65 2f 70 61 74 68 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b ./some/path"......:no-eval.(f-mk
1ec0 64 69 72 20 22 7e 22 20 22 79 65 74 22 20 22 61 6e 6f 74 68 65 72 22 20 22 64 69 72 22 29 0a 20 dir."~"."yet"."another"."dir")..
1ee0 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 63 72 65 61 74 65 73 20 7e 2f 79 65 ....:result-string."creates.~/ye
1f00 74 2f 61 6e 6f 74 68 65 72 2f 64 69 72 22 29 0a 0a 20 20 20 20 28 66 2d 6d 6b 64 69 72 2d 66 75 t/another/dir")......(f-mkdir-fu
1f20 6c 6c 2d 70 61 74 68 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 2d 66 ll-path......:no-eval.(f-mkdir-f
1f40 75 6c 6c 2d 70 61 74 68 20 22 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 ull-path."dir")......:result-str
1f60 69 6e 67 20 22 63 72 65 61 74 65 73 20 2f 64 65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f 72 79 2f ing."creates./default/directory/
1f80 64 69 72 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 2d 66 75 6c 6c dir"......:no-eval.(f-mkdir-full
1fa0 2d 70 61 74 68 20 22 6f 74 68 65 72 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 2d -path."other/dir")......:result-
1fc0 73 74 72 69 6e 67 20 22 63 72 65 61 74 65 73 20 2f 64 65 66 61 75 6c 74 2f 64 69 72 65 63 74 6f string."creates./default/directo
1fe0 72 79 2f 6f 74 68 65 72 2f 64 69 72 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d ry/other/dir"......:no-eval.(f-m
2000 6b 64 69 72 2d 66 75 6c 6c 2d 70 61 74 68 20 22 2f 73 6f 6d 65 2f 70 61 74 68 22 29 0a 20 20 20 kdir-full-path."/some/path")....
2020 20 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 63 72 65 61 74 65 73 20 2f 73 6f 6d 65 2f ..:result-string."creates./some/
2040 70 61 74 68 22 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6b 64 69 72 2d 66 75 6c path"......:no-eval.(f-mkdir-ful
2060 6c 2d 70 61 74 68 20 22 7e 2f 79 65 74 2f 61 6e 6f 74 68 65 72 2f 64 69 72 22 29 0a 20 20 20 20 l-path."~/yet/another/dir").....
2080 20 3a 72 65 73 75 6c 74 2d 73 74 72 69 6e 67 20 22 63 72 65 61 74 65 73 20 7e 2f 79 65 74 2f 61 .:result-string."creates.~/yet/a
20a0 6e 6f 74 68 65 72 2f 64 69 72 22 29 0a 0a 20 20 20 20 28 66 2d 64 65 6c 65 74 65 0a 20 20 20 20 nother/dir")......(f-delete.....
20c0 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 65 6c 65 74 65 20 22 64 69 72 22 29 0a 20 20 20 20 .:no-eval*.(f-delete."dir").....
20e0 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 65 6c 65 74 65 20 22 6f 74 68 65 72 2f 64 69 72 22 .:no-eval*.(f-delete."other/dir"
2100 20 74 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 65 6c 65 74 65 20 22 70 61 .t)......:no-eval*.(f-delete."pa
2120 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 29 0a 0a 20 20 20 20 28 66 2d 73 79 6d 6c 69 6e th/to/file.txt"))......(f-symlin
2140 6b 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 73 79 6d 6c 69 6e 6b 20 22 70 61 74 k......:no-eval*.(f-symlink."pat
2160 68 2f 74 6f 2f 73 6f 75 72 63 65 22 20 22 70 61 74 68 2f 74 6f 2f 6c 69 6e 6b 22 29 29 0a 0a 20 h/to/source"."path/to/link"))...
2180 20 20 20 28 66 2d 6d 6f 76 65 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 6d 6f 76 ...(f-move......:no-eval*.(f-mov
21a0 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 22 6e 65 77 2d 66 69 6c 65 2e 74 e."path/to/file.txt"."new-file.t
21c0 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 6d 6f 76 65 20 22 70 61 74 xt")......:no-eval*.(f-move."pat
21e0 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 22 6f 74 68 65 72 2f 70 61 74 68 22 29 29 0a 0a 20 h/to/file.txt"."other/path"))...
2200 20 20 20 28 66 2d 63 6f 70 79 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 63 6f 70 ...(f-copy......:no-eval*.(f-cop
2220 79 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 22 6e 65 77 2d 66 69 6c 65 2e 74 y."path/to/file.txt"."new-file.t
2240 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 63 6f 70 79 20 22 70 61 74 xt")......:no-eval*.(f-copy."pat
2260 68 2f 74 6f 2f 64 69 72 22 20 22 6f 74 68 65 72 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d h/to/dir"."other/dir"))......(f-
2280 63 6f 70 79 2d 63 6f 6e 74 65 6e 74 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d copy-contents......:no-eval*.(f-
22a0 63 6f 70 79 2d 63 6f 6e 74 65 6e 74 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 22 70 61 74 copy-contents."path/to/dir"."pat
22c0 68 2f 74 6f 2f 6f 74 68 65 72 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 74 6f 75 63 68 0a h/to/other/dir"))......(f-touch.
22e0 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 74 6f 75 63 68 20 22 70 61 74 68 2f 74 6f .....:no-eval*.(f-touch."path/to
2300 2f 65 78 69 73 74 69 6e 67 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 /existing/file.txt")......:no-ev
2320 61 6c 2a 20 28 66 2d 74 6f 75 63 68 20 22 70 61 74 68 2f 74 6f 2f 6e 6f 6e 2f 65 78 69 73 74 69 al*.(f-touch."path/to/non/existi
2340 6e 67 2f 66 69 6c 65 2e 74 78 74 22 29 29 0a 0a 20 20 20 20 22 50 72 65 64 69 63 61 74 65 73 22 ng/file.txt"))......"Predicates"
2360 0a 20 20 20 20 28 66 2d 65 78 69 73 74 73 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 .....(f-exists-p......:no-eval*.
2380 28 66 2d 65 78 69 73 74 73 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a (f-exists-p."path/to/file.txt").
23a0 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 65 78 69 73 74 73 2d 70 20 22 70 61 74 68 .....:no-eval*.(f-exists-p."path
23c0 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 0a 20 /to/dir"))......(f-directory-p..
23e0 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 22 70 61 ....:no-eval*.(f-directory-p."pa
2400 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 th/to/file.txt")......:no-eval*.
2420 28 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a (f-directory-p."path/to/dir"))..
2440 20 20 20 20 28 66 2d 66 69 6c 65 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d ....(f-file-p......:no-eval*.(f-
2460 66 69 6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 file-p."path/to/file.txt")......
2480 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 66 69 6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 :no-eval*.(f-file-p."path/to/dir
24a0 22 29 29 0a 0a 20 20 20 20 28 66 2d 73 79 6d 6c 69 6e 6b 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 "))......(f-symlink-p......:no-e
24c0 76 61 6c 2a 20 28 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e val*.(f-symlink-p."path/to/file.
24e0 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 73 79 6d 6c 69 6e 6b 2d txt")......:no-eval*.(f-symlink-
2500 70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 p."path/to/dir")......:no-eval*.
2520 28 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20 22 70 61 74 68 2f 74 6f 2f 6c 69 6e 6b 22 29 29 0a 0a 20 (f-symlink-p."path/to/link"))...
2540 20 20 20 28 66 2d 72 65 61 64 61 62 6c 65 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 ...(f-readable-p......:no-eval*.
2560 28 66 2d 72 65 61 64 61 62 6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 (f-readable-p."path/to/file.txt"
2580 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 72 65 61 64 61 62 6c 65 2d 70 20 22 )......:no-eval*.(f-readable-p."
25a0 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 77 72 69 74 61 62 6c 65 2d path/to/dir"))......(f-writable-
25c0 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 77 72 69 74 61 62 6c 65 2d 70 20 22 p......:no-eval*.(f-writable-p."
25e0 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c path/to/file.txt")......:no-eval
2600 2a 20 28 66 2d 77 72 69 74 61 62 6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a *.(f-writable-p."path/to/dir")).
2620 0a 20 20 20 20 28 66 2d 65 78 65 63 75 74 61 62 6c 65 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 .....(f-executable-p......:no-ev
2640 61 6c 2a 20 28 66 2d 65 78 65 63 75 74 61 62 6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c al*.(f-executable-p."path/to/fil
2660 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 65 78 65 63 75 74 e.txt")......:no-eval*.(f-execut
2680 61 62 6c 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 61 able-p."path/to/dir"))......(f-a
26a0 62 73 6f 6c 75 74 65 2d 70 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 61 62 73 6f 6c 75 74 65 bsolute-p......:eval.(f-absolute
26c0 2d 70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d -p."path/to/dir")......:eval.(f-
26e0 61 62 73 6f 6c 75 74 65 2d 70 20 22 2f 66 75 6c 6c 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 absolute-p."/full/path/to/dir"))
2700 0a 0a 20 20 20 20 28 66 2d 72 65 6c 61 74 69 76 65 2d 70 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 ......(f-relative-p......:eval.(
2720 66 2d 72 65 6c 61 74 69 76 65 2d 70 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 f-relative-p."path/to/dir").....
2740 20 3a 65 76 61 6c 20 28 66 2d 72 65 6c 61 74 69 76 65 2d 70 20 22 2f 66 75 6c 6c 2f 70 61 74 68 .:eval.(f-relative-p."/full/path
2760 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 72 6f 6f 74 2d 70 0a 20 20 20 20 20 3a /to/dir"))......(f-root-p......:
2780 65 76 61 6c 20 28 66 2d 72 6f 6f 74 2d 70 20 22 2f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 eval.(f-root-p."/")......:eval.(
27a0 66 2d 72 6f 6f 74 2d 70 20 22 2f 6e 6f 74 2f 72 6f 6f 74 22 29 29 0a 0a 20 20 20 20 28 66 2d 65 f-root-p."/not/root"))......(f-e
27c0 78 74 2d 70 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 65 78 74 2d 70 20 22 70 61 74 68 2f 74 xt-p......:eval.(f-ext-p."path/t
27e0 6f 2f 66 69 6c 65 2e 65 6c 22 20 22 65 6c 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 65 o/file.el"."el")......:eval.(f-e
2800 78 74 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 65 6c 22 20 22 74 78 74 22 29 0a 20 20 xt-p."path/to/file.el"."txt")...
2820 20 20 20 3a 65 76 61 6c 20 28 66 2d 65 78 74 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e ...:eval.(f-ext-p."path/to/file.
2840 65 6c 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 65 78 74 2d 70 20 22 70 61 74 68 2f 74 el")......:eval.(f-ext-p."path/t
2860 6f 2f 66 69 6c 65 22 29 29 0a 0a 20 20 20 20 28 66 2d 73 61 6d 65 2d 70 0a 20 20 20 20 20 3a 65 o/file"))......(f-same-p......:e
2880 76 61 6c 20 28 66 2d 73 61 6d 65 2d 70 20 22 66 6f 6f 2e 74 78 74 22 20 22 66 6f 6f 2e 74 78 74 val.(f-same-p."foo.txt"."foo.txt
28a0 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 73 61 6d 65 2d 70 20 22 66 6f 6f 2f 62 61 72 ")......:eval.(f-same-p."foo/bar
28c0 2f 2e 2e 2f 62 61 7a 22 20 22 66 6f 6f 2f 62 61 7a 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 /../baz"."foo/baz")......:eval.(
28e0 66 2d 73 61 6d 65 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 66 6f 6f 2e 74 78 74 22 20 22 2f 70 61 f-same-p."/path/to/foo.txt"."/pa
2900 74 68 2f 74 6f 2f 62 61 72 2e 74 78 74 22 29 29 0a 0a 20 20 20 20 28 66 2d 70 61 72 65 6e 74 2d th/to/bar.txt"))......(f-parent-
2920 6f 66 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 70 61 72 65 6e 74 2d 6f 66 2d of-p......:no-eval.(f-parent-of-
2940 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 p."/path/to"."/path/to/dir")....
2960 20 20 3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 70 61 72 ..:result.t......:no-eval.(f-par
2980 65 6e 74 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 22 2f 70 61 74 68 2f 74 ent-of-p."/path/to/dir"."/path/t
29a0 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 o")......:result.nil......:no-ev
29c0 61 6c 20 28 66 2d 70 61 72 65 6e 74 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 al.(f-parent-of-p."/path/to"."/p
29e0 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 ath/to")......:result.nil)......
2a00 28 66 2d 63 68 69 6c 64 2d 6f 66 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 (f-child-of-p......:no-eval.(f-c
2a20 68 69 6c 64 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74 68 2f 74 6f 2f 64 hild-of-p."/path/to"."/path/to/d
2a40 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 ir")......:result.nil......:no-e
2a60 76 61 6c 20 28 66 2d 63 68 69 6c 64 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 val.(f-child-of-p."/path/to/dir"
2a80 20 22 2f 70 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 ."/path/to")......:result.t.....
2aa0 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 69 6c 64 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 .:no-eval.(f-child-of-p."/path/t
2ac0 6f 22 20 22 2f 70 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 o"."/path/to")......:result.nil)
2ae0 0a 0a 20 20 20 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d ......(f-ancestor-of-p......:no-
2b00 65 76 61 6c 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 eval.(f-ancestor-of-p."/path/to"
2b20 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 74 0a ."/path/to/dir")......:result.t.
2b40 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66 2d 70 20 22 .....:no-eval.(f-ancestor-of-p."
2b60 2f 70 61 74 68 22 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 /path"."/path/to/dir")......:res
2b80 75 6c 74 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d ult.t......:no-eval.(f-ancestor-
2ba0 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 22 2f 70 61 74 68 2f 74 6f 22 29 0a of-p."/path/to/dir"."/path/to").
2bc0 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 .....:result.nil......:no-eval.(
2be0 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74 f-ancestor-of-p."/path/to"."/pat
2c00 68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 28 66 h/to")......:result.nil)......(f
2c20 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 -descendant-of-p......:no-eval.(
2c40 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 f-descendant-of-p."/path/to/dir"
2c60 20 22 2f 70 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 ."/path/to")......:result.t.....
2c80 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 20 22 2f 70 .:no-eval.(f-descendant-of-p."/p
2ca0 61 74 68 2f 74 6f 2f 64 69 72 22 20 22 2f 70 61 74 68 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c ath/to/dir"."/path")......:resul
2cc0 74 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d t.t......:no-eval.(f-descendant-
2ce0 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a of-p."/path/to"."/path/to/dir").
2d00 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 .....:result.nil......:no-eval.(
2d20 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 20 22 2f 70 61 74 68 2f 74 6f 22 20 22 2f 70 f-descendant-of-p."/path/to"."/p
2d40 61 74 68 2f 74 6f 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 ath/to")......:result.nil)......
2d60 28 66 2d 68 69 64 64 65 6e 2d 70 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e (f-hidden-p......:eval.(f-hidden
2d80 2d 70 20 22 70 61 74 68 2f 74 6f 2f 66 6f 6f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d -p."path/to/foo")......:eval.(f-
2da0 68 69 64 64 65 6e 2d 70 20 22 2e 70 61 74 68 2f 74 6f 2f 66 6f 6f 22 29 0a 20 20 20 20 20 3a 65 hidden-p.".path/to/foo")......:e
2dc0 76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f 2e 74 6f 2f 66 6f 6f 22 29 0a val.(f-hidden-p."path/.to/foo").
2de0 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f 74 6f 2f .....:eval.(f-hidden-p."path/to/
2e00 2e 66 6f 6f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 2e .foo")......:eval.(f-hidden-p.".
2e20 70 61 74 68 2f 74 6f 2f 66 6f 6f 22 20 27 61 6e 79 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 path/to/foo".'any)......:eval.(f
2e40 2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f 2e 74 6f 2f 66 6f 6f 22 20 27 61 6e 79 29 0a 20 -hidden-p."path/.to/foo".'any)..
2e60 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f 74 6f 2f 2e ....:eval.(f-hidden-p."path/to/.
2e80 66 6f 6f 22 20 27 61 6e 79 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d foo".'any)......:eval.(f-hidden-
2ea0 70 20 22 2e 70 61 74 68 2f 74 6f 2f 66 6f 6f 22 20 27 6c 61 73 74 29 0a 20 20 20 20 20 3a 65 76 p.".path/to/foo".'last)......:ev
2ec0 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 68 2f 2e 74 6f 2f 66 6f 6f 22 20 27 6c al.(f-hidden-p."path/.to/foo".'l
2ee0 61 73 74 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 68 69 64 64 65 6e 2d 70 20 22 70 61 74 ast)......:eval.(f-hidden-p."pat
2f00 68 2f 74 6f 2f 2e 66 6f 6f 22 20 27 6c 61 73 74 29 29 0a 0a 20 20 20 20 28 66 2d 65 6d 70 74 79 h/to/.foo".'last))......(f-empty
2f20 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 65 6d 70 74 79 2d 70 20 22 2f 70 61 -p......:no-eval.(f-empty-p."/pa
2f40 74 68 2f 74 6f 2f 65 6d 70 74 79 2d 66 69 6c 65 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 th/to/empty-file")......:result.
2f60 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 65 6d 70 74 79 2d 70 20 22 2f 70 61 74 t......:no-eval.(f-empty-p."/pat
2f80 68 2f 74 6f 2f 66 69 6c 65 2d 77 69 74 68 2d 63 6f 6e 74 65 6e 74 73 22 29 0a 20 20 20 20 20 3a h/to/file-with-contents")......:
2fa0 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 65 6d 70 74 result.nil......:no-eval.(f-empt
2fc0 79 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 65 6d 70 74 79 2d 64 69 72 2f 22 29 0a 20 20 20 20 20 y-p."/path/to/empty-dir/")......
2fe0 3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 65 6d 70 74 79 :result.t......:no-eval.(f-empty
3000 2d 70 20 22 2f 70 61 74 68 2f 74 6f 2f 64 69 72 2d 77 69 74 68 2d 63 6f 6e 74 65 6e 74 73 2f 22 -p."/path/to/dir-with-contents/"
3020 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 28 66 2d 6f 6c 64 65 )......:result.nil)......(f-olde
3040 72 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6f 6c 64 65 72 2d 70 20 22 6f 6c r-p......:no-eval.(f-older-p."ol
3060 64 65 72 2d 66 69 6c 65 2e 74 78 74 22 20 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 78 74 22 29 0a der-file.txt"."newer-file.txt").
3080 20 20 20 20 20 3a 72 65 73 75 6c 74 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d .....:result.t......:no-eval.(f-
30a0 6f 6c 64 65 72 2d 70 20 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 78 74 22 20 22 6f 6c 64 65 72 2d older-p."newer-file.txt"."older-
30c0 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 file.txt")......:result.nil.....
30e0 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6f 6c 64 65 72 2d 70 20 22 73 61 6d 65 2d 74 69 6d 65 31 .:no-eval.(f-older-p."same-time1
3100 2e 74 78 74 22 20 22 73 61 6d 65 2d 74 69 6d 65 32 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 .txt"."same-time2.txt")......:re
3120 73 75 6c 74 20 6e 69 6c 29 0a 0a 20 20 20 20 28 66 2d 6e 65 77 65 72 2d 70 0a 20 20 20 20 20 3a sult.nil)......(f-newer-p......:
3140 6e 6f 2d 65 76 61 6c 20 28 66 2d 6e 65 77 65 72 2d 70 20 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 no-eval.(f-newer-p."newer-file.t
3160 78 74 22 20 22 6f 6c 64 65 72 2d 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 xt"."older-file.txt")......:resu
3180 6c 74 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6e 65 77 65 72 2d 70 20 22 6f lt.t......:no-eval.(f-newer-p."o
31a0 6c 64 65 72 2d 66 69 6c 65 2e 74 78 74 22 20 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 78 74 22 29 lder-file.txt"."newer-file.txt")
31c0 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 ......:result.nil......:no-eval.
31e0 28 66 2d 6e 65 77 65 72 2d 70 20 22 73 61 6d 65 2d 74 69 6d 65 31 2e 74 78 74 22 20 22 73 61 6d (f-newer-p."same-time1.txt"."sam
3200 65 2d 74 69 6d 65 32 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 29 0a e-time2.txt")......:result.nil).
3220 0a 20 20 20 20 28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 .....(f-same-time-p......:no-eva
3240 6c 20 28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 20 22 73 61 6d 65 2d 74 69 6d 65 31 2e 74 78 74 l.(f-same-time-p."same-time1.txt
3260 22 20 22 73 61 6d 65 2d 74 69 6d 65 32 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 "."same-time2.txt")......:result
3280 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 20 .t......:no-eval.(f-same-time-p.
32a0 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 78 74 22 20 22 6f 6c 64 65 72 2d 66 69 6c 65 2e 74 78 74 "newer-file.txt"."older-file.txt
32c0 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 6e 69 6c 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 ")......:result.nil......:no-eva
32e0 6c 20 28 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 20 22 6f 6c 64 65 72 2d 66 69 6c 65 2e 74 78 74 l.(f-same-time-p."older-file.txt
3300 22 20 22 6e 65 77 65 72 2d 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 "."newer-file.txt")......:result
3320 20 6e 69 6c 29 0a 0a 20 20 20 20 22 53 74 61 74 73 22 0a 20 20 20 20 28 66 2d 73 69 7a 65 0a 20 .nil)......"Stats".....(f-size..
3340 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 73 69 7a 65 20 22 70 61 74 68 2f 74 6f 2f 66 ....:no-eval*.(f-size."path/to/f
3360 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 73 69 7a 65 ile.txt")......:no-eval*.(f-size
3380 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 29 0a 0a 20 20 20 20 28 66 2d 64 65 70 74 68 0a 20 ."path/to/dir"))......(f-depth..
33a0 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 64 65 70 74 68 20 22 2f 22 29 0a 20 20 20 20 20 3a 65 76 ....:eval.(f-depth."/")......:ev
33c0 61 6c 20 28 66 2d 64 65 70 74 68 20 22 2f 76 61 72 2f 22 29 0a 20 20 20 20 20 3a 65 76 61 6c 20 al.(f-depth."/var/")......:eval.
33e0 28 66 2d 64 65 70 74 68 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 22 29 29 0a 0a 20 20 20 (f-depth."/usr/local/bin")).....
3400 20 28 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 .(f-change-time......:no-eval.(f
3420 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 -change-time."path/to/file.txt")
3440 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 32 35 35 31 37 20 34 38 37 35 36 20 32 36 33 33 37 ......:result.(25517.48756.26337
3460 20 31 31 31 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 61 6e 67 65 .111000)......:no-eval.(f-change
3480 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c -time."path/to/dir")......:resul
34a0 74 20 28 32 35 35 31 37 20 35 37 38 38 37 20 33 34 34 36 35 37 20 32 31 30 30 30 30 29 0a 20 20 t.(25517.57887.344657.210000)...
34c0 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74 68 ...:no-eval.(f-change-time."path
34e0 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 74 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 /to/file.txt".t)......:result.(1
3500 36 37 32 33 33 30 38 36 38 30 32 36 33 33 37 31 31 31 20 2e 20 31 30 30 30 30 30 30 30 30 30 29 672330868026337111...1000000000)
3520 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 22 70 ......:no-eval.(f-change-time."p
3540 61 74 68 2f 74 6f 2f 64 69 72 22 20 74 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 37 ath/to/dir".t)......:result.(167
3560 32 33 33 39 39 39 39 33 34 34 36 35 37 32 31 30 20 2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 20 2339999344657210...1000000000)..
3580 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74 ....:no-eval.(f-change-time."pat
35a0 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 27 73 65 63 6f 6e 64 73 29 0a 20 20 20 20 20 3a 72 h/to/file.txt".'seconds)......:r
35c0 65 73 75 6c 74 20 31 36 37 32 33 33 30 38 36 38 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 esult.1672330868......:no-eval.(
35e0 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 27 73 65 63 f-change-time."path/to/dir".'sec
3600 6f 6e 64 73 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 31 36 37 32 33 33 39 39 39 39 29 0a 0a onds)......:result.1672339999)..
3620 20 20 20 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 0a 20 20 20 20 20 3a 6e ....(f-modification-time......:n
3640 6f 2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 o-eval.(f-modification-time."pat
3660 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 32 35 h/to/file.txt")......:result.(25
3680 35 31 37 20 34 38 37 35 36 20 32 36 33 33 37 20 31 31 31 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 517.48756.26337.111000)......:no
36a0 2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68 -eval.(f-modification-time."path
36c0 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 32 35 35 31 37 20 35 37 /to/dir")......:result.(25517.57
36e0 38 38 37 20 33 34 34 36 35 37 20 32 31 30 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 887.344657.210000)......:no-eval
3700 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 .(f-modification-time."path/to/f
3720 69 6c 65 2e 74 78 74 22 20 74 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 37 32 33 33 ile.txt".t)......:result.(167233
3740 30 38 36 38 30 32 36 33 33 37 31 31 31 20 2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 20 20 20 20 0868026337111...1000000000).....
3760 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 22 .:no-eval.(f-modification-time."
3780 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 74 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 path/to/dir".t)......:result.(16
37a0 37 32 33 33 39 39 39 39 33 34 34 36 35 37 32 31 30 20 2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 72339999344657210...1000000000).
37c0 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 .....:no-eval.(f-modification-ti
37e0 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 27 73 65 63 6f 6e 64 73 29 0a me."path/to/file.txt".'seconds).
3800 20 20 20 20 20 3a 72 65 73 75 6c 74 20 31 36 37 32 33 33 30 38 36 38 0a 20 20 20 20 20 3a 6e 6f .....:result.1672330868......:no
3820 2d 65 76 61 6c 20 28 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 22 70 61 74 68 -eval.(f-modification-time."path
3840 2f 74 6f 2f 64 69 72 22 20 27 73 65 63 6f 6e 64 73 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 /to/dir".'seconds)......:result.
3860 31 36 37 32 33 33 39 39 39 39 29 0a 0a 20 20 20 20 28 66 2d 61 63 63 65 73 73 2d 74 69 6d 65 0a 1672339999)......(f-access-time.
3880 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61 63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 .....:no-eval.(f-access-time."pa
38a0 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 32 th/to/file.txt")......:result.(2
38c0 35 35 31 37 20 34 38 37 35 36 20 32 36 33 33 37 20 31 31 31 30 30 30 29 0a 20 20 20 20 20 3a 6e 5517.48756.26337.111000)......:n
38e0 6f 2d 65 76 61 6c 20 28 66 2d 61 63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 o-eval.(f-access-time."path/to/d
3900 69 72 22 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 32 35 35 31 37 20 35 37 38 38 37 20 33 ir")......:result.(25517.57887.3
3920 34 34 36 35 37 20 32 31 30 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61 44657.210000)......:no-eval.(f-a
3940 63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 74 29 ccess-time."path/to/file.txt".t)
3960 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 37 32 33 33 30 38 36 38 30 32 36 33 33 37 31 ......:result.(16723308680263371
3980 31 31 20 2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 11...1000000000)......:no-eval.(
39a0 66 2d 61 63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 74 29 0a 20 f-access-time."path/to/dir".t)..
39c0 20 20 20 20 3a 72 65 73 75 6c 74 20 28 31 36 37 32 33 33 39 39 39 39 33 34 34 36 35 37 32 31 30 ....:result.(1672339999344657210
39e0 20 2e 20 31 30 30 30 30 30 30 30 30 30 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d ...1000000000)......:no-eval.(f-
3a00 61 63 63 65 73 73 2d 74 69 6d 65 20 22 70 61 74 68 2f 74 6f 2f 66 69 6c 65 2e 74 78 74 22 20 27 access-time."path/to/file.txt".'
3a20 73 65 63 6f 6e 64 73 29 0a 20 20 20 20 20 3a 72 65 73 75 6c 74 20 31 36 37 32 33 33 30 38 36 38 seconds)......:result.1672330868
3a40 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 61 63 63 65 73 73 2d 74 69 6d 65 20 22 70 ......:no-eval.(f-access-time."p
3a60 61 74 68 2f 74 6f 2f 64 69 72 22 20 27 73 65 63 6f 6e 64 73 29 0a 20 20 20 20 20 3a 72 65 73 75 ath/to/dir".'seconds)......:resu
3a80 6c 74 20 31 36 37 32 33 33 39 39 39 39 29 0a 0a 20 20 20 20 22 4d 69 73 63 22 0a 20 20 20 20 28 lt.1672339999)......"Misc".....(
3aa0 66 2d 74 68 69 73 2d 66 69 6c 65 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 74 68 f-this-file......:no-eval*.(f-th
3ac0 69 73 2d 66 69 6c 65 29 29 0a 0a 20 20 20 20 28 66 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 is-file))......(f-path-separator
3ae0 0a 20 20 20 20 20 3a 65 76 61 6c 20 28 66 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 29 29 0a ......:eval.(f-path-separator)).
3b00 0a 20 20 20 20 28 66 2d 67 6c 6f 62 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 67 .....(f-glob......:no-eval*.(f-g
3b20 6c 6f 62 20 22 70 61 74 68 2f 74 6f 2f 2a 2e 65 6c 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 lob."path/to/*.el")......:no-eva
3b40 6c 2a 20 28 66 2d 67 6c 6f 62 20 22 2a 2e 65 6c 22 20 22 70 61 74 68 2f 74 6f 22 29 29 0a 0a 20 l*.(f-glob."*.el"."path/to"))...
3b60 20 20 20 28 66 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d ...(f-entries......:no-eval*.(f-
3b80 65 6e 74 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 6e 6f 2d entries."path/to/dir")......:no-
3ba0 65 76 61 6c 2a 20 28 66 2d 65 6e 74 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 28 eval*.(f-entries."path/to/dir".(
3bc0 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 20 28 73 2d 6d 61 74 63 68 65 73 3f 20 22 74 65 73 74 22 lambda.(file).(s-matches?."test"
3be0 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 65 6e 74 72 69 .file)))......:no-eval*.(f-entri
3c00 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 3a 6e 6f es."path/to/dir".nil.t)......:no
3c20 2d 65 76 61 6c 2a 20 28 66 2d 2d 65 6e 74 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 -eval*.(f--entries."path/to/dir"
3c40 20 28 73 2d 6d 61 74 63 68 65 73 3f 20 22 74 65 73 74 22 20 69 74 29 29 29 0a 0a 20 20 20 20 28 .(s-matches?."test".it)))......(
3c60 66 2d 64 69 72 65 63 74 6f 72 69 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d f-directories......:no-eval*.(f-
3c80 64 69 72 65 63 74 6f 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 directories."path/to/dir")......
3ca0 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 64 69 72 65 63 74 6f 72 69 65 73 20 22 70 61 74 68 2f 74 :no-eval*.(f-directories."path/t
3cc0 6f 2f 64 69 72 22 20 28 6c 61 6d 62 64 61 20 28 64 69 72 29 20 28 65 71 75 61 6c 20 28 66 2d 66 o/dir".(lambda.(dir).(equal.(f-f
3ce0 69 6c 65 6e 61 6d 65 20 64 69 72 29 20 22 74 65 73 74 22 29 29 29 0a 20 20 20 20 20 3a 6e 6f 2d ilename.dir)."test")))......:no-
3d00 65 76 61 6c 2a 20 28 66 2d 64 69 72 65 63 74 6f 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 eval*.(f-directories."path/to/di
3d20 72 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 2d 64 69 72 r".nil.t)......:no-eval*.(f--dir
3d40 65 63 74 6f 72 69 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 28 65 71 75 61 6c 20 28 66 ectories."path/to/dir".(equal.(f
3d60 2d 66 69 6c 65 6e 61 6d 65 20 69 74 29 20 22 74 65 73 74 22 29 29 29 0a 0a 20 20 20 20 28 66 2d -filename.it)."test")))......(f-
3d80 66 69 6c 65 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 66 69 6c 65 73 20 22 70 files......:no-eval*.(f-files."p
3da0 61 74 68 2f 74 6f 2f 64 69 72 22 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 66 ath/to/dir")......:no-eval*.(f-f
3dc0 69 6c 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 iles."path/to/dir".(lambda.(file
3de0 29 20 28 65 71 75 61 6c 20 28 66 2d 65 78 74 20 66 69 6c 65 29 20 22 65 6c 22 29 29 29 0a 20 20 ).(equal.(f-ext.file)."el")))...
3e00 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 66 69 6c 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 ...:no-eval*.(f-files."path/to/d
3e20 69 72 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 2d 66 69 ir".nil.t)......:no-eval*.(f--fi
3e40 6c 65 73 20 22 70 61 74 68 2f 74 6f 2f 64 69 72 22 20 28 65 71 75 61 6c 20 28 66 2d 65 78 74 20 les."path/to/dir".(equal.(f-ext.
3e60 69 74 29 20 22 65 6c 22 29 29 29 0a 0a 20 20 20 20 28 66 2d 72 6f 6f 74 0a 20 20 20 20 20 3a 65 it)."el")))......(f-root......:e
3e80 76 61 6c 20 28 66 2d 72 6f 6f 74 29 29 0a 0a 20 20 20 20 28 66 2d 74 72 61 76 65 72 73 65 2d 75 val.(f-root))......(f-traverse-u
3ea0 70 77 61 72 64 73 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 74 72 61 76 65 72 73 pwards......:no-eval*.(f-travers
3ec0 65 2d 75 70 77 61 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 e-upwards.................(lambd
3ee0 61 20 28 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 65 78 a.(path)...................(f-ex
3f00 69 73 74 73 3f 20 28 66 2d 65 78 70 61 6e 64 20 22 2e 67 69 74 22 20 70 61 74 68 29 29 29 0a 20 ists?.(f-expand.".git".path)))..
3f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 2d 70 61 74 68 29 0a 0a 20 20 20 20 ...............start-path)......
3f40 20 3a 6e 6f 2d 65 76 61 6c 2a 20 28 66 2d 2d 74 72 61 76 65 72 73 65 2d 75 70 77 61 72 64 73 20 .:no-eval*.(f--traverse-upwards.
3f60 28 66 2d 65 78 69 73 74 73 3f 20 28 66 2d 65 78 70 61 6e 64 20 22 2e 67 69 74 22 20 69 74 29 29 (f-exists?.(f-expand.".git".it))
3f80 20 73 74 61 72 74 2d 70 61 74 68 29 29 0a 0a 20 20 20 20 28 66 2d 77 69 74 68 2d 73 61 6e 64 62 .start-path))......(f-with-sandb
3fa0 6f 78 0a 20 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 77 69 74 68 2d 73 61 6e 64 62 6f 78 ox......:no-eval.(f-with-sandbox
3fc0 20 66 6f 6f 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 74 6f 75 .foo-path.................(f-tou
3fe0 63 68 20 28 66 2d 65 78 70 61 6e 64 20 22 66 6f 6f 22 20 66 6f 6f 2d 70 61 74 68 29 29 29 0a 20 ch.(f-expand."foo".foo-path)))..
4000 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 77 69 74 68 2d 73 61 6e 64 62 6f 78 20 28 6c 69 ....:no-eval.(f-with-sandbox.(li
4020 73 74 20 66 6f 6f 2d 70 61 74 68 20 62 61 72 2d 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 st.foo-path.bar-path)...........
4040 20 20 20 20 20 20 28 66 2d 74 6f 75 63 68 20 28 66 2d 65 78 70 61 6e 64 20 22 66 6f 6f 22 20 66 ......(f-touch.(f-expand."foo".f
4060 6f 6f 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 74 6f 75 oo-path)).................(f-tou
4080 63 68 20 28 66 2d 65 78 70 61 6e 64 20 22 62 61 72 22 20 62 61 72 2d 70 61 74 68 29 29 29 0a 20 ch.(f-expand."bar".bar-path)))..
40a0 20 20 20 20 3a 6e 6f 2d 65 76 61 6c 20 28 66 2d 77 69 74 68 2d 73 61 6e 64 62 6f 78 20 66 6f 6f ....:no-eval.(f-with-sandbox.foo
40c0 2d 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 74 6f 75 63 68 20 28 -path.................(f-touch.(
40e0 66 2d 65 78 70 61 6e 64 20 22 62 61 72 22 20 62 61 72 2d 70 61 74 68 29 29 29 29 29 29 20 3b 3b f-expand."bar".bar-path)))))).;;
4100 20 22 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f 75 74 73 69 64 65 20 ."Destructive.operation.outside.
4120 73 61 6e 64 62 6f 78 22 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 sandbox"..(eval-when-compile...(
4140 77 68 65 6e 20 28 76 65 72 73 69 6f 6e 3c 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 22 32 38 when.(version<.emacs-version."28
4160 2e 31 22 29 0a 20 20 20 20 28 77 61 72 6e 20 22 45 6d 61 63 73 20 73 68 6f 75 6c 64 20 6e 6f 74 .1").....(warn."Emacs.should.not
4180 20 62 65 20 63 6f 6d 70 69 6c 69 6e 67 20 74 68 69 73 20 66 69 6c 65 22 29 29 29 0a 0a 28 70 72 .be.compiling.this.file")))..(pr
41a0 6f 76 69 64 65 20 27 66 2d 73 68 6f 72 74 64 6f 63 29 0a 0a 3b 3b 3b 20 66 2d 73 68 6f 72 74 64 ovide.'f-shortdoc)..;;;.f-shortd
41c0 6f 63 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 oc.el.ends.here.................
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 66 2d 32 30 32 34 30 33 30 38 2e 39 30 36 2f 66 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 f-20240308.906/f.el.............
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 36 32 31 31 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 37 33 35 00 20 30 00 00 00 0062117.00000000000.011735..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 3b 3b 3b 20 66 2e 65 6c 20 2d 2d 2d 20 4d 6f 64 65 72 6e 20 41 50 49 20 66 6f 72 20 77 6f 72 6b ;;;.f.el.---.Modern.API.for.work
4420 69 6e 67 20 77 69 74 68 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 2d ing.with.files.and.directories.-
4440 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 *-.lexical-binding:.t;.-*-..;;.C
4460 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 33 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f opyright.(C).2013.Johan.Andersso
4480 6e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4a 6f 68 61 6e 20 41 6e 64 65 72 73 73 6f 6e 20 3c 6a n..;;.Author:.Johan.Andersson.<j
44a0 6f 68 61 6e 2e 72 65 6a 65 65 70 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 ohan.rejeep@gmail.com>.;;.Mainta
44c0 69 6e 65 72 3a 20 4c 75 63 69 65 6e 20 43 61 72 74 69 65 72 2d 54 69 6c 65 74 20 3c 6c 75 63 69 iner:.Lucien.Cartier-Tilet.<luci
44e0 65 6e 40 70 68 75 6e 64 72 61 6b 2e 63 6f 6d 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 30 2e 32 en@phundrak.com>.;;.Version:.0.2
4500 30 2e 30 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 0.0.;;.Package-Requires:.((emacs
4520 20 22 32 34 2e 31 22 29 20 28 73 20 22 31 2e 37 2e 30 22 29 20 28 64 61 73 68 20 22 32 2e 32 2e ."24.1").(s."1.7.0").(dash."2.2.
4540 30 22 29 29 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 66 69 6c 65 73 2c 20 64 69 72 65 63 74 6f 0")).;;.Keywords:.files,.directo
4560 72 69 65 73 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e ries.;;.Homepage:.http://github.
4580 63 6f 6d 2f 72 65 6a 65 65 70 2f 66 2e 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 com/rejeep/f.el..;;.This.file.is
45a0 20 4e 4f 54 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 3b 20 4c 69 63 .NOT.part.of.GNU.Emacs...;;;.Lic
45c0 65 6e 73 65 3a 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 ense:..;;.This.program.is.free.s
45e0 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware;.you.can.redistribute.it
4600 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 .and/or.modify.;;.it.under.the.t
4620 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c erms.of.the.GNU.General.Public.L
4640 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 icense.as.published.by.;;.the.Fr
4660 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 ee.Software.Foundation;.either.v
4680 65 72 73 69 6f 6e 20 33 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b ersion.3,.or.(at.your.option).;;
46a0 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f .any.later.version...;;.This.pro
46c0 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 gram.is.distributed.in.the.hope.
46e0 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 that.it.will.be.useful,.;;.but.W
4700 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 ITHOUT.ANY.WARRANTY;.without.eve
4720 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 n.the.implied.warranty.of.;;.MER
4740 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 CHANTABILITY.or.FITNESS.FOR.A.PA
4760 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e RTICULAR.PURPOSE...See.the.;;.GN
4780 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 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
47a0 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 e.details...;;.You.should.have.r
47c0 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 eceived.a.copy.of.the.GNU.Genera
47e0 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47 l.Public.License.;;.along.with.G
4800 4e 55 20 45 6d 61 63 73 3b 20 73 65 65 20 74 68 65 20 66 69 6c 65 20 43 4f 50 59 49 4e 47 2e 20 NU.Emacs;.see.the.file.COPYING..
4820 20 49 66 20 6e 6f 74 2c 20 77 72 69 74 65 20 74 6f 20 74 68 65 0a 3b 3b 20 46 72 65 65 20 53 6f .If.not,.write.to.the.;;.Free.So
4840 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 2c 20 35 31 20 46 72 61 6e ftware.Foundation,.Inc.,.51.Fran
4860 6b 6c 69 6e 20 53 74 72 65 65 74 2c 20 46 69 66 74 68 20 46 6c 6f 6f 72 2c 0a 3b 3b 20 42 6f 73 klin.Street,.Fifth.Floor,.;;.Bos
4880 74 6f 6e 2c 20 4d 41 20 30 32 31 31 30 2d 31 33 30 31 2c 20 55 53 41 2e 0a 0a 3b 3b 3b 20 43 6f ton,.MA.02110-1301,.USA...;;;.Co
48a0 6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20 4d 75 63 68 20 69 6e 73 70 69 72 65 64 20 62 79 mmentary:.;;.;;.Much.inspired.by
48c0 20 6d 61 67 6e 61 72 27 73 20 65 78 63 65 6c 6c 65 6e 74 20 73 2e 65 6c 20 61 6e 64 20 64 61 73 .magnar's.excellent.s.el.and.das
48e0 68 2e 65 6c 2c 20 66 2e 65 6c 20 69 73 20 61 0a 3b 3b 20 6d 6f 64 65 72 6e 20 41 50 49 20 66 6f h.el,.f.el.is.a.;;.modern.API.fo
4900 72 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f r.working.with.files.and.directo
4920 72 69 65 73 20 69 6e 20 45 6d 61 63 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 0c 0a 0a 28 72 ries.in.Emacs...;;;.Code:.....(r
4940 65 71 75 69 72 65 20 27 73 29 0a 28 72 65 71 75 69 72 65 20 27 64 61 73 68 29 0a 28 77 68 65 6e equire.'s).(require.'dash).(when
4960 20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32 38 2e 31 22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e .(version<=."28.1".emacs-version
4980 29 0a 20 20 28 77 68 65 6e 20 28 3c 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e )...(when.(<.emacs-major-version
49a0 20 32 39 29 0a 20 20 20 28 72 65 71 75 69 72 65 20 27 66 2d 73 68 6f 72 74 64 6f 63 20 6e 69 6c .29)....(require.'f-shortdoc.nil
49c0 20 74 29 29 29 0a 0a 28 70 75 74 20 27 66 2d 67 75 61 72 64 2d 65 72 72 6f 72 20 27 65 72 72 6f .t)))..(put.'f-guard-error.'erro
49e0 72 2d 63 6f 6e 64 69 74 69 6f 6e 73 20 27 28 65 72 72 6f 72 20 66 2d 67 75 61 72 64 2d 65 72 72 r-conditions.'(error.f-guard-err
4a00 6f 72 29 29 0a 28 70 75 74 20 27 66 2d 67 75 61 72 64 2d 65 72 72 6f 72 20 27 65 72 72 6f 72 2d or)).(put.'f-guard-error.'error-
4a20 6d 65 73 73 61 67 65 20 22 44 65 73 74 72 75 63 74 69 76 65 20 6f 70 65 72 61 74 69 6f 6e 20 6f message."Destructive.operation.o
4a40 75 74 73 69 64 65 20 73 61 6e 64 62 6f 78 22 29 0a 0a 28 64 65 66 76 61 72 20 66 2d 2d 67 75 61 utside.sandbox")..(defvar.f--gua
4a60 72 64 2d 70 61 74 68 73 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 61 6c 6c 6f 77 65 64 20 rd-paths.nil..."List.of.allowed.
4a80 70 61 74 68 73 20 74 6f 20 6d 6f 64 69 66 79 20 77 68 65 6e 20 67 75 61 72 64 65 64 2e 0a 0a 44 paths.to.modify.when.guarded...D
4aa0 6f 20 6e 6f 74 20 6d 6f 64 69 66 79 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 2e 22 29 0a 0a 28 o.not.modify.this.variable.")..(
4ac0 64 65 66 6d 61 63 72 6f 20 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 28 70 61 74 68 20 26 72 defmacro.f--destructive.(path.&r
4ae0 65 73 74 20 62 6f 64 79 29 0a 20 20 22 49 66 20 50 41 54 48 20 69 73 20 61 6c 6c 6f 77 65 64 20 est.body)..."If.PATH.is.allowed.
4b00 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 2c 20 79 69 65 6c 64 20 42 4f 44 59 2e 0a 0a 49 66 20 to.be.modified,.yield.BODY...If.
4b20 50 41 54 48 20 69 73 20 6e 6f 74 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 PATH.is.not.allowed.to.be.modifi
4b40 65 64 2c 20 74 68 72 6f 77 20 65 72 72 6f 72 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e ed,.throw.error."...(declare.(in
4b60 64 65 6e 74 20 31 29 29 0a 20 20 60 28 69 66 20 66 2d 2d 67 75 61 72 64 2d 70 61 74 68 73 0a 20 dent.1))...`(if.f--guard-paths..
4b80 20 20 20 20 20 20 28 69 66 20 28 2d 2d 61 6e 79 3f 20 28 6f 72 20 28 66 2d 73 61 6d 65 2d 70 20 ......(if.(--any?.(or.(f-same-p.
4ba0 69 74 20 2c 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it.,path).......................
4bc0 20 28 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66 2d 70 20 69 74 20 2c 70 61 74 68 29 29 20 66 2d 2d .(f-ancestor-of-p.it.,path)).f--
4be0 67 75 61 72 64 2d 70 61 74 68 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 2c guard-paths)............(progn.,
4c00 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 66 2d 67 75 61 72 64 @body)..........(signal.'f-guard
4c20 2d 65 72 72 6f 72 20 28 6c 69 73 74 20 2c 70 61 74 68 20 66 2d 2d 67 75 61 72 64 2d 70 61 74 68 -error.(list.,path.f--guard-path
4c40 73 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 0c 0a 3b 3b 3b 3b 20 50 61 74 68 73 s)))......,@body))....;;;;.Paths
4c60 0a 0a 28 64 65 66 75 6e 20 66 2d 6a 6f 69 6e 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 ..(defun.f-join.(&rest.args)..."
4c80 4a 6f 69 6e 20 41 52 47 53 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 70 61 74 68 2e 0a 0a 42 65 20 Join.ARGS.to.a.single.path...Be.
4ca0 61 77 61 72 65 20 69 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 73 aware.if.one.of.the.arguments.is
4cc0 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 2c 20 60 66 2d 6a 6f 69 6e 27 0a 77 69 6c 6c .an.absolute.path,.`f-join'.will
4ce0 20 64 69 73 63 61 72 64 20 61 6c 6c 20 74 68 65 20 70 72 65 63 65 65 64 69 6e 67 20 61 72 67 75 .discard.all.the.preceeding.argu
4d00 6d 65 6e 74 73 20 61 6e 64 20 6d 61 6b 65 20 74 68 69 73 20 61 62 73 6f 6c 75 74 65 0a 70 61 74 ments.and.make.this.absolute.pat
4d20 68 20 74 68 65 20 6e 65 77 20 72 6f 6f 74 20 6f 66 20 74 68 65 20 67 65 6e 65 72 61 74 65 64 20 h.the.new.root.of.the.generated.
4d40 70 61 74 68 2e 22 0a 20 20 28 6c 65 74 20 28 70 61 74 68 0a 20 20 20 20 20 20 20 20 28 72 65 6c path."...(let.(path.........(rel
4d60 61 74 69 76 65 20 28 66 2d 72 65 6c 61 74 69 76 65 2d 70 20 28 63 61 72 20 61 72 67 73 29 29 29 ative.(f-relative-p.(car.args)))
4d80 29 0a 20 20 20 20 28 6d 61 70 63 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 61 72 67 29 0a 20 ).....(mapc......(lambda.(arg)..
4da0 20 20 20 20 20 20 28 73 65 74 71 20 70 61 74 68 20 28 63 6f 6e 64 20 28 28 6e 6f 74 20 70 61 74 ......(setq.path.(cond.((not.pat
4dc0 68 29 20 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h).arg).........................
4de0 28 28 66 2d 61 62 73 6f 6c 75 74 65 2d 70 20 61 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ((f-absolute-p.arg).............
4e00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............(progn.............
4e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 6c 61 74 69 76 65 20 6e 69 ...............(setq.relative.ni
4e40 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 l)............................ar
4e60 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 g)).........................(t.(
4e80 66 2d 65 78 70 61 6e 64 20 61 72 67 20 70 61 74 68 29 29 29 29 29 0a 20 20 20 20 20 61 72 67 73 f-expand.arg.path)))))......args
4ea0 29 0a 20 20 20 20 28 69 66 20 72 65 6c 61 74 69 76 65 20 28 66 2d 72 65 6c 61 74 69 76 65 20 70 ).....(if.relative.(f-relative.p
4ec0 61 74 68 29 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 70 6c 69 74 20 28 70 61 ath).path)))..(defun.f-split.(pa
4ee0 74 68 29 0a 20 20 22 53 70 6c 69 74 20 50 41 54 48 20 61 6e 64 20 72 65 74 75 72 6e 20 6c 69 73 th)..."Split.PATH.and.return.lis
4f00 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 70 61 72 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 61 t.containing.parts."...(let.((pa
4f20 72 74 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 70 61 74 68 20 28 66 2d 70 61 74 68 2d 73 rts.(split-string.path.(f-path-s
4f40 65 70 61 72 61 74 6f 72 29 20 27 6f 6d 69 74 2d 6e 75 6c 6c 73 29 29 29 0a 20 20 20 20 28 69 66 eparator).'omit-nulls))).....(if
4f60 20 28 73 74 72 69 6e 67 3d 20 28 73 2d 6c 65 66 74 20 31 20 70 61 74 68 29 20 28 66 2d 70 61 74 .(string=.(s-left.1.path).(f-pat
4f80 68 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 66 2d 70 h-separator)).........(push.(f-p
4fa0 61 74 68 2d 73 65 70 61 72 61 74 6f 72 29 20 70 61 72 74 73 29 0a 20 20 20 20 20 20 70 61 72 74 ath-separator).parts).......part
4fc0 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 65 78 70 61 6e 64 20 28 70 61 74 68 20 26 6f 70 74 s)))..(defun.f-expand.(path.&opt
4fe0 69 6f 6e 61 6c 20 64 69 72 29 0a 20 20 22 45 78 70 61 6e 64 20 50 41 54 48 20 72 65 6c 61 74 69 ional.dir)..."Expand.PATH.relati
5000 76 65 20 74 6f 20 44 49 52 20 28 6f 72 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 ve.to.DIR.(or.`default-directory
5020 27 29 2e 0a 50 41 54 48 20 61 6e 64 20 44 49 52 20 63 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 ')..PATH.and.DIR.can.be.either.a
5040 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 66 69 .directory.names.or.directory.fi
5060 6c 65 0a 6e 61 6d 65 73 2e 20 20 52 65 74 75 72 6e 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 le.names...Return.a.directory.na
5080 6d 65 20 69 66 20 50 41 54 48 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 me.if.PATH.is.a.directory.name,.
50a0 61 6e 64 0a 61 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 20 6e 61 6d 65 20 6f 74 68 65 72 77 and.a.directory.file.name.otherw
50c0 69 73 65 2e 20 20 46 69 6c 65 20 6e 61 6d 65 20 68 61 6e 64 6c 65 72 73 20 61 72 65 0a 69 67 6e ise...File.name.handlers.are.ign
50e0 6f 72 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72 ored."...(let.(file-name-handler
5100 2d 61 6c 69 73 74 29 0a 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 61 -alist).....(expand-file-name.pa
5120 74 68 20 64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 66 69 6c 65 6e 61 6d 65 20 28 70 61 th.dir)))..(defun.f-filename.(pa
5140 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 50 41 54 48 2e 22 th)..."Return.the.name.of.PATH."
5160 0a 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 28 64 69 72 65 ...(file-name-nondirectory.(dire
5180 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 61 6c 69 ctory-file-name.path)))..(defali
51a0 61 73 20 27 66 2d 70 61 72 65 6e 74 20 27 66 2d 64 69 72 6e 61 6d 65 29 0a 0a 28 64 65 66 75 6e as.'f-parent.'f-dirname)..(defun
51c0 20 66 2d 64 69 72 6e 61 6d 65 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 .f-dirname.(path)..."Return.the.
51e0 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 50 41 54 48 2e 22 0a 20 20 28 6c 65 parent.directory.to.PATH."...(le
5200 74 20 28 28 70 61 72 65 6e 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 0a t.((parent.(file-name-directory.
5220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 .................(directory-file
5240 2d 6e 61 6d 65 20 28 66 2d 65 78 70 61 6e 64 20 70 61 74 68 20 64 65 66 61 75 6c 74 2d 64 69 72 -name.(f-expand.path.default-dir
5260 65 63 74 6f 72 79 29 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 2d 73 61 6d 65 2d ectory))))).....(unless.(f-same-
5280 70 20 70 61 74 68 20 70 61 72 65 6e 74 29 0a 20 20 20 20 20 20 28 69 66 20 28 66 2d 72 65 6c 61 p.path.parent).......(if.(f-rela
52a0 74 69 76 65 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 2d 72 65 6c 61 74 69 tive-p.path)...........(f-relati
52c0 76 65 20 70 61 72 65 6e 74 29 0a 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 ve.parent).........(directory-fi
52e0 6c 65 2d 6e 61 6d 65 20 70 61 72 65 6e 74 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 6f le-name.parent)))))..(defun.f-co
5300 6d 6d 6f 6e 2d 70 61 72 65 6e 74 20 28 70 61 74 68 73 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 mmon-parent.(paths)..."Return.th
5320 65 20 64 65 65 70 65 73 74 20 63 6f 6d 6d 6f 6e 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 e.deepest.common.parent.director
5340 79 20 6f 66 20 50 41 54 48 53 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 6f 74 20 70 61 y.of.PATHS."...(cond....((not.pa
5360 74 68 73 29 20 6e 69 6c 29 0a 20 20 20 28 28 6e 6f 74 20 28 63 64 72 20 70 61 74 68 73 29 29 20 ths).nil)....((not.(cdr.paths)).
5380 28 66 2d 70 61 72 65 6e 74 20 28 63 61 72 20 70 61 74 68 73 29 29 29 0a 20 20 20 28 3a 6f 74 68 (f-parent.(car.paths)))....(:oth
53a0 65 72 77 69 73 65 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70 61 74 68 73 20 28 2d 6d 61 70 20 27 erwise.....(let*.((paths.(-map.'
53c0 66 2d 73 70 6c 69 74 20 70 61 74 68 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d f-split.paths))............(comm
53e0 6f 6e 20 28 63 61 61 72 20 70 61 74 68 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 20 on.(caar.paths))............(re.
5400 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 6e 6f 74 20 28 6e 75 nil)).......(while.(and.(not.(nu
5420 6c 6c 20 28 63 61 72 20 70 61 74 68 73 29 29 29 20 28 2d 2d 61 6c 6c 3f 20 28 65 71 75 61 6c 20 ll.(car.paths))).(--all?.(equal.
5440 28 63 61 72 20 69 74 29 20 63 6f 6d 6d 6f 6e 29 20 70 61 74 68 73 29 29 0a 20 20 20 20 20 20 20 (car.it).common).paths))........
5460 20 28 73 65 74 71 20 70 61 74 68 73 20 28 2d 6d 61 70 20 27 63 64 72 20 70 61 74 68 73 29 29 0a .(setq.paths.(-map.'cdr.paths)).
5480 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 6f 6d 6d 6f 6e 20 72 65 29 0a 20 20 20 20 20 20 20 ........(push.common.re)........
54a0 20 28 73 65 74 71 20 63 6f 6d 6d 6f 6e 20 28 63 61 61 72 20 70 61 74 68 73 29 29 29 0a 20 20 20 .(setq.common.(caar.paths)))....
54c0 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 72 65 29 20 22 22 29 0a 20 ...(cond........((null.re)."")..
54e0 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 28 6c 65 6e 67 74 68 20 72 65 29 20 31 29 20 28 66 ......((and.(=.(length.re).1).(f
5500 2d 72 6f 6f 74 2d 70 20 28 63 61 72 20 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 66 2d 72 6f -root-p.(car.re))).........(f-ro
5520 6f 74 29 29 0a 20 20 20 20 20 20 20 28 3a 6f 74 68 65 72 77 69 73 65 0a 20 20 20 20 20 20 20 20 ot))........(:otherwise.........
5540 28 63 6f 6e 63 61 74 20 28 61 70 70 6c 79 20 27 66 2d 6a 6f 69 6e 20 28 6e 72 65 76 65 72 73 65 (concat.(apply.'f-join.(nreverse
5560 20 72 65 29 29 20 22 2f 22 29 29 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 .re))."/")))))))..(defalias.'f-e
5580 78 74 20 27 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 29 0a 0a 28 64 65 66 61 6c xt.'file-name-extension)..(defal
55a0 69 61 73 20 27 66 2d 6e 6f 2d 65 78 74 20 27 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 ias.'f-no-ext.'file-name-sans-ex
55c0 74 65 6e 73 69 6f 6e 29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 77 61 70 2d 65 78 74 20 28 70 61 74 tension)..(defun.f-swap-ext.(pat
55e0 68 20 65 78 74 29 0a 20 20 22 52 65 74 75 72 6e 20 50 41 54 48 20 62 75 74 20 77 69 74 68 20 45 h.ext)..."Return.PATH.but.with.E
5600 58 54 20 61 73 20 74 68 65 20 6e 65 77 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 45 58 54 20 6d 75 73 XT.as.the.new.extension..EXT.mus
5620 74 20 6e 6f 74 20 62 65 20 6e 69 6c 20 6f 72 20 65 6d 70 74 79 2e 22 0a 20 20 28 69 66 20 28 73 t.not.be.nil.or.empty."...(if.(s
5640 2d 62 6c 61 6e 6b 2d 70 20 65 78 74 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 78 74 65 -blank-p.ext).......(error."Exte
5660 6e 73 69 6f 6e 20 63 61 6e 6e 6f 74 20 62 65 20 65 6d 70 74 79 20 6f 72 20 6e 69 6c 22 29 0a 20 nsion.cannot.be.empty.or.nil")..
5680 20 20 20 28 63 6f 6e 63 61 74 20 28 66 2d 6e 6f 2d 65 78 74 20 70 61 74 68 29 20 22 2e 22 20 65 ...(concat.(f-no-ext.path).".".e
56a0 78 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 62 61 73 65 20 28 70 61 74 68 29 0a 20 20 22 52 xt)))..(defun.f-base.(path)..."R
56c0 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 50 41 54 48 2c 20 65 78 63 6c 75 64 69 6e eturn.the.name.of.PATH,.excludin
56e0 67 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 20 66 69 6c 65 2e 22 0a 20 20 28 66 2d 6e g.the.extension.of.file."...(f-n
5700 6f 2d 65 78 74 20 28 66 2d 66 69 6c 65 6e 61 6d 65 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 61 o-ext.(f-filename.path)))..(defa
5720 6c 69 61 73 20 27 66 2d 72 65 6c 61 74 69 76 65 20 27 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d lias.'f-relative.'file-relative-
5740 6e 61 6d 65 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 73 68 6f 72 74 20 27 61 62 62 72 65 name)..(defalias.'f-short.'abbre
5760 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 61 62 viate-file-name).(defalias.'f-ab
5780 62 72 65 76 20 27 61 62 62 72 65 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 0a 28 64 65 brev.'abbreviate-file-name)..(de
57a0 66 75 6e 20 66 2d 6c 6f 6e 67 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 6c 6f 6e 67 fun.f-long.(path)..."Return.long
57c0 20 76 65 72 73 69 6f 6e 20 6f 66 20 50 41 54 48 2e 22 0a 20 20 28 66 2d 65 78 70 61 6e 64 20 70 .version.of.PATH."...(f-expand.p
57e0 61 74 68 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 63 61 6e 6f 6e 69 63 61 6c 20 27 66 ath))..(defalias.'f-canonical.'f
5800 69 6c 65 2d 74 72 75 65 6e 61 6d 65 29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 6c 61 73 68 20 28 70 ile-truename)..(defun.f-slash.(p
5820 61 74 68 29 0a 20 20 22 41 70 70 65 6e 64 20 73 6c 61 73 68 20 74 6f 20 50 41 54 48 20 75 6e 6c ath)..."Append.slash.to.PATH.unl
5840 65 73 73 20 6f 6e 65 20 61 6c 72 65 61 64 79 2e 0a 0a 53 6f 6d 65 20 66 75 6e 63 74 69 6f 6e 73 ess.one.already...Some.functions
5860 2c 20 73 75 63 68 20 61 73 20 60 63 61 6c 6c 2d 70 72 6f 63 65 73 73 27 20 72 65 71 75 69 72 65 ,.such.as.`call-process'.require
5880 73 20 74 68 65 72 65 20 74 6f 20 62 65 20 61 6e 0a 65 6e 64 69 6e 67 20 73 6c 61 73 68 2e 22 0a s.there.to.be.an.ending.slash.".
58a0 20 20 28 69 66 20 28 66 2d 64 69 72 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 66 69 6c 65 ..(if.(f-dir-p.path).......(file
58c0 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 70 61 74 68 29 0a 20 20 20 20 70 61 74 -name-as-directory.path).....pat
58e0 68 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 66 75 6c 6c 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 h))..(defun.f-full.(path)..."Ret
5900 75 72 6e 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 20 74 6f 20 50 41 54 48 2c 20 77 69 74 68 20 urn.absolute.path.to.PATH,.with.
5920 65 6e 64 69 6e 67 20 73 6c 61 73 68 2e 22 0a 20 20 28 66 2d 73 6c 61 73 68 20 28 66 2d 6c 6f 6e ending.slash."...(f-slash.(f-lon
5940 67 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 75 6e 69 71 75 69 66 79 20 28 70 g.path)))..(defun.f--uniquify.(p
5960 61 74 68 73 29 0a 20 20 22 48 65 6c 70 65 72 20 66 6f 72 20 60 66 2d 75 6e 69 71 75 69 66 79 27 aths)..."Helper.for.`f-uniquify'
5980 20 61 6e 64 20 60 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 27 2e 22 0a 20 20 28 6c 65 74 .and.`f-uniquify-alist'."...(let
59a0 2a 20 28 28 66 69 6c 65 73 2d 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 70 61 74 68 73 29 29 *.((files-length.(length.paths))
59c0 0a 20 20 20 20 20 20 20 20 20 28 75 6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73 20 28 2d 2d 6d 61 70 ..........(uniq-filenames.(--map
59e0 20 28 63 6f 6e 73 20 69 74 20 28 66 2d 66 69 6c 65 6e 61 6d 65 20 69 74 29 29 20 70 61 74 68 73 .(cons.it.(f-filename.it)).paths
5a00 29 29 0a 20 20 20 20 20 20 20 20 20 28 75 6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 ))..........(uniq-filenames-next
5a20 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 63 64 72 20 75 6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73 29 .(-group-by.'cdr.uniq-filenames)
5a40 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 2f 3d 20 66 69 6c 65 73 2d 6c 65 6e 67 74 68 20 28 )).....(while.(/=.files-length.(
5a60 6c 65 6e 67 74 68 20 75 6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 29 29 0a 20 20 20 length.uniq-filenames-next))....
5a80 20 20 20 28 73 65 74 71 20 75 6e 69 71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 0a 20 20 20 ...(setq.uniq-filenames-next....
5aa0 20 20 20 20 20 20 20 20 20 28 2d 67 72 6f 75 70 2d 62 79 20 27 63 64 72 0a 20 20 20 20 20 20 20 .........(-group-by.'cdr........
5ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 2d 6d 61 70 63 61 74 0a 20 20 20 20 20 20 ................(--mapcat.......
5ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 66 2d 66 69 ..................(let.((conf-fi
5b00 6c 65 73 20 28 63 64 72 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 les.(cdr.it)))..................
5b20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 28 6c 65 6e 67 74 68 20 63 6f 6e 66 2d 66 69 6c .........(if.(>.(length.conf-fil
5b40 65 73 29 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 es).1)..........................
5b60 20 20 20 20 20 28 2d 2d 6d 61 70 20 28 63 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(--map.(cons...............
5b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 69 74 29 ........................(car.it)
5ba0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5bc0 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(concat..................
5be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 66 69 6c 65 6e 61 6d ......................(f-filenam
5c00 65 20 28 73 2d 63 68 6f 70 2d 73 75 66 66 69 78 20 28 63 64 72 20 69 74 29 0a 20 20 20 20 20 20 e.(s-chop-suffix.(cdr.it).......
5c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
5c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 72 ............................(car
5c60 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .it)))..........................
5c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 29 ..............(f-path-separator)
5ca0 20 28 63 64 72 20 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(cdr.it))).....................
5cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 66 2d 66 69 6c 65 73 29 0a 20 20 20 .................conf-files)....
5ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6e 66 2d 66 69 .........................conf-fi
5d00 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e les)).........................un
5d20 69 71 2d 66 69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 29 29 29 29 0a 20 20 20 20 75 6e 69 71 2d 66 iq-filenames-next)))).....uniq-f
5d40 69 6c 65 6e 61 6d 65 73 2d 6e 65 78 74 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 75 6e 69 71 75 69 ilenames-next))..(defun.f-uniqui
5d60 66 79 20 28 66 69 6c 65 73 29 0a 20 20 22 52 65 74 75 72 6e 20 75 6e 69 71 75 65 20 73 75 66 66 fy.(files)..."Return.unique.suff
5d80 69 78 65 73 20 6f 66 20 46 49 4c 45 53 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 ixes.of.FILES...This.function.ex
5da0 70 65 63 74 73 20 6e 6f 20 64 75 70 6c 69 63 61 74 65 20 70 61 74 68 73 2e 22 0a 20 20 28 2d 6d pects.no.duplicate.paths."...(-m
5dc0 61 70 20 27 63 61 72 20 28 66 2d 2d 75 6e 69 71 75 69 66 79 20 66 69 6c 65 73 29 29 29 0a 0a 28 ap.'car.(f--uniquify.files)))..(
5de0 64 65 66 75 6e 20 66 2d 75 6e 69 71 75 69 66 79 2d 61 6c 69 73 74 20 28 66 69 6c 65 73 29 0a 20 defun.f-uniquify-alist.(files)..
5e00 20 22 52 65 74 75 72 6e 20 61 6c 69 73 74 20 6d 61 70 70 69 6e 67 20 46 49 4c 45 53 20 74 6f 20 ."Return.alist.mapping.FILES.to.
5e20 75 6e 69 71 75 65 20 73 75 66 66 69 78 65 73 20 6f 66 20 46 49 4c 45 53 2e 0a 0a 54 68 69 73 20 unique.suffixes.of.FILES...This.
5e40 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 20 6e 6f 20 64 75 70 6c 69 63 61 74 65 20 70 61 function.expects.no.duplicate.pa
5e60 74 68 73 2e 22 0a 20 20 28 2d 6d 61 70 20 27 63 61 64 72 20 28 66 2d 2d 75 6e 69 71 75 69 66 79 ths."...(-map.'cadr.(f--uniquify
5e80 20 66 69 6c 65 73 29 29 29 0a 0a 0c 0a 3b 3b 3b 3b 20 49 2f 4f 0a 0a 28 64 65 66 75 6e 20 66 2d .files)))....;;;;.I/O..(defun.f-
5ea0 72 65 61 64 2d 62 79 74 65 73 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 67 20 65 read-bytes.(path.&optional.beg.e
5ec0 6e 64 29 0a 20 20 22 52 65 61 64 20 62 69 6e 61 72 79 20 64 61 74 61 20 66 72 6f 6d 20 50 41 54 nd)..."Read.binary.data.from.PAT
5ee0 48 2e 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 62 69 6e 61 72 79 20 64 61 74 61 20 61 73 20 75 6e H...Return.the.binary.data.as.un
5f00 69 62 79 74 65 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 73 65 63 6f ibyte.string...The.optional.seco
5f20 6e 64 0a 61 6e 64 20 74 68 69 72 64 20 61 72 67 75 6d 65 6e 74 73 20 42 45 47 20 61 6e 64 20 45 nd.and.third.arguments.BEG.and.E
5f40 4e 44 20 73 70 65 63 69 66 79 20 77 68 61 74 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 ND.specify.what.portion.of.the.f
5f60 69 6c 65 0a 74 6f 20 72 65 61 64 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 ile.to.read."...(with-temp-buffe
5f80 72 0a 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 75 6c 74 69 62 79 74 65 20 6e 69 6c 29 r.....(set-buffer-multibyte.nil)
5fa0 0a 20 20 20 20 28 73 65 74 71 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 .....(setq.buffer-file-coding-sy
5fc0 73 74 65 6d 20 27 62 69 6e 61 72 79 29 0a 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 stem.'binary).....(insert-file-c
5fe0 6f 6e 74 65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 20 70 61 74 68 20 6e 69 6c 20 62 65 67 20 65 ontents-literally.path.nil.beg.e
6000 6e 64 29 0a 20 20 20 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f nd).....(buffer-substring-no-pro
6020 70 65 72 74 69 65 73 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 perties.(point-min).(point-max))
6040 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 72 65 61 64 20 27 66 2d 72 65 61 64 2d 74 65 ))..(defalias.'f-read.'f-read-te
6060 78 74 29 0a 28 64 65 66 75 6e 20 66 2d 72 65 61 64 2d 74 65 78 74 20 28 70 61 74 68 20 26 6f 70 xt).(defun.f-read-text.(path.&op
6080 74 69 6f 6e 61 6c 20 63 6f 64 69 6e 67 29 0a 20 20 22 52 65 61 64 20 74 65 78 74 20 77 69 74 68 tional.coding)..."Read.text.with
60a0 20 50 41 54 48 2c 20 75 73 69 6e 67 20 43 4f 44 49 4e 47 2e 0a 0a 43 4f 44 49 4e 47 20 64 65 66 .PATH,.using.CODING...CODING.def
60c0 61 75 6c 74 73 20 74 6f 20 60 75 74 66 2d 38 27 2e 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 64 65 aults.to.`utf-8'...Return.the.de
60e0 63 6f 64 65 64 20 74 65 78 74 20 61 73 20 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 2e 22 coded.text.as.multibyte.string."
6100 0a 20 20 28 64 65 63 6f 64 65 2d 63 6f 64 69 6e 67 2d 73 74 72 69 6e 67 20 28 66 2d 72 65 61 64 ...(decode-coding-string.(f-read
6120 2d 62 79 74 65 73 20 70 61 74 68 29 20 28 6f 72 20 63 6f 64 69 6e 67 20 27 75 74 66 2d 38 29 29 -bytes.path).(or.coding.'utf-8))
6140 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 77 72 69 74 65 20 27 66 2d 77 72 69 74 65 2d 74 )..(defalias.'f-write.'f-write-t
6160 65 78 74 29 0a 28 64 65 66 75 6e 20 66 2d 77 72 69 74 65 2d 74 65 78 74 20 28 74 65 78 74 20 63 ext).(defun.f-write-text.(text.c
6180 6f 64 69 6e 67 20 70 61 74 68 29 0a 20 20 22 57 72 69 74 65 20 54 45 58 54 20 77 69 74 68 20 43 oding.path)..."Write.TEXT.with.C
61a0 4f 44 49 4e 47 20 74 6f 20 50 41 54 48 2e 0a 0a 54 45 58 54 20 69 73 20 61 20 6d 75 6c 74 69 62 ODING.to.PATH...TEXT.is.a.multib
61c0 79 74 65 20 73 74 72 69 6e 67 2e 20 20 43 4f 44 49 4e 47 20 69 73 20 61 20 63 6f 64 69 6e 67 20 yte.string...CODING.is.a.coding.
61e0 73 79 73 74 65 6d 20 74 6f 20 65 6e 63 6f 64 65 0a 54 45 58 54 20 77 69 74 68 2e 20 20 50 41 54 system.to.encode.TEXT.with...PAT
6200 48 20 69 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 77 72 69 74 65 20 74 6f 2e 22 0a 20 H.is.a.file.name.to.write.to."..
6220 20 28 66 2d 77 72 69 74 65 2d 62 79 74 65 73 20 28 65 6e 63 6f 64 65 2d 63 6f 64 69 6e 67 2d 73 .(f-write-bytes.(encode-coding-s
6240 74 72 69 6e 67 20 74 65 78 74 20 63 6f 64 69 6e 67 29 20 70 61 74 68 29 29 0a 0a 28 64 65 66 75 tring.text.coding).path))..(defu
6260 6e 20 66 2d 75 6e 69 62 79 74 65 2d 73 74 72 69 6e 67 2d 70 20 28 73 29 0a 20 20 22 44 65 74 65 n.f-unibyte-string-p.(s)..."Dete
6280 72 6d 69 6e 65 20 77 68 65 74 68 65 72 20 53 20 69 73 20 61 20 75 6e 69 62 79 74 65 20 73 74 72 rmine.whether.S.is.a.unibyte.str
62a0 69 6e 67 2e 22 0a 20 20 28 6e 6f 74 20 28 6d 75 6c 74 69 62 79 74 65 2d 73 74 72 69 6e 67 2d 70 ing."...(not.(multibyte-string-p
62c0 20 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 77 72 69 74 65 2d 62 79 74 65 73 20 28 64 61 74 .s)))..(defun.f-write-bytes.(dat
62e0 61 20 70 61 74 68 29 0a 20 20 22 57 72 69 74 65 20 62 69 6e 61 72 79 20 44 41 54 41 20 74 6f 20 a.path)..."Write.binary.DATA.to.
6300 50 41 54 48 2e 0a 0a 44 41 54 41 20 69 73 20 61 20 75 6e 69 62 79 74 65 20 73 74 72 69 6e 67 2e PATH...DATA.is.a.unibyte.string.
6320 20 20 50 41 54 48 20 69 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 74 6f 20 77 72 69 74 65 20 74 ..PATH.is.a.file.name.to.write.t
6340 6f 2e 22 0a 20 20 28 66 2d 2d 77 72 69 74 65 2d 62 79 74 65 73 20 64 61 74 61 20 70 61 74 68 20 o."...(f--write-bytes.data.path.
6360 6e 69 6c 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 61 70 70 65 6e 64 20 27 66 2d 61 70 nil))..(defalias.'f-append.'f-ap
6380 70 65 6e 64 2d 74 65 78 74 29 0a 28 64 65 66 75 6e 20 66 2d 61 70 70 65 6e 64 2d 74 65 78 74 20 pend-text).(defun.f-append-text.
63a0 28 74 65 78 74 20 63 6f 64 69 6e 67 20 70 61 74 68 29 0a 20 20 22 41 70 70 65 6e 64 20 54 45 58 (text.coding.path)..."Append.TEX
63c0 54 20 77 69 74 68 20 43 4f 44 49 4e 47 20 74 6f 20 50 41 54 48 2e 0a 0a 49 66 20 50 41 54 48 20 T.with.CODING.to.PATH...If.PATH.
63e0 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 69 74 20 69 73 20 63 72 65 61 74 65 64 2e 22 0a does.not.exist,.it.is.created.".
6400 20 20 28 66 2d 61 70 70 65 6e 64 2d 62 79 74 65 73 20 28 65 6e 63 6f 64 65 2d 63 6f 64 69 6e 67 ..(f-append-bytes.(encode-coding
6420 2d 73 74 72 69 6e 67 20 74 65 78 74 20 63 6f 64 69 6e 67 29 20 70 61 74 68 29 29 0a 0a 28 64 65 -string.text.coding).path))..(de
6440 66 75 6e 20 66 2d 61 70 70 65 6e 64 2d 62 79 74 65 73 20 28 64 61 74 61 20 70 61 74 68 29 0a 20 fun.f-append-bytes.(data.path)..
6460 20 22 41 70 70 65 6e 64 20 62 69 6e 61 72 79 20 44 41 54 41 20 74 6f 20 50 41 54 48 2e 0a 0a 49 ."Append.binary.DATA.to.PATH...I
6480 66 20 50 41 54 48 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 69 74 20 69 73 20 63 72 65 f.PATH.does.not.exist,.it.is.cre
64a0 61 74 65 64 2e 22 0a 20 20 28 66 2d 2d 77 72 69 74 65 2d 62 79 74 65 73 20 64 61 74 61 20 70 61 ated."...(f--write-bytes.data.pa
64c0 74 68 20 3a 61 70 70 65 6e 64 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 77 72 69 74 65 2d 62 79 th.:append))..(defun.f--write-by
64e0 74 65 73 20 28 64 61 74 61 20 66 69 6c 65 6e 61 6d 65 20 61 70 70 65 6e 64 29 0a 20 20 22 57 72 tes.(data.filename.append)..."Wr
6500 69 74 65 20 62 69 6e 61 72 79 20 44 41 54 41 20 74 6f 20 46 49 4c 45 4e 41 4d 45 2e 0a 49 66 20 ite.binary.DATA.to.FILENAME..If.
6520 41 50 50 45 4e 44 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 70 70 65 6e 64 20 74 68 65 20 44 41 APPEND.is.non-nil,.append.the.DA
6540 54 41 20 74 6f 20 74 68 65 20 65 78 69 73 74 69 6e 67 20 63 6f 6e 74 65 6e 74 73 2e 22 0a 20 20 TA.to.the.existing.contents."...
6560 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 28 75 6e (f--destructive.filename.....(un
6580 6c 65 73 73 20 28 66 2d 75 6e 69 62 79 74 65 2d 73 74 72 69 6e 67 2d 70 20 64 61 74 61 29 0a 20 less.(f-unibyte-string-p.data)..
65a0 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e .....(signal.'wrong-type-argumen
65c0 74 20 28 6c 69 73 74 20 27 66 2d 75 6e 69 62 79 74 65 2d 73 74 72 69 6e 67 2d 70 20 64 61 74 61 t.(list.'f-unibyte-string-p.data
65e0 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 ))).....(let.((coding-system-for
6600 2d 77 72 69 74 65 20 27 62 69 6e 61 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 -write.'binary)...........(write
6620 2d 72 65 67 69 6f 6e 2d 61 6e 6e 6f 74 61 74 65 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 0a -region-annotate-functions.nil).
6640 20 20 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 69 6f 6e 2d 70 6f 73 74 2d 61 6e 6e ..........(write-region-post-ann
6660 6f 74 61 74 69 6f 6e 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 77 72 otation-function.nil)).......(wr
6680 69 74 65 2d 72 65 67 69 6f 6e 20 64 61 74 61 20 6e 69 6c 20 66 69 6c 65 6e 61 6d 65 20 61 70 70 ite-region.data.nil.filename.app
66a0 65 6e 64 20 3a 73 69 6c 65 6e 74 29 0a 20 20 20 20 20 20 6e 69 6c 29 29 29 0a 0a 0c 0a 3b 3b 3b end.:silent).......nil)))....;;;
66c0 3b 20 44 65 73 74 72 75 63 74 69 76 65 0a 0a 28 64 65 66 75 6e 20 66 2d 6d 6b 64 69 72 20 28 26 ;.Destructive..(defun.f-mkdir.(&
66e0 72 65 73 74 20 64 69 72 73 29 0a 20 20 22 43 72 65 61 74 65 20 64 69 72 65 63 74 6f 72 69 65 73 rest.dirs)..."Create.directories
6700 20 44 49 52 53 2e 0a 0a 44 49 52 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 75 63 63 65 73 73 .DIRS...DIRS.should.be.a.success
6720 69 76 65 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 66 6f 72 6d 69 6e 67 20 ive.list.of.directories.forming.
6740 74 6f 67 65 74 68 65 72 0a 61 20 66 75 6c 6c 20 70 61 74 68 2e 20 20 54 68 65 20 65 61 73 69 65 together.a.full.path...The.easie
6760 73 74 20 77 61 79 20 74 6f 20 63 61 6c 6c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 st.way.to.call.this.function.wit
6780 68 20 61 20 66 75 6c 6c 79 0a 66 6f 72 6d 65 64 20 70 61 74 68 20 69 73 20 75 73 69 6e 67 20 60 h.a.fully.formed.path.is.using.`
67a0 66 2d 73 70 6c 69 74 27 20 61 6c 6f 6e 67 73 69 64 65 20 69 74 3a 0a 0a 20 20 20 20 28 61 70 70 f-split'.alongside.it:......(app
67c0 6c 79 20 23 5c 5c 3d 27 66 2d 6d 6b 64 69 72 20 28 66 2d 73 70 6c 69 74 20 5c 22 70 61 74 68 2f ly.#\\='f-mkdir.(f-split.\"path/
67e0 74 6f 2f 66 69 6c 65 5c 22 29 29 0a 0a 41 6c 74 68 6f 75 67 68 20 69 74 20 77 6f 72 6b 73 20 73 to/file\"))..Although.it.works.s
6800 6f 6d 65 74 69 6d 65 73 2c 20 69 74 20 69 73 20 6e 6f 74 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 ometimes,.it.is.not.recommended.
6820 74 6f 20 75 73 65 20 66 75 6c 6c 79 0a 66 6f 72 6d 65 64 20 70 61 74 68 73 20 69 6e 20 74 68 65 to.use.fully.formed.paths.in.the
6840 20 66 75 6e 63 74 69 6f 6e 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 69 74 20 69 73 20 72 .function..In.this.case,.it.is.r
6860 65 63 6f 6d 6d 65 6e 64 65 64 20 74 6f 0a 75 73 65 20 60 66 2d 6d 6b 64 69 72 2d 66 75 6c 6c 2d ecommended.to.use.`f-mkdir-full-
6880 70 61 74 68 27 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 6c 65 74 20 28 70 61 74 68 29 0a 20 20 path'.instead."...(let.(path)...
68a0 20 20 28 2d 65 61 63 68 0a 20 20 20 20 20 20 20 20 64 69 72 73 0a 20 20 20 20 20 20 28 6c 61 6d ..(-each.........dirs.......(lam
68c0 62 64 61 20 28 64 69 72 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 74 68 20 28 66 2d bda.(dir).........(setq.path.(f-
68e0 65 78 70 61 6e 64 20 64 69 72 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 expand.dir.path)).........(unles
6900 73 20 28 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 s.(f-directory-p.path)..........
6920 20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 70 61 74 68 20 28 6d 61 6b 65 2d 64 69 72 65 .(f--destructive.path.(make-dire
6940 63 74 6f 72 79 20 70 61 74 68 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 6d 6b 64 69 ctory.path)))))))..(defun.f-mkdi
6960 72 2d 66 75 6c 6c 2d 70 61 74 68 20 28 64 69 72 29 0a 20 20 22 43 72 65 61 74 65 20 44 49 52 20 r-full-path.(dir)..."Create.DIR.
6980 66 72 6f 6d 20 61 20 66 75 6c 6c 20 70 61 74 68 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e from.a.full.path...This.function
69a0 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 66 2d 6d 6b 64 69 72 27 20 65 78 63 65 70 74 20 .is.similar.to.`f-mkdir'.except.
69c0 69 74 20 63 61 6e 20 61 63 63 65 70 74 20 61 20 66 75 6c 6c 0a 70 61 74 68 20 69 6e 73 74 65 61 it.can.accept.a.full.path.instea
69e0 64 20 6f 66 20 72 65 71 75 69 72 69 6e 67 20 73 65 76 65 72 61 6c 20 73 75 63 63 65 73 73 69 76 d.of.requiring.several.successiv
6a00 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 73 2e 22 0a 20 20 28 61 70 70 6c 79 20 23 27 66 e.directory.names."...(apply.#'f
6a20 2d 6d 6b 64 69 72 20 28 66 2d 73 70 6c 69 74 20 64 69 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 -mkdir.(f-split.dir)))..(defun.f
6a40 2d 64 65 6c 65 74 65 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 63 65 29 0a 20 -delete.(path.&optional.force)..
6a60 20 22 44 65 6c 65 74 65 20 50 41 54 48 2c 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 66 69 6c 65 ."Delete.PATH,.which.can.be.file
6a80 20 6f 72 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 49 66 20 46 4f 52 43 45 20 69 73 20 74 2c 20 61 .or.directory...If.FORCE.is.t,.a
6aa0 20 64 69 72 65 63 74 6f 72 79 20 77 69 6c 6c 20 62 65 20 64 65 6c 65 74 65 64 20 72 65 63 75 72 .directory.will.be.deleted.recur
6ac0 73 69 76 65 6c 79 2e 22 0a 20 20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 70 61 74 68 0a sively."...(f--destructive.path.
6ae0 20 20 20 20 28 69 66 20 28 6f 72 20 28 66 2d 66 69 6c 65 2d 70 20 70 61 74 68 29 20 28 66 2d 73 ....(if.(or.(f-file-p.path).(f-s
6b00 79 6d 6c 69 6e 6b 2d 70 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d ymlink-p.path)).........(delete-
6b20 66 69 6c 65 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f file.path).......(delete-directo
6b40 72 79 20 70 61 74 68 20 66 6f 72 63 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 79 6d 6c ry.path.force))))..(defun.f-syml
6b60 69 6e 6b 20 28 73 6f 75 72 63 65 20 70 61 74 68 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73 79 ink.(source.path)..."Create.a.sy
6b80 6d 6c 69 6e 6b 20 74 6f 20 53 4f 55 52 43 45 20 66 72 6f 6d 20 50 41 54 48 2e 22 0a 20 20 28 66 mlink.to.SOURCE.from.PATH."...(f
6ba0 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 70 61 74 68 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 69 --destructive.path.(make-symboli
6bc0 63 2d 6c 69 6e 6b 20 73 6f 75 72 63 65 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d c-link.source.path)))..(defun.f-
6be0 6d 6f 76 65 20 28 66 72 6f 6d 20 74 6f 29 0a 20 20 22 4d 6f 76 65 20 6f 72 20 72 65 6e 61 6d 65 move.(from.to)..."Move.or.rename
6c00 20 46 52 4f 4d 20 74 6f 20 54 4f 2e 0a 49 66 20 54 4f 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 .FROM.to.TO..If.TO.is.a.director
6c20 79 20 6e 61 6d 65 2c 20 6d 6f 76 65 20 46 52 4f 4d 20 69 6e 74 6f 20 54 4f 2e 22 0a 20 20 28 66 y.name,.move.FROM.into.TO."...(f
6c40 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 74 6f 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 66 72 --destructive.to.(rename-file.fr
6c60 6f 6d 20 74 6f 20 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 6f 70 79 20 28 66 72 6f 6d 20 om.to.t)))..(defun.f-copy.(from.
6c80 74 6f 29 0a 20 20 22 43 6f 70 79 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 46 52 to)..."Copy.file.or.directory.FR
6ca0 4f 4d 20 74 6f 20 54 4f 2e 0a 49 66 20 46 52 4f 4d 20 6e 61 6d 65 73 20 61 20 64 69 72 65 63 74 OM.to.TO..If.FROM.names.a.direct
6cc0 6f 72 79 20 61 6e 64 20 54 4f 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 ory.and.TO.is.a.directory.name,.
6ce0 63 6f 70 79 20 46 52 4f 4d 0a 69 6e 74 6f 20 54 4f 20 61 73 20 61 20 73 75 62 64 69 72 65 63 74 copy.FROM.into.TO.as.a.subdirect
6d00 6f 72 79 2e 22 0a 20 20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 65 20 74 6f 0a 20 20 20 20 28 ory."...(f--destructive.to.....(
6d20 69 66 20 28 66 2d 66 69 6c 65 2d 70 20 66 72 6f 6d 29 0a 20 20 20 20 20 20 20 20 28 63 6f 70 79 if.(f-file-p.from).........(copy
6d40 2d 66 69 6c 65 20 66 72 6f 6d 20 74 6f 29 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 20 62 65 68 61 -file.from.to).......;;.The.beha
6d60 76 69 6f 72 20 6f 66 20 60 63 6f 70 79 2d 64 69 72 65 63 74 6f 72 79 27 20 64 69 66 66 65 72 73 vior.of.`copy-directory'.differs
6d80 20 62 65 74 77 65 65 6e 20 45 6d 61 63 73 20 32 33 20 61 6e 64 0a 20 20 20 20 20 20 3b 3b 20 32 .between.Emacs.23.and.......;;.2
6da0 34 20 69 6e 20 74 68 61 74 20 69 6e 20 45 6d 61 63 73 20 32 33 2c 20 74 68 65 20 63 6f 6e 74 65 4.in.that.in.Emacs.23,.the.conte
6dc0 6e 74 73 20 6f 66 20 60 66 72 6f 6d 27 20 69 73 20 63 6f 70 69 65 64 20 74 6f 0a 20 20 20 20 20 nts.of.`from'.is.copied.to......
6de0 20 3b 3b 20 60 74 6f 27 2c 20 77 68 69 6c 65 20 69 6e 20 45 6d 61 63 73 20 32 34 20 74 68 65 20 .;;.`to',.while.in.Emacs.24.the.
6e00 64 69 72 65 63 74 6f 72 79 20 60 66 72 6f 6d 27 20 69 73 20 63 6f 70 69 65 64 20 74 6f 0a 20 20 directory.`from'.is.copied.to...
6e20 20 20 20 20 3b 3b 20 60 74 6f 27 2e 20 57 65 20 77 61 6e 74 20 74 68 65 20 45 6d 61 63 73 20 32 ....;;.`to'..We.want.the.Emacs.2
6e40 34 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 28 69 66 20 28 3e 20 65 6d 61 63 73 2d 6d 4.behavior........(if.(>.emacs-m
6e60 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 33 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 ajor-version.23)...........(copy
6e80 2d 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20 74 6f 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 -directory.from.to).........(if.
6ea0 28 66 2d 64 69 72 2d 70 20 74 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a (f-dir-p.to).............(progn.
6ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 27 66 2d 6d 6b 64 69 72 20 28 66 ..............(apply.'f-mkdir.(f
6ee0 2d 73 70 6c 69 74 20 74 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 -split.to))...............(let.(
6f00 28 6e 65 77 2d 74 6f 20 28 66 2d 65 78 70 61 6e 64 20 28 66 2d 66 69 6c 65 6e 61 6d 65 20 66 72 (new-to.(f-expand.(f-filename.fr
6f20 6f 6d 29 20 74 6f 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d om).to))).................(copy-
6f40 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20 6e 65 77 2d 74 6f 29 29 29 0a 20 20 20 20 20 20 20 directory.from.new-to)))........
6f60 20 20 20 28 63 6f 70 79 2d 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 20 74 6f 29 29 29 29 29 29 ...(copy-directory.from.to))))))
6f80 0a 0a 28 64 65 66 75 6e 20 66 2d 63 6f 70 79 2d 63 6f 6e 74 65 6e 74 73 20 28 66 72 6f 6d 20 74 ..(defun.f-copy-contents.(from.t
6fa0 6f 29 0a 20 20 22 43 6f 70 79 20 63 6f 6e 74 65 6e 74 73 20 69 6e 20 64 69 72 65 63 74 6f 72 79 o)..."Copy.contents.in.directory
6fc0 20 46 52 4f 4d 2c 20 74 6f 20 64 69 72 65 63 74 6f 72 79 20 54 4f 2e 22 0a 20 20 28 75 6e 6c 65 .FROM,.to.directory.TO."...(unle
6fe0 73 73 20 28 66 2d 65 78 69 73 74 73 2d 70 20 74 6f 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 43 ss.(f-exists-p.to).....(error."C
7000 61 6e 6e 6f 74 20 63 6f 70 79 20 63 6f 6e 74 65 6e 74 73 20 74 6f 20 6e 6f 6e 20 65 78 69 73 74 annot.copy.contents.to.non.exist
7020 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 25 73 22 20 74 6f 29 29 0a 20 20 28 75 6e 6c 65 73 73 ing.directory.%s".to))...(unless
7040 20 28 66 2d 64 69 72 2d 70 20 66 72 6f 6d 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 43 61 6e 6e .(f-dir-p.from).....(error."Cann
7060 6f 74 20 63 6f 70 79 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 25 73 20 69 73 20 61 20 66 69 6c 65 ot.copy.contents.as.%s.is.a.file
7080 22 20 66 72 6f 6d 29 29 0a 20 20 28 2d 2d 65 61 63 68 20 28 66 2d 65 6e 74 72 69 65 73 20 66 72 ".from))...(--each.(f-entries.fr
70a0 6f 6d 29 0a 20 20 20 20 28 66 2d 63 6f 70 79 20 69 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 om).....(f-copy.it.(file-name-as
70c0 2d 64 69 72 65 63 74 6f 72 79 20 74 6f 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 74 6f 75 63 -directory.to))))..(defun.f-touc
70e0 68 20 28 70 61 74 68 29 0a 20 20 22 55 70 64 61 74 65 20 50 41 54 48 20 6c 61 73 74 20 6d 6f 64 h.(path)..."Update.PATH.last.mod
7100 69 66 69 63 61 74 69 6f 6e 20 64 61 74 65 20 6f 72 20 63 72 65 61 74 65 20 69 66 20 69 74 20 64 ification.date.or.create.if.it.d
7120 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2e 22 0a 20 20 28 66 2d 2d 64 65 73 74 72 75 63 74 69 76 oes.not.exist."...(f--destructiv
7140 65 20 70 61 74 68 0a 20 20 20 20 28 69 66 20 28 66 2d 66 69 6c 65 2d 70 20 70 61 74 68 29 0a 20 e.path.....(if.(f-file-p.path)..
7160 20 20 20 20 20 20 20 28 73 65 74 2d 66 69 6c 65 2d 74 69 6d 65 73 20 70 61 74 68 29 0a 20 20 20 .......(set-file-times.path)....
7180 20 20 20 28 66 2d 77 72 69 74 65 2d 62 79 74 65 73 20 22 22 20 70 61 74 68 29 29 29 29 0a 0a 0c ...(f-write-bytes."".path))))...
71a0 0a 3b 3b 3b 3b 20 50 72 65 64 69 63 61 74 65 73 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 .;;;;.Predicates..(defalias.'f-e
71c0 78 69 73 74 73 2d 70 20 27 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 29 0a 28 64 65 66 61 6c 69 61 xists-p.'file-exists-p).(defalia
71e0 73 20 27 66 2d 65 78 69 73 74 73 3f 20 27 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 29 0a 0a 28 64 s.'f-exists?.'file-exists-p)..(d
7200 65 66 61 6c 69 61 73 20 27 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 27 66 69 6c 65 2d 64 69 72 efalias.'f-directory-p.'file-dir
7220 65 63 74 6f 72 79 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 64 69 72 65 63 74 6f 72 79 ectory-p).(defalias.'f-directory
7240 3f 20 27 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20 27 ?.'file-directory-p).(defalias.'
7260 66 2d 64 69 72 2d 70 20 27 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 29 0a 28 64 65 66 61 f-dir-p.'file-directory-p).(defa
7280 6c 69 61 73 20 27 66 2d 64 69 72 3f 20 27 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 29 0a lias.'f-dir?.'file-directory-p).
72a0 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 66 69 6c 65 2d 70 20 27 66 69 6c 65 2d 72 65 67 75 ..(defalias.'f-file-p.'file-regu
72c0 6c 61 72 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 66 69 6c 65 3f 20 27 66 69 6c 65 2d lar-p).(defalias.'f-file?.'file-
72e0 72 65 67 75 6c 61 72 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 79 6d 6c 69 6e 6b 2d 70 20 28 regular-p)..(defun.f-symlink-p.(
7300 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 50 41 54 48 20 69 73 20 73 79 6d path)..."Return.t.if.PATH.is.sym
7320 6c 69 6e 6b 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20 28 6e 6f 74 20 28 link,.false.otherwise."...(not.(
7340 6e 6f 74 20 28 66 69 6c 65 2d 73 79 6d 6c 69 6e 6b 2d 70 20 70 61 74 68 29 29 29 29 0a 0a 28 64 not.(file-symlink-p.path))))..(d
7360 65 66 61 6c 69 61 73 20 27 66 2d 73 79 6d 6c 69 6e 6b 3f 20 27 66 2d 73 79 6d 6c 69 6e 6b 2d 70 efalias.'f-symlink?.'f-symlink-p
7380 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 72 65 61 64 61 62 6c 65 2d 70 20 27 66 69 6c 65 )..(defalias.'f-readable-p.'file
73a0 2d 72 65 61 64 61 62 6c 65 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 72 65 61 64 61 62 -readable-p).(defalias.'f-readab
73c0 6c 65 3f 20 27 66 69 6c 65 2d 72 65 61 64 61 62 6c 65 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61 73 le?.'file-readable-p)..(defalias
73e0 20 27 66 2d 77 72 69 74 61 62 6c 65 2d 70 20 27 66 69 6c 65 2d 77 72 69 74 61 62 6c 65 2d 70 29 .'f-writable-p.'file-writable-p)
7400 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 77 72 69 74 61 62 6c 65 3f 20 27 66 69 6c 65 2d 77 72 .(defalias.'f-writable?.'file-wr
7420 69 74 61 62 6c 65 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 78 65 63 75 74 61 62 itable-p)..(defalias.'f-executab
7440 6c 65 2d 70 20 27 66 69 6c 65 2d 65 78 65 63 75 74 61 62 6c 65 2d 70 29 0a 28 64 65 66 61 6c 69 le-p.'file-executable-p).(defali
7460 61 73 20 27 66 2d 65 78 65 63 75 74 61 62 6c 65 3f 20 27 66 69 6c 65 2d 65 78 65 63 75 74 61 62 as.'f-executable?.'file-executab
7480 6c 65 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 61 62 73 6f 6c 75 74 65 2d 70 20 27 le-p)..(defalias.'f-absolute-p.'
74a0 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20 file-name-absolute-p).(defalias.
74c0 27 66 2d 61 62 73 6f 6c 75 74 65 3f 20 27 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 'f-absolute?.'file-name-absolute
74e0 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 72 65 6c 61 74 69 76 65 2d 70 20 28 70 61 74 68 29 0a -p)..(defun.f-relative-p.(path).
7500 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 50 41 54 48 20 69 73 20 72 65 6c 61 74 69 76 65 2c .."Return.t.if.PATH.is.relative,
7520 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20 28 6e 6f 74 20 28 66 2d 61 62 73 .false.otherwise."...(not.(f-abs
7540 6f 6c 75 74 65 2d 70 20 70 61 74 68 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 72 65 olute-p.path)))..(defalias.'f-re
7560 6c 61 74 69 76 65 3f 20 27 66 2d 72 65 6c 61 74 69 76 65 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 lative?.'f-relative-p)..(defun.f
7580 2d 72 6f 6f 74 2d 70 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 50 41 -root-p.(path)..."Return.t.if.PA
75a0 54 48 20 69 73 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 2c 20 66 61 6c 73 65 20 6f 74 68 65 TH.is.root.directory,.false.othe
75c0 72 77 69 73 65 2e 22 0a 20 20 28 6e 6f 74 20 28 66 2d 70 61 72 65 6e 74 20 70 61 74 68 29 29 29 rwise."...(not.(f-parent.path)))
75e0 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 72 6f 6f 74 3f 20 27 66 2d 72 6f 6f 74 2d 70 29 0a ..(defalias.'f-root?.'f-root-p).
7600 0a 28 64 65 66 75 6e 20 66 2d 65 78 74 2d 70 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 .(defun.f-ext-p.(path.&optional.
7620 65 78 74 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 65 78 74 65 6e 73 69 6f 6e 20 6f 66 ext)..."Return.t.if.extension.of
7640 20 50 41 54 48 20 69 73 20 45 58 54 2c 20 66 61 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a .PATH.is.EXT,.false.otherwise...
7660 49 66 20 45 58 54 20 69 73 20 6e 69 6c 20 6f 72 20 6f 6d 69 74 74 65 64 2c 20 72 65 74 75 72 6e If.EXT.is.nil.or.omitted,.return
7680 20 74 20 69 66 20 50 41 54 48 20 68 61 73 20 61 6e 79 20 65 78 74 65 6e 73 69 6f 6e 2c 0a 66 61 .t.if.PATH.has.any.extension,.fa
76a0 6c 73 65 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 54 68 65 20 65 78 74 65 6e 73 69 6f 6e 2c 20 69 lse.otherwise...The.extension,.i
76c0 6e 20 61 20 66 69 6c 65 20 6e 61 6d 65 2c 20 69 73 20 74 68 65 20 70 61 72 74 20 74 68 61 74 20 n.a.file.name,.is.the.part.that.
76e0 66 6f 6c 6c 6f 77 73 20 74 68 65 20 6c 61 73 74 0a 27 2e 27 2c 20 65 78 63 6c 75 64 69 6e 67 20 follows.the.last.'.',.excluding.
7700 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 73 20 61 6e 64 20 62 61 63 6b 75 70 20 73 75 66 66 69 version.numbers.and.backup.suffi
7720 78 65 73 2e 22 0a 20 20 28 69 66 20 65 78 74 0a 20 20 20 20 20 20 28 73 74 72 69 6e 67 3d 20 28 xes."...(if.ext.......(string=.(
7740 66 2d 65 78 74 20 70 61 74 68 29 20 65 78 74 29 0a 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 66 f-ext.path).ext).....(not.(eq.(f
7760 2d 65 78 74 20 70 61 74 68 29 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 -ext.path).nil))))..(defalias.'f
7780 2d 65 78 74 3f 20 27 66 2d 65 78 74 2d 70 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 71 -ext?.'f-ext-p)..(defalias.'f-eq
77a0 75 61 6c 2d 70 20 27 66 2d 73 61 6d 65 2d 70 29 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 71 ual-p.'f-same-p).(defalias.'f-eq
77c0 75 61 6c 3f 20 27 66 2d 73 61 6d 65 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 73 61 6d 65 2d 70 ual?.'f-same-p)..(defun.f-same-p
77e0 20 28 70 61 74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 .(path-a.path-b)..."Return.t.if.
7800 50 41 54 48 2d 41 20 61 6e 64 20 50 41 54 48 2d 42 20 61 72 65 20 72 65 66 65 72 65 6e 63 65 73 PATH-A.and.PATH-B.are.references
7820 20 74 6f 20 73 61 6d 65 20 66 69 6c 65 2e 22 0a 20 20 28 65 71 75 61 6c 0a 20 20 20 28 66 2d 63 .to.same.file."...(equal....(f-c
7840 61 6e 6f 6e 69 63 61 6c 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 anonical.(directory-file-name.(f
7860 2d 65 78 70 61 6e 64 20 70 61 74 68 2d 61 29 29 29 0a 20 20 20 28 66 2d 63 61 6e 6f 6e 69 63 61 -expand.path-a)))....(f-canonica
7880 6c 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 2d 65 78 70 61 6e 64 l.(directory-file-name.(f-expand
78a0 20 70 61 74 68 2d 62 29 29 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 73 61 6d 65 3f .path-b)))))..(defalias.'f-same?
78c0 20 27 66 2d 73 61 6d 65 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 70 61 72 65 6e 74 2d 6f 66 2d .'f-same-p)..(defun.f-parent-of-
78e0 70 20 28 70 61 74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 p.(path-a.path-b)..."Return.t.if
7900 20 50 41 54 48 2d 41 20 69 73 20 70 61 72 65 6e 74 20 6f 66 20 50 41 54 48 2d 42 2e 22 0a 20 20 .PATH-A.is.parent.of.PATH-B."...
7920 28 2d 2d 77 68 65 6e 2d 6c 65 74 20 28 66 2d 70 61 72 65 6e 74 20 70 61 74 68 2d 62 29 0a 20 20 (--when-let.(f-parent.path-b)...
7940 20 20 28 66 2d 73 61 6d 65 2d 70 20 70 61 74 68 2d 61 20 69 74 29 29 29 0a 0a 28 64 65 66 61 6c ..(f-same-p.path-a.it)))..(defal
7960 69 61 73 20 27 66 2d 70 61 72 65 6e 74 2d 6f 66 3f 20 27 66 2d 70 61 72 65 6e 74 2d 6f 66 2d 70 ias.'f-parent-of?.'f-parent-of-p
7980 29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 68 69 6c 64 2d 6f 66 2d 70 20 28 70 61 74 68 2d 61 20 70 )..(defun.f-child-of-p.(path-a.p
79a0 61 74 68 2d 62 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 50 41 54 48 2d 41 20 69 73 20 ath-b)..."Return.t.if.PATH-A.is.
79c0 63 68 69 6c 64 20 6f 66 20 50 41 54 48 2d 42 2e 22 0a 20 20 28 2d 2d 77 68 65 6e 2d 6c 65 74 20 child.of.PATH-B."...(--when-let.
79e0 28 66 2d 70 61 72 65 6e 74 20 70 61 74 68 2d 61 29 0a 20 20 20 20 28 66 2d 73 61 6d 65 2d 70 20 (f-parent.path-a).....(f-same-p.
7a00 69 74 20 70 61 74 68 2d 62 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 63 68 69 6c 64 it.path-b)))..(defalias.'f-child
7a20 2d 6f 66 3f 20 27 66 2d 63 68 69 6c 64 2d 6f 66 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 61 6e -of?.'f-child-of-p)..(defun.f-an
7a40 63 65 73 74 6f 72 2d 6f 66 2d 70 20 28 70 61 74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20 22 52 cestor-of-p.(path-a.path-b)..."R
7a60 65 74 75 72 6e 20 74 20 69 66 20 50 41 54 48 2d 41 20 69 73 20 61 6e 63 65 73 74 6f 72 20 6f 66 eturn.t.if.PATH-A.is.ancestor.of
7a80 20 50 41 54 48 2d 42 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 66 2d 73 61 6d 65 2d 70 20 70 61 .PATH-B."...(unless.(f-same-p.pa
7aa0 74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20 20 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d th-a.path-b).....(string-prefix-
7ac0 70 20 28 66 2d 66 75 6c 6c 20 70 61 74 68 2d 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.(f-full.path-a)...............
7ae0 20 20 20 20 20 20 20 28 66 2d 66 75 6c 6c 20 70 61 74 68 2d 62 29 29 29 29 0a 0a 28 64 65 66 61 .......(f-full.path-b))))..(defa
7b00 6c 69 61 73 20 27 66 2d 61 6e 63 65 73 74 6f 72 2d 6f 66 3f 20 27 66 2d 61 6e 63 65 73 74 6f 72 lias.'f-ancestor-of?.'f-ancestor
7b20 2d 6f 66 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 -of-p)..(defun.f-descendant-of-p
7b40 20 28 70 61 74 68 2d 61 20 70 61 74 68 2d 62 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 .(path-a.path-b)..."Return.t.if.
7b60 50 41 54 48 2d 41 20 69 73 20 64 65 73 65 6e 64 61 6e 74 20 6f 66 20 50 41 54 48 2d 42 2e 22 0a PATH-A.is.desendant.of.PATH-B.".
7b80 20 20 28 75 6e 6c 65 73 73 20 28 66 2d 73 61 6d 65 2d 70 20 70 61 74 68 2d 61 20 70 61 74 68 2d ..(unless.(f-same-p.path-a.path-
7ba0 62 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 61 74 68 2d 61 20 28 66 2d 73 70 6c 69 74 20 28 66 b).....(let.((path-a.(f-split.(f
7bc0 2d 66 75 6c 6c 20 70 61 74 68 2d 61 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 2d -full.path-a)))...........(path-
7be0 62 20 28 66 2d 73 70 6c 69 74 20 28 66 2d 66 75 6c 6c 20 70 61 74 68 2d 62 29 29 29 0a 20 20 20 b.(f-split.(f-full.path-b)))....
7c00 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 2d 70 20 74 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c .......(parent-p.t)).......(whil
7c20 65 20 28 61 6e 64 20 70 61 74 68 2d 62 20 70 61 72 65 6e 74 2d 70 29 0a 20 20 20 20 20 20 20 20 e.(and.path-b.parent-p).........
7c40 28 69 66 20 28 73 74 72 69 6e 67 3d 20 28 63 61 72 20 70 61 74 68 2d 61 29 20 28 63 61 72 20 70 (if.(string=.(car.path-a).(car.p
7c60 61 74 68 2d 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 74 68 2d 61 ath-b)).............(setq.path-a
7c80 20 28 63 64 72 20 70 61 74 68 2d 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(cdr.path-a)...................
7ca0 70 61 74 68 2d 62 20 28 63 64 72 20 70 61 74 68 2d 62 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 path-b.(cdr.path-b))...........(
7cc0 73 65 74 71 20 70 61 72 65 6e 74 2d 70 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 70 61 72 65 6e setq.parent-p.nil))).......paren
7ce0 74 2d 70 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d t-p)))..(defalias.'f-descendant-
7d00 6f 66 3f 20 27 66 2d 64 65 73 63 65 6e 64 61 6e 74 2d 6f 66 2d 70 29 0a 0a 28 64 65 66 75 6e 20 of?.'f-descendant-of-p)..(defun.
7d20 66 2d 68 69 64 64 65 6e 2d 70 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 68 61 76 f-hidden-p.(path.&optional.behav
7d40 69 6f 72 29 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 50 41 54 48 20 69 73 20 68 69 64 64 ior)..."Return.t.if.PATH.is.hidd
7d60 65 6e 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 42 45 48 41 56 49 4f 52 20 63 6f 6e en,.nil.otherwise...BEHAVIOR.con
7d80 74 72 6f 6c 73 20 77 68 65 6e 20 61 20 70 61 74 68 20 73 68 6f 75 6c 64 20 62 65 20 63 6f 6e 73 trols.when.a.path.should.be.cons
7da0 69 64 65 72 65 64 20 61 73 20 68 69 64 64 65 6e 0a 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 69 74 idered.as.hidden.depending.on.it
7dc0 73 20 76 61 6c 75 65 2e 20 20 42 65 77 61 72 65 2c 20 69 66 20 50 41 54 48 20 62 65 67 69 6e 73 s.value...Beware,.if.PATH.begins
7de0 20 77 69 74 68 20 5c 22 2e 2f 5c 22 2c 20 74 68 65 0a 63 75 72 72 65 6e 74 20 64 69 72 20 5c 22 .with.\"./\",.the.current.dir.\"
7e00 2e 5c 22 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 68 69 .\".will.not.be.considered.as.hi
7e20 64 64 65 6e 2e 0a 0a 57 68 65 6e 20 42 45 48 41 56 49 4f 52 20 69 73 20 6e 69 6c 2c 20 69 74 20 dden...When.BEHAVIOR.is.nil,.it.
7e40 77 69 6c 6c 20 6f 6e 6c 79 20 63 68 65 63 6b 20 69 66 20 74 68 65 20 70 61 74 68 20 62 65 67 69 will.only.check.if.the.path.begi
7e60 6e 73 20 77 69 74 68 0a 61 20 64 6f 74 2c 20 61 73 20 69 6e 20 2e 61 2f 62 2f 63 2c 20 61 6e 64 ns.with.a.dot,.as.in..a/b/c,.and
7e80 20 72 65 74 75 72 6e 20 74 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 2e 20 20 54 68 69 73 .return.t.if.there.is.one...This
7ea0 20 69 73 20 74 68 65 0a 6f 6c 64 20 62 65 68 61 76 69 6f 72 20 6f 66 20 66 2e 65 6c 20 6c 65 66 .is.the.old.behavior.of.f.el.lef
7ec0 74 20 61 73 20 64 65 66 61 75 6c 74 20 66 6f 72 20 62 61 63 6b 77 61 72 64 2d 63 6f 6d 70 61 74 t.as.default.for.backward-compat
7ee0 69 62 69 6c 69 74 79 0a 70 75 72 70 6f 73 65 73 2e 0a 0a 57 68 65 6e 20 42 45 48 41 56 49 4f 52 ibility.purposes...When.BEHAVIOR
7f00 20 69 73 20 41 4e 59 2c 20 72 65 74 75 72 6e 20 74 20 69 66 20 61 6e 79 20 6f 66 20 74 68 65 20 .is.ANY,.return.t.if.any.of.the.
7f20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 50 41 54 48 20 69 73 0a 68 69 64 64 65 6e 2c 20 6e 69 6c 20 elements.of.PATH.is.hidden,.nil.
7f40 6f 74 68 65 72 77 69 73 65 2e 0a 0a 57 68 65 6e 20 42 45 48 41 56 49 4f 52 20 69 73 20 4c 41 53 otherwise...When.BEHAVIOR.is.LAS
7f60 54 2c 20 72 65 74 75 72 6e 20 74 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 6c 61 73 74 20 65 6c 65 T,.return.t.only.if.the.last.ele
7f80 6d 65 6e 74 20 6f 66 20 50 41 54 48 0a 69 73 20 68 69 64 64 65 6e 2c 20 6e 69 6c 20 6f 74 68 65 ment.of.PATH.is.hidden,.nil.othe
7fa0 72 77 69 73 65 2e 0a 0a 54 4f 44 4f 3a 20 48 69 64 64 65 6e 20 64 69 72 65 63 74 6f 72 69 65 73 rwise...TODO:.Hidden.directories
7fc0 20 61 6e 64 20 66 69 6c 65 73 20 6f 6e 20 57 69 6e 64 6f 77 73 20 61 72 65 20 6d 61 72 6b 65 64 .and.files.on.Windows.are.marked
7fe0 0a 64 69 66 66 65 72 65 6e 74 6c 79 20 74 68 61 6e 20 6f 6e 20 2a 4e 49 58 20 73 79 73 74 65 6d .differently.than.on.*NIX.system
8000 73 2e 20 20 54 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 70 72 6f 70 65 72 6c 79 0a 69 6d 70 6c s...This.should.be.properly.impl
8020 65 6d 65 6e 74 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 70 6c 69 74 2d 70 61 74 68 20 28 66 emented."...(let.((split-path.(f
8040 2d 73 70 6c 69 74 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 28 63 68 65 63 6b 2d 68 69 64 -split.path)).........(check-hid
8060 64 65 6e 20 28 6c 61 6d 62 64 61 20 28 65 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 den.(lambda.(elt)...............
8080 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 3d 20 28 73 75 62 73 74 72 69 ..........(and.(string=.(substri
80a0 6e 67 20 65 6c 74 20 30 20 31 29 20 22 2e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.elt.0.1).".")................
80c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 62 65 72 20 65 6c 74 20 27 ..............(not.(member.elt.'
80e0 28 22 2e 22 20 22 2e 2e 22 29 29 29 29 29 29 29 0a 20 20 20 20 28 70 63 61 73 65 20 62 65 68 61 (".".".."))))))).....(pcase.beha
8100 76 69 6f 72 0a 20 20 20 20 20 20 28 27 61 6e 79 20 20 28 2d 61 6e 79 20 63 68 65 63 6b 2d 68 69 vior.......('any..(-any.check-hi
8120 64 64 65 6e 20 73 70 6c 69 74 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 28 27 6c 61 73 74 20 28 dden.split-path)).......('last.(
8140 61 70 70 6c 79 20 63 68 65 63 6b 2d 68 69 64 64 65 6e 20 28 6c 61 73 74 20 73 70 6c 69 74 2d 70 apply.check-hidden.(last.split-p
8160 61 74 68 29 29 29 0a 20 20 20 20 20 20 28 6f 74 68 65 72 77 69 73 65 20 28 69 66 20 28 6e 75 6c ath))).......(otherwise.(if.(nul
8180 6c 20 6f 74 68 65 72 77 69 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l.otherwise)....................
81a0 20 20 28 66 75 6e 63 61 6c 6c 20 63 68 65 63 6b 2d 68 69 64 64 65 6e 20 28 63 61 72 20 73 70 6c ..(funcall.check-hidden.(car.spl
81c0 69 74 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 it-path))....................(er
81e0 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 76 61 6c 75 65 20 25 53 20 66 6f 72 20 61 72 67 75 6d 65 ror."Invalid.value.%S.for.argume
8200 6e 74 20 42 45 48 41 56 49 4f 52 22 20 6f 74 68 65 72 77 69 73 65 29 29 29 29 29 29 0a 0a 28 64 nt.BEHAVIOR".otherwise))))))..(d
8220 65 66 61 6c 69 61 73 20 27 66 2d 68 69 64 64 65 6e 3f 20 27 66 2d 68 69 64 64 65 6e 2d 70 29 0a efalias.'f-hidden?.'f-hidden-p).
8240 0a 28 64 65 66 75 6e 20 66 2d 65 6d 70 74 79 2d 70 20 28 70 61 74 68 29 0a 20 20 22 49 66 20 50 .(defun.f-empty-p.(path)..."If.P
8260 41 54 48 20 69 73 20 61 20 66 69 6c 65 2c 20 72 65 74 75 72 6e 20 74 20 69 66 20 74 68 65 20 66 ATH.is.a.file,.return.t.if.the.f
8280 69 6c 65 20 69 6e 20 50 41 54 48 20 69 73 20 65 6d 70 74 79 2c 20 6e 69 6c 20 6f 74 68 65 72 77 ile.in.PATH.is.empty,.nil.otherw
82a0 69 73 65 2e 0a 49 66 20 50 41 54 48 20 69 73 20 64 69 72 65 63 74 6f 72 79 2c 20 72 65 74 75 72 ise..If.PATH.is.directory,.retur
82c0 6e 20 74 20 69 66 20 64 69 72 65 63 74 6f 72 79 20 68 61 73 20 6e 6f 20 66 69 6c 65 73 2c 20 6e n.t.if.directory.has.no.files,.n
82e0 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20 28 69 66 20 28 66 2d 64 69 72 65 63 74 6f 72 il.otherwise."...(if.(f-director
8300 79 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 66 2d 66 69 6c 65 73 20 y-p.path).......(equal.(f-files.
8320 70 61 74 68 20 6e 69 6c 20 74 29 20 6e 69 6c 29 0a 20 20 20 20 28 3d 20 28 66 2d 73 69 7a 65 20 path.nil.t).nil).....(=.(f-size.
8340 70 61 74 68 29 20 30 29 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 65 6d 70 74 79 3f 20 path).0)))..(defalias.'f-empty?.
8360 27 66 2d 65 6d 70 74 79 2d 70 29 0a 0a 0c 0a 3b 3b 3b 3b 20 53 74 61 74 73 0a 0a 28 64 65 66 75 'f-empty-p)....;;;;.Stats..(defu
8380 6e 20 66 2d 73 69 7a 65 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e 20 73 69 7a 65 20 6f n.f-size.(path)..."Return.size.o
83a0 66 20 50 41 54 48 2e 0a 0a 49 66 20 50 41 54 48 20 69 73 20 61 20 66 69 6c 65 2c 20 72 65 74 75 f.PATH...If.PATH.is.a.file,.retu
83c0 72 6e 20 73 69 7a 65 20 6f 66 20 74 68 61 74 20 66 69 6c 65 2e 20 20 49 66 20 50 41 54 48 20 69 rn.size.of.that.file...If.PATH.i
83e0 73 0a 64 69 72 65 63 74 6f 72 79 2c 20 72 65 74 75 72 6e 20 73 75 6d 20 6f 66 20 61 6c 6c 20 66 s.directory,.return.sum.of.all.f
8400 69 6c 65 73 20 69 6e 20 50 41 54 48 2e 22 0a 20 20 28 69 66 20 28 66 2d 64 69 72 65 63 74 6f 72 iles.in.PATH."...(if.(f-director
8420 79 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 2d 73 75 6d 20 28 2d 6d 61 70 20 27 66 2d 73 y-p.path).......(-sum.(-map.'f-s
8440 69 7a 65 20 28 66 2d 66 69 6c 65 73 20 70 61 74 68 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 28 ize.(f-files.path.nil.t))).....(
8460 6e 74 68 20 37 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 20 70 61 74 68 29 29 29 29 0a nth.7.(file-attributes.path)))).
8480 0a 28 64 65 66 75 6e 20 66 2d 64 65 70 74 68 20 28 70 61 74 68 29 0a 20 20 22 52 65 74 75 72 6e .(defun.f-depth.(path)..."Return
84a0 20 74 68 65 20 64 65 70 74 68 20 6f 66 20 50 41 54 48 2e 0a 0a 41 74 20 66 69 72 73 74 2c 20 50 .the.depth.of.PATH...At.first,.P
84c0 41 54 48 20 69 73 20 65 78 70 61 6e 64 65 64 20 77 69 74 68 20 60 66 2d 65 78 70 61 6e 64 27 2e ATH.is.expanded.with.`f-expand'.
84e0 20 20 54 68 65 6e 20 74 68 65 20 66 75 6c 6c 20 70 61 74 68 20 69 73 20 75 73 65 64 20 74 6f 0a ..Then.the.full.path.is.used.to.
8500 64 65 74 65 63 74 20 74 68 65 20 64 65 70 74 68 2e 0a 27 2f 27 20 77 69 6c 6c 20 62 65 20 7a 65 detect.the.depth..'/'.will.be.ze
8520 72 6f 20 64 65 70 74 68 2c 20 20 27 2f 75 73 72 27 20 77 69 6c 6c 20 62 65 20 6f 6e 65 20 64 65 ro.depth,..'/usr'.will.be.one.de
8540 70 74 68 2e 20 20 41 6e 64 20 73 6f 20 6f 6e 2e 22 0a 20 20 28 2d 20 28 6c 65 6e 67 74 68 20 28 pth...And.so.on."...(-.(length.(
8560 66 2d 73 70 6c 69 74 20 28 66 2d 65 78 70 61 6e 64 20 70 61 74 68 29 29 29 20 31 29 29 0a 0a 3b f-split.(f-expand.path))).1))..;
8580 3b 20 46 6f 72 20 45 6d 61 63 73 20 32 38 20 61 6e 64 20 62 65 6c 6f 77 2c 20 66 6f 72 77 61 72 ;.For.Emacs.28.and.below,.forwar
85a0 64 2d 64 65 63 6c 61 72 65 20 e2 80 98 63 75 72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73 74 e2 80 d-declare....current-time-list..
85c0 99 2c 20 77 68 69 63 68 20 77 61 73 0a 3b 3b 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 45 6d .,.which.was.;;.introduced.in.Em
85e0 61 63 73 20 32 39 2e 0a 28 64 65 66 76 61 72 20 63 75 72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73 acs.29..(defvar.current-time-lis
8600 74 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 67 65 74 2d 74 69 6d 65 20 28 70 61 74 68 20 74 69 6d t)..(defun.f--get-time.(path.tim
8620 65 73 74 61 6d 70 2d 70 20 66 6e 29 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 2c estamp-p.fn)..."Helper.function,
8640 20 67 65 74 20 74 69 6d 65 2d 72 65 6c 61 74 65 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f .get.time-related.information.fo
8660 72 20 50 41 54 48 2e 0a 48 65 6c 70 65 72 20 66 6f 72 20 60 66 2d 63 68 61 6e 67 65 2d 74 69 6d r.PATH..Helper.for.`f-change-tim
8680 65 27 2c 20 60 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 27 2c 0a 60 66 2d 61 63 e',.`f-modification-time',.`f-ac
86a0 63 65 73 73 2d 74 69 6d 65 27 2e 20 20 49 74 20 69 73 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 63 cess-time'...It.is.meant.to.be.c
86c0 61 6c 6c 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 2c 20 61 76 6f 69 64 0a 63 61 6c 6c 69 6e 67 20 alled.internally,.avoid.calling.
86e0 69 74 20 6d 61 6e 75 61 6c 6c 79 20 75 6e 6c 65 73 73 20 79 6f 75 20 68 61 76 65 20 74 6f 2e 0a it.manually.unless.you.have.to..
8700 0a 49 66 20 54 49 4d 45 53 54 41 4d 50 2d 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 74 75 .If.TIMESTAMP-P.is.non-nil,.retu
8720 72 6e 20 74 68 65 20 64 61 74 65 20 72 65 71 75 65 73 74 65 64 20 61 73 20 61 0a 74 69 6d 65 73 rn.the.date.requested.as.a.times
8740 74 61 6d 70 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 5c 5c 3d 27 73 65 63 6f 6e tamp...If.the.value.is.\\='secon
8760 64 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 74 69 6d 65 73 74 61 6d 70 20 61 73 0a 61 20 74 69 ds,.return.the.timestamp.as.a.ti
8780 6d 65 73 74 61 6d 70 20 77 69 74 68 20 61 20 6f 6e 65 2d 73 65 63 6f 6e 64 20 70 72 65 63 69 73 mestamp.with.a.one-second.precis
87a0 69 6f 6e 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 0a 74 69 6d 65 73 74 61 6d 70 20 69 ion...Otherwise,.the.timestamp.i
87c0 73 20 72 65 74 75 72 6e 65 64 20 69 6e 20 61 20 28 54 49 43 4b 53 20 2e 20 48 5a 29 20 66 6f 72 s.returned.in.a.(TICKS...HZ).for
87e0 6d 61 74 2c 20 73 65 65 0a 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 20 69 66 20 75 73 69 6e 67 mat,.see.`current-time'.if.using
8800 20 45 6d 61 63 73 20 32 39 20 6f 72 20 6e 65 77 65 72 2e 0a 0a 4f 74 68 65 72 77 69 73 65 2c 20 .Emacs.29.or.newer...Otherwise,.
8820 69 66 20 54 49 4d 45 53 54 41 4d 50 2d 50 20 69 73 20 6e 69 6c 2c 20 72 65 74 75 72 6e 20 74 68 if.TIMESTAMP-P.is.nil,.return.th
8840 65 20 64 65 66 61 75 6c 74 20 73 74 79 6c 65 20 6f 66 0a 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 e.default.style.of.`current-time
8860 27 2e 0a 0a 46 4e 20 69 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 '...FN.is.the.function.specified
8880 20 62 79 20 74 68 65 20 63 61 6c 6c 65 72 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 72 65 74 72 69 .by.the.caller.function.to.retri
88a0 65 76 65 0a 74 68 65 20 63 6f 72 72 65 63 74 20 64 61 74 61 20 66 72 6f 6d 20 50 41 54 48 2e 22 eve.the.correct.data.from.PATH."
88c0 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 75 72 72 65 6e 74 2d 74 69 6d 65 2d 6c 69 73 74 .......(let*.((current-time-list
88e0 20 28 6e 6f 74 20 74 69 6d 65 73 74 61 6d 70 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(not.timestamp-p)).............
8900 20 28 64 61 74 65 20 28 61 70 70 6c 79 20 66 6e 20 28 6c 69 73 74 20 28 66 69 6c 65 2d 61 74 74 .(date.(apply.fn.(list.(file-att
8920 72 69 62 75 74 65 73 20 70 61 74 68 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 ributes.path))))..............(e
8940 6d 61 63 73 32 39 2d 6f 72 2d 6e 65 77 65 72 2d 70 20 28 76 65 72 73 69 6f 6e 3c 3d 20 22 32 39 macs29-or-newer-p.(version<=."29
8960 22 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 ".emacs-version))).........(cond
8980 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 65 71 20 74 69 6d 65 73 74 61 6d 70 2d 70 20 ..........((and.(eq.timestamp-p.
89a0 27 73 65 63 6f 6e 64 73 29 20 65 6d 61 63 73 32 39 2d 6f 72 2d 6e 65 77 65 72 2d 70 29 0a 20 20 'seconds).emacs29-or-newer-p)...
89c0 20 20 20 20 20 20 20 20 28 2f 20 28 63 61 72 20 64 61 74 65 29 20 28 63 64 72 20 64 61 74 65 29 ........(/.(car.date).(cdr.date)
89e0 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 74 ))..........((or.(and.(not.(eq.t
8a00 69 6d 65 73 74 61 6d 70 2d 70 20 27 73 65 63 6f 6e 64 73 29 29 20 65 6d 61 63 73 32 39 2d 6f 72 imestamp-p.'seconds)).emacs29-or
8a20 2d 6e 65 77 65 72 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f -newer-p)...............(and.(no
8a40 74 20 74 69 6d 65 73 74 61 6d 70 2d 70 29 20 28 6e 6f 74 20 65 6d 61 63 73 32 39 2d 6f 72 2d 6e t.timestamp-p).(not.emacs29-or-n
8a60 65 77 65 72 2d 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 64 61 74 65 29 0a 20 20 20 20 20 20 ewer-p)))...........date).......
8a80 20 20 20 28 28 61 6e 64 20 28 65 71 20 74 69 6d 65 73 74 61 6d 70 2d 70 20 27 73 65 63 6f 6e 64 ...((and.(eq.timestamp-p.'second
8aa0 73 29 20 28 6e 6f 74 20 65 6d 61 63 73 32 39 2d 6f 72 2d 6e 65 77 65 72 2d 70 29 29 0a 20 20 20 s).(not.emacs29-or-newer-p))....
8ac0 20 20 20 20 20 20 20 28 2b 20 28 2a 20 28 6e 74 68 20 30 20 64 61 74 65 29 20 28 65 78 70 74 20 .......(+.(*.(nth.0.date).(expt.
8ae0 32 20 31 36 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 31 20 64 61 74 65 29 2.16))..............(nth.1.date)
8b00 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 74 69 6d 65 73 74 61 6d 70 2d 70 20 28 6e ))..........((and.timestamp-p.(n
8b20 6f 74 20 65 6d 61 63 73 32 39 2d 6f 72 2d 6e 65 77 65 72 2d 70 29 29 0a 20 20 20 20 20 20 20 20 ot.emacs29-or-newer-p)).........
8b40 20 20 60 28 2c 28 2b 20 28 2a 20 28 6e 74 68 20 30 20 64 61 74 65 29 20 28 65 78 70 74 20 32 20 ..`(,(+.(*.(nth.0.date).(expt.2.
8b60 31 36 29 20 31 30 30 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 28 6e 74 16).1000).................(*.(nt
8b80 68 20 31 20 64 61 74 65 29 20 31 30 30 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h.1.date).1000).................
8ba0 28 6e 74 68 20 33 20 64 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2e 20 31 30 30 30 (nth.3.date))...............1000
8bc0 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 28 70 61 74 )))))..(defun.f-change-time.(pat
8be0 68 20 26 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65 73 74 61 6d 70 2d 70 29 0a 20 20 22 52 65 74 75 h.&optional.timestamp-p)..."Retu
8c00 72 6e 20 74 68 65 20 6c 61 73 74 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 20 74 69 6d 65 20 6f rn.the.last.status.change.time.o
8c20 66 20 50 41 54 48 2e 0a 0a 54 68 65 20 73 74 61 74 75 73 20 63 68 61 6e 67 65 20 74 69 6d 65 20 f.PATH...The.status.change.time.
8c40 28 63 74 69 6d 65 29 20 6f 66 20 50 41 54 48 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d (ctime).of.PATH.in.the.same.form
8c60 61 74 20 61 73 0a 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 2e 20 20 46 6f 72 20 64 65 74 61 69 at.as.`current-time'...For.detai
8c80 6c 73 20 6f 6e 20 54 49 4d 45 53 54 41 4d 50 2d 50 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 74 ls.on.TIMESTAMP-P.and.the.format
8ca0 20 6f 66 20 74 68 65 0a 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 2c 20 73 65 65 20 60 66 2d 2d .of.the.returned.value,.see.`f--
8cc0 67 65 74 2d 74 69 6d 65 27 2e 22 0a 20 20 28 66 2d 2d 67 65 74 2d 74 69 6d 65 20 70 61 74 68 0a get-time'."...(f--get-time.path.
8ce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 74 61 6d 70 2d 70 0a 20 20 20 20 20 ...............timestamp-p......
8d00 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 66 69 6c 65 2d 61 74 74 ..........(if.(fboundp.'file-att
8d20 72 69 62 75 74 65 2d 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 29 0a 20 20 20 20 20 ribute-status-change-time)......
8d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 73 ..............#'file-attribute-s
8d60 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tatus-change-time...............
8d80 20 20 20 28 6c 61 6d 62 64 61 20 28 66 29 20 28 6e 74 68 20 36 20 66 29 29 29 29 29 0a 0a 28 64 ...(lambda.(f).(nth.6.f)))))..(d
8da0 65 66 75 6e 20 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 28 70 61 74 68 20 26 efun.f-modification-time.(path.&
8dc0 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65 73 74 61 6d 70 2d 70 29 0a 20 20 22 52 65 74 75 72 6e 20 optional.timestamp-p)..."Return.
8de0 74 68 65 20 6c 61 73 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 6f 66 20 50 41 the.last.modification.time.of.PA
8e00 54 48 2e 0a 54 68 65 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 28 6d 74 69 6d 65 TH..The.modification.time.(mtime
8e20 29 20 6f 66 20 50 41 54 48 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 6f 72 6d 61 74 20 61 73 0a ).of.PATH.in.the.same.format.as.
8e40 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 2e 20 20 46 6f 72 20 64 65 74 61 69 6c 73 20 6f 6e 20 `current-time'...For.details.on.
8e60 54 49 4d 45 53 54 41 4d 50 2d 50 20 61 6e 64 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 TIMESTAMP-P.and.the.format.of.th
8e80 65 0a 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 2c 20 73 65 65 20 60 66 2d 2d 67 65 74 2d 74 69 e.returned.value,.see.`f--get-ti
8ea0 6d 65 27 2e 22 0a 20 20 28 66 2d 2d 67 65 74 2d 74 69 6d 65 20 70 61 74 68 0a 20 20 20 20 20 20 me'."...(f--get-time.path.......
8ec0 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 74 61 6d 70 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 .........timestamp-p............
8ee0 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 ....(if.(fboundp.'file-attribute
8f00 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -modification-time).............
8f20 20 20 20 20 20 20 20 23 27 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 69 66 69 63 61 .......#'file-attribute-modifica
8f40 74 69 6f 6e 2d 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 tion-time..................(lamb
8f60 64 61 20 28 66 29 20 28 6e 74 68 20 35 20 66 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 61 da.(f).(nth.5.f)))))..(defun.f-a
8f80 63 63 65 73 73 2d 74 69 6d 65 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 74 69 6d 65 73 ccess-time.(path.&optional.times
8fa0 74 61 6d 70 2d 70 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6c 61 73 74 20 61 63 63 65 73 tamp-p)..."Return.the.last.acces
8fc0 73 20 74 69 6d 65 20 6f 66 20 50 41 54 48 2e 0a 54 68 65 20 61 63 63 65 73 73 20 74 69 6d 65 20 s.time.of.PATH..The.access.time.
8fe0 28 61 74 69 6d 65 29 20 6f 66 20 50 41 54 48 20 69 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 66 (atime).of.PATH.is.in.the.same.f
9000 6f 72 6d 61 74 20 61 73 0a 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 2e 20 20 46 6f 72 20 64 65 ormat.as.`current-time'...For.de
9020 74 61 69 6c 73 20 6f 6e 20 54 49 4d 45 53 54 41 4d 50 2d 50 20 61 6e 64 20 74 68 65 20 66 6f 72 tails.on.TIMESTAMP-P.and.the.for
9040 6d 61 74 20 6f 66 20 74 68 65 0a 72 65 74 75 72 6e 65 64 20 76 61 6c 75 65 2c 20 73 65 65 20 60 mat.of.the.returned.value,.see.`
9060 66 2d 2d 67 65 74 2d 74 69 6d 65 27 2e 22 0a 20 20 28 66 2d 2d 67 65 74 2d 74 69 6d 65 20 70 61 f--get-time'."...(f--get-time.pa
9080 74 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 69 6d 65 73 74 61 6d 70 2d 70 0a 20 20 th................timestamp-p...
90a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 66 69 6c 65 2d .............(if.(fboundp.'file-
90c0 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73 73 2d 74 69 6d 65 29 0a 20 20 20 20 20 20 20 20 20 attribute-access-time)..........
90e0 20 20 20 20 20 20 20 20 20 20 23 27 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73 ..........#'file-attribute-acces
9100 73 2d 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 s-time..................(lambda.
9120 28 66 29 20 28 6e 74 68 20 34 20 66 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 74 68 72 (f).(nth.4.f)))))..(defun.f--thr
9140 65 65 2d 77 61 79 2d 63 6f 6d 70 61 72 65 20 28 61 20 62 29 0a 20 20 22 54 68 72 65 65 20 77 61 ee-way-compare.(a.b)..."Three.wa
9160 79 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 0a 0a 52 65 74 75 72 6e 20 2d 31 20 69 66 20 41 20 3c 20 y.comparison...Return.-1.if.A.<.
9180 42 2e 0a 52 65 74 75 72 6e 20 30 20 69 66 20 41 20 3d 20 42 2e 0a 52 65 74 75 72 6e 20 31 20 69 B..Return.0.if.A.=.B..Return.1.i
91a0 66 20 41 20 3e 20 42 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 3c 20 61 20 62 29 20 2d 31 29 0a 20 f.A.>.B."...(cond.((<.a.b).-1)..
91c0 20 20 20 20 20 20 20 28 28 3d 20 61 20 62 29 20 30 29 0a 20 20 20 20 20 20 20 20 28 28 3e 20 61 .......((=.a.b).0).........((>.a
91e0 20 62 29 20 31 29 29 29 0a 0a 3b 3b 20 54 4f 44 4f 3a 20 48 6f 77 20 74 6f 20 70 72 6f 70 65 72 .b).1)))..;;.TODO:.How.to.proper
9200 6c 79 20 74 65 73 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3f 0a 28 64 65 66 75 6e 20 66 2d ly.test.this.function?.(defun.f-
9220 2d 64 61 74 65 2d 63 6f 6d 70 61 72 65 20 28 66 69 6c 65 20 6f 74 68 65 72 20 6d 65 74 68 6f 64 -date-compare.(file.other.method
9240 29 0a 20 20 22 54 68 72 65 65 2d 77 61 79 20 63 6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 74 68 65 )..."Three-way.comparison.of.the
9260 20 64 61 74 65 20 6f 66 20 46 49 4c 45 20 61 6e 64 20 4f 54 48 45 52 2e 0a 0a 54 68 69 73 20 66 .date.of.FILE.and.OTHER...This.f
9280 75 6e 63 74 69 6f 6e 20 63 61 6e 20 72 65 74 75 72 6e 20 74 68 72 65 65 20 76 61 6c 75 65 73 3a unction.can.return.three.values:
92a0 0a 2a 20 31 20 6d 65 61 6e 73 20 46 49 4c 45 20 69 73 20 6e 65 77 65 72 20 74 68 61 6e 20 4f 54 .*.1.means.FILE.is.newer.than.OT
92c0 48 45 52 0a 2a 20 30 20 6d 65 61 6e 73 20 46 49 4c 45 20 61 6e 64 20 4e 45 57 45 52 20 73 68 61 HER.*.0.means.FILE.and.NEWER.sha
92e0 72 65 20 74 68 65 20 73 61 6d 65 20 64 61 74 65 0a 2a 20 2d 31 20 6d 65 61 6e 73 20 46 49 4c 45 re.the.same.date.*.-1.means.FILE
9300 20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 4f 54 48 45 52 0a 0a 54 68 65 20 73 74 61 74 69 73 .is.older.than.OTHER..The.statis
9320 74 69 63 73 20 75 73 65 64 20 66 6f 72 20 74 68 65 20 64 61 74 65 20 63 6f 6d 70 61 72 69 73 6f tics.used.for.the.date.compariso
9340 6e 20 64 65 70 65 6e 64 73 20 6f 6e 20 4d 45 54 48 4f 44 2e 0a 57 68 65 6e 20 4d 45 54 48 4f 44 n.depends.on.METHOD..When.METHOD
9360 20 69 73 20 6e 75 6c 6c 2c 20 63 6f 6d 70 61 72 65 20 74 68 65 69 72 20 6d 6f 64 69 66 69 63 61 .is.null,.compare.their.modifica
9380 74 69 6f 6e 20 74 69 6d 65 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 0a 63 6f 6d 70 61 72 65 20 74 tion.time...Otherwise,.compare.t
93a0 68 65 69 72 20 63 68 61 6e 67 65 20 74 69 6d 65 20 77 68 65 6e 20 4d 45 54 48 4f 44 20 69 73 20 heir.change.time.when.METHOD.is.
93c0 5c 5c 3d 27 63 68 61 6e 67 65 2c 20 6f 72 20 63 6f 6d 70 61 72 65 0a 74 68 65 69 72 20 6c 61 73 \\='change,.or.compare.their.las
93e0 74 20 61 63 63 65 73 73 20 74 69 6d 65 20 77 68 65 6e 20 4d 45 54 48 4f 44 20 69 73 20 5c 5c 3d t.access.time.when.METHOD.is.\\=
9400 27 61 63 63 65 73 73 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 6e 2d 6d 65 74 68 6f 64 20 28 63 'access."...(let*.((fn-method.(c
9420 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 27 63 ond......................((eq.'c
9440 68 61 6e 67 65 20 6d 65 74 68 6f 64 29 20 23 27 66 2d 63 68 61 6e 67 65 2d 74 69 6d 65 29 0a 20 hange.method).#'f-change-time)..
9460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 27 61 63 63 65 73 73 ....................((eq.'access
9480 20 6d 65 74 68 6f 64 29 20 23 27 66 2d 61 63 63 65 73 73 2d 74 69 6d 65 29 0a 20 20 20 20 20 20 .method).#'f-access-time).......
94a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 6d 65 74 68 6f 64 29 20 20 20 ...............((null.method)...
94c0 20 20 20 20 23 27 66 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 29 0a 20 20 20 20 20 ....#'f-modification-time)......
94e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 55 6e 6b 6e 6f ................(t.(error."Unkno
9500 77 6e 20 6d 65 74 68 6f 64 20 25 53 22 20 6d 65 74 68 6f 64 29 29 29 29 0a 20 20 20 20 20 20 20 wn.method.%S".method))))........
9520 20 20 28 64 61 74 65 2d 66 69 6c 65 20 28 61 70 70 6c 79 20 66 6e 2d 6d 65 74 68 6f 64 20 28 6c ..(date-file.(apply.fn-method.(l
9540 69 73 74 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 61 74 65 2d 6f 74 68 65 72 ist.file)))..........(date-other
9560 20 28 61 70 70 6c 79 20 66 6e 2d 6d 65 74 68 6f 64 20 28 6c 69 73 74 20 6f 74 68 65 72 29 29 29 .(apply.fn-method.(list.other)))
9580 0a 20 20 20 20 20 20 20 20 20 28 64 61 74 65 73 20 20 20 20 20 20 28 2d 7a 69 70 2d 70 61 69 72 ..........(dates......(-zip-pair
95a0 20 64 61 74 65 2d 66 69 6c 65 20 64 61 74 65 2d 6f 74 68 65 72 29 29 29 0a 20 20 20 20 28 2d 72 .date-file.date-other))).....(-r
95c0 65 64 75 63 65 2d 66 72 6f 6d 20 28 6c 61 6d 62 64 61 20 28 61 63 63 20 65 6c 74 29 0a 20 20 20 educe-from.(lambda.(acc.elt)....
95e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3d 20 61 63 63 20 30 29 0a 20 .................(if.(=.acc.0)..
9600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 2d 2d 74 68 72 65 65 .......................(f--three
9620 2d 77 61 79 2d 63 6f 6d 70 61 72 65 20 28 63 61 72 20 65 6c 74 29 20 28 63 64 72 20 65 6c 74 29 -way-compare.(car.elt).(cdr.elt)
9640 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 63 29 29 0a 20 20 ).......................acc))...
9660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................0...............
9680 20 20 20 20 64 61 74 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 6f 6c 64 65 72 2d 70 20 28 ....dates)))..(defun.f-older-p.(
96a0 66 69 6c 65 20 6f 74 68 65 72 20 26 6f 70 74 69 6f 6e 61 6c 20 6d 65 74 68 6f 64 29 0a 20 20 22 file.other.&optional.method)..."
96c0 43 6f 6d 70 61 72 65 20 69 66 20 46 49 4c 45 20 69 73 20 6f 6c 64 65 72 20 74 68 61 6e 20 4f 54 Compare.if.FILE.is.older.than.OT
96e0 48 45 52 2e 0a 0a 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 4d 45 54 48 4f 44 2c 20 73 HER...For.more.info.on.METHOD,.s
9700 65 65 20 60 66 2d 2d 64 61 74 65 2d 63 6f 6d 70 61 72 65 27 2e 22 0a 20 20 28 3c 20 28 66 2d 2d ee.`f--date-compare'."...(<.(f--
9720 64 61 74 65 2d 63 6f 6d 70 61 72 65 20 66 69 6c 65 20 6f 74 68 65 72 20 6d 65 74 68 6f 64 29 20 date-compare.file.other.method).
9740 30 29 29 0a 0a 28 64 65 66 61 6c 69 61 73 20 27 66 2d 6f 6c 64 65 72 3f 20 23 27 66 2d 6f 6c 64 0))..(defalias.'f-older?.#'f-old
9760 65 72 2d 70 29 0a 0a 28 64 65 66 75 6e 20 66 2d 6e 65 77 65 72 2d 70 20 28 66 69 6c 65 20 6f 74 er-p)..(defun.f-newer-p.(file.ot
9780 68 65 72 20 26 6f 70 74 69 6f 6e 61 6c 20 6d 65 74 68 6f 64 29 0a 20 20 22 43 6f 6d 70 61 72 65 her.&optional.method)..."Compare
97a0 20 69 66 20 46 49 4c 45 20 69 73 20 6e 65 77 65 72 20 74 68 61 6e 20 4f 54 48 45 52 2e 0a 0a 46 .if.FILE.is.newer.than.OTHER...F
97c0 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 4d 45 54 48 4f 44 2c 20 73 65 65 20 60 66 2d 2d or.more.info.on.METHOD,.see.`f--
97e0 64 61 74 65 2d 63 6f 6d 70 61 72 65 27 2e 22 0a 20 20 28 3e 20 28 66 2d 2d 64 61 74 65 2d 63 6f date-compare'."...(>.(f--date-co
9800 6d 70 61 72 65 20 66 69 6c 65 20 6f 74 68 65 72 20 6d 65 74 68 6f 64 29 20 30 29 29 0a 0a 28 64 mpare.file.other.method).0))..(d
9820 65 66 61 6c 69 61 73 20 27 66 2d 6e 65 77 65 72 3f 20 23 27 66 2d 6e 65 77 65 72 2d 70 29 0a 0a efalias.'f-newer?.#'f-newer-p)..
9840 28 64 65 66 75 6e 20 66 2d 73 61 6d 65 2d 74 69 6d 65 2d 70 20 28 66 69 6c 65 20 6f 74 68 65 72 (defun.f-same-time-p.(file.other
9860 20 26 6f 70 74 69 6f 6e 61 6c 20 6d 65 74 68 6f 64 29 0a 20 20 22 43 68 65 63 6b 20 69 66 20 46 .&optional.method)..."Check.if.F
9880 49 4c 45 20 61 6e 64 20 4f 54 48 45 52 20 73 68 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 63 63 ILE.and.OTHER.share.the.same.acc
98a0 65 73 73 20 6f 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 2e 0a 0a 46 6f 72 20 6d ess.or.modification.time...For.m
98c0 6f 72 65 20 69 6e 66 6f 20 6f 6e 20 4d 45 54 48 4f 44 2c 20 73 65 65 20 60 66 2d 2d 64 61 74 65 ore.info.on.METHOD,.see.`f--date
98e0 2d 63 6f 6d 70 61 72 65 27 2e 22 0a 20 20 28 3d 20 28 66 2d 2d 64 61 74 65 2d 63 6f 6d 70 61 72 -compare'."...(=.(f--date-compar
9900 65 20 66 69 6c 65 20 6f 74 68 65 72 20 6d 65 74 68 6f 64 29 20 30 29 29 0a 0a 28 64 65 66 61 6c e.file.other.method).0))..(defal
9920 69 61 73 20 27 66 2d 73 61 6d 65 2d 74 69 6d 65 3f 20 23 27 66 2d 73 61 6d 65 2d 74 69 6d 65 2d ias.'f-same-time?.#'f-same-time-
9940 70 29 0a 0a 0c 0a 3b 3b 3b 3b 20 4d 69 73 63 0a 0a 28 64 65 66 75 6e 20 66 2d 74 68 69 73 2d 66 p)....;;;;.Misc..(defun.f-this-f
9960 69 6c 65 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 70 61 74 68 20 74 6f 20 74 68 69 73 20 66 69 ile.()..."Return.path.to.this.fi
9980 6c 65 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 6c 6f 61 64 2d 69 6e 2d 70 72 6f 67 72 65 73 le."...(cond....(load-in-progres
99a0 73 20 6c 6f 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 28 28 61 6e 64 20 28 62 6f 75 6e s.load-file-name)....((and.(boun
99c0 64 70 20 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 20 62 dp.'byte-compile-current-file).b
99e0 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 20 62 79 yte-compile-current-file).....by
9a00 74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 0a 20 20 20 28 3a 65 6c te-compile-current-file)....(:el
9a20 73 65 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 76 61 se.(buffer-file-name))))..(defva
9a40 72 20 66 2d 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 20 6e 69 6c 0a 20 20 22 41 20 76 61 72 r.f--path-separator.nil..."A.var
9a60 69 61 62 6c 65 20 74 6f 20 63 61 63 68 65 20 72 65 73 75 6c 74 20 6f 66 20 60 66 2d 70 61 74 68 iable.to.cache.result.of.`f-path
9a80 2d 73 65 70 61 72 61 74 6f 72 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 66 2d 70 61 74 68 2d 73 65 -separator'.")..(defun.f-path-se
9aa0 70 61 72 61 74 6f 72 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 70 61 74 68 20 73 65 70 61 72 61 parator.()..."Return.path.separa
9ac0 74 6f 72 2e 22 0a 20 20 28 6f 72 20 66 2d 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 0a 20 20 tor."...(or.f--path-separator...
9ae0 20 20 20 20 28 73 65 74 71 20 66 2d 2d 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 20 28 73 75 62 ....(setq.f--path-separator.(sub
9b00 73 74 72 69 6e 67 20 28 66 2d 6a 6f 69 6e 20 22 78 22 20 22 79 22 29 20 31 20 32 29 29 29 29 0a string.(f-join."x"."y").1.2)))).
9b20 0a 28 64 65 66 75 6e 20 66 2d 67 6c 6f 62 20 28 70 61 74 74 65 72 6e 20 26 6f 70 74 69 6f 6e 61 .(defun.f-glob.(pattern.&optiona
9b40 6c 20 70 61 74 68 29 0a 20 20 22 46 69 6e 64 20 50 41 54 54 45 52 4e 20 69 6e 20 50 41 54 48 2e l.path)..."Find.PATTERN.in.PATH.
9b60 22 0a 20 20 28 66 69 6c 65 2d 65 78 70 61 6e 64 2d 77 69 6c 64 63 61 72 64 73 0a 20 20 20 28 66 "...(file-expand-wildcards....(f
9b80 2d 6a 6f 69 6e 20 28 6f 72 20 70 61 74 68 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 -join.(or.path.default-directory
9ba0 29 20 70 61 74 74 65 72 6e 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 2d 63 6f 6c 6c 65 63 74 2d ).pattern)))..(defun.f--collect-
9bc0 65 6e 74 72 69 65 73 20 28 70 61 74 68 20 72 65 63 75 72 73 69 76 65 29 0a 20 20 28 6c 65 74 20 entries.(path.recursive)...(let.
9be0 28 72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 28 65 6e 74 72 69 65 73 0a 20 20 20 20 20 20 20 (result.........(entries........
9c00 20 20 28 2d 72 65 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69 ..(-reject...........(lambda.(fi
9c20 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 62 65 72 20 28 66 2d 66 69 6c 65 6e le).............(member.(f-filen
9c40 61 6d 65 20 66 69 6c 65 29 20 27 28 22 2e 22 20 22 2e 2e 22 29 29 29 0a 20 20 20 20 20 20 20 20 ame.file).'(".".".."))).........
9c60 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 70 61 74 68 20 74 29 29 29 29 0a 20 20 ..(directory-files.path.t))))...
9c80 20 20 28 63 6f 6e 64 20 28 72 65 63 75 72 73 69 76 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d ..(cond.(recursive............(m
9ca0 61 70 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 65 6e 74 72 79 29 0a apc.............(lambda.(entry).
9cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 2d 66 69 6c 65 2d 70 20 65 6e 74 72 ..............(if.(f-file-p.entr
9ce0 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c y)...................(setq.resul
9d00 74 20 28 63 6f 6e 73 20 65 6e 74 72 79 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 t.(cons.entry.result))..........
9d20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 65 6e 74 72 .......(when.(f-directory-p.entr
9d40 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c y)...................(setq.resul
9d60 74 20 28 63 6f 6e 73 20 65 6e 74 72 79 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 t.(cons.entry.result))..........
9d80 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 2d 72 65 61 64 61 62 6c 65 2d 70 20 65 6e 74 72 79 .........(if.(f-readable-p.entry
9da0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 ).......................(setq.re
9dc0 73 75 6c 74 20 28 61 70 70 65 6e 64 20 72 65 73 75 6c 74 20 28 66 2d 2d 63 6f 6c 6c 65 63 74 2d sult.(append.result.(f--collect-
9de0 65 6e 74 72 69 65 73 20 65 6e 74 72 79 20 72 65 63 75 72 73 69 76 65 29 29 29 0a 20 20 20 20 20 entries.entry.recursive)))......
9e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 29 29 29 0a 20 20 20 20 20 20 ...............result)))).......
9e20 20 20 20 20 20 20 65 6e 74 72 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 20 28 73 65 ......entries))...........(t.(se
9e40 74 71 20 72 65 73 75 6c 74 20 65 6e 74 72 69 65 73 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29 tq.result.entries))).....result)
9e60 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 2d 65 6e 74 72 69 65 73 20 28 70 61 74 68 20 62 6f )..(defmacro.f--entries.(path.bo
9e80 64 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 63 75 72 73 69 76 65 29 0a 20 20 22 41 6e 61 70 68 dy.&optional.recursive)..."Anaph
9ea0 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 66 2d 65 6e 74 72 69 65 73 27 2e 22 0a 20 20 oric.version.of.`f-entries'."...
9ec0 60 28 66 2d 65 6e 74 72 69 65 73 0a 20 20 20 20 2c 70 61 74 68 0a 20 20 20 20 28 6c 61 6d 62 64 `(f-entries.....,path.....(lambd
9ee0 61 20 28 70 61 74 68 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 70 61 74 68 29 29 0a a.(path).......(let.((it.path)).
9f00 20 20 20 20 20 20 20 20 2c 62 6f 64 79 29 29 0a 20 20 20 20 2c 72 65 63 75 72 73 69 76 65 29 29 ........,body)).....,recursive))
9f20 0a 0a 28 64 65 66 75 6e 20 66 2d 65 6e 74 72 69 65 73 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e ..(defun.f-entries.(path.&option
9f40 61 6c 20 66 6e 20 72 65 63 75 72 73 69 76 65 29 0a 20 20 22 46 69 6e 64 20 61 6c 6c 20 66 69 6c al.fn.recursive)..."Find.all.fil
9f60 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 69 6e 20 50 41 54 48 2e 0a 0a 46 4e 20 es.and.directories.in.PATH...FN.
9f80 2d 20 63 61 6c 6c 65 64 20 66 6f 72 20 65 61 63 68 20 66 6f 75 6e 64 20 66 69 6c 65 20 61 6e 64 -.called.for.each.found.file.and
9fa0 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 66 20 46 4e 20 72 65 74 75 72 6e 73 20 61 20 74 68 72 .directory...If.FN.returns.a.thr
9fc0 75 74 68 79 0a 76 61 6c 75 65 2c 20 66 69 6c 65 20 6f 72 20 64 69 72 65 63 74 6f 72 79 20 77 69 uthy.value,.file.or.directory.wi
9fe0 6c 6c 20 62 65 20 69 6e 63 6c 75 64 65 64 2e 0a 52 45 43 55 52 53 49 56 45 20 2d 20 53 65 61 72 ll.be.included..RECURSIVE.-.Sear
a000 63 68 20 66 6f 72 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 72 65 63 ch.for.files.and.directories.rec
a020 75 72 73 69 76 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 69 65 73 20 28 66 2d 2d 63 6f ursive."...(let.((entries.(f--co
a040 6c 6c 65 63 74 2d 65 6e 74 72 69 65 73 20 70 61 74 68 20 72 65 63 75 72 73 69 76 65 29 29 29 0a llect-entries.path.recursive))).
a060 20 20 20 20 28 69 66 20 66 6e 20 28 2d 73 65 6c 65 63 74 20 66 6e 20 65 6e 74 72 69 65 73 29 20 ....(if.fn.(-select.fn.entries).
a080 65 6e 74 72 69 65 73 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 2d 64 69 72 65 63 74 6f entries)))..(defmacro.f--directo
a0a0 72 69 65 73 20 28 70 61 74 68 20 62 6f 64 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 63 75 72 73 ries.(path.body.&optional.recurs
a0c0 69 76 65 29 0a 20 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 66 2d ive)..."Anaphoric.version.of.`f-
a0e0 64 69 72 65 63 74 6f 72 69 65 73 27 2e 22 0a 20 20 60 28 66 2d 64 69 72 65 63 74 6f 72 69 65 73 directories'."...`(f-directories
a100 0a 20 20 20 20 2c 70 61 74 68 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 0a 20 20 .....,path.....(lambda.(path)...
a120 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 2c 62 6f ....(let.((it.path)).........,bo
a140 64 79 29 29 0a 20 20 20 20 2c 72 65 63 75 72 73 69 76 65 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d dy)).....,recursive))..(defun.f-
a160 64 69 72 65 63 74 6f 72 69 65 73 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6e 20 72 directories.(path.&optional.fn.r
a180 65 63 75 72 73 69 76 65 29 0a 20 20 22 46 69 6e 64 20 61 6c 6c 20 64 69 72 65 63 74 6f 72 69 65 ecursive)..."Find.all.directorie
a1a0 73 20 69 6e 20 50 41 54 48 2e 20 20 53 65 65 20 60 66 2d 65 6e 74 72 69 65 73 27 2e 22 0a 20 20 s.in.PATH...See.`f-entries'."...
a1c0 28 6c 65 74 20 28 28 64 69 72 65 63 74 6f 72 69 65 73 20 28 2d 73 65 6c 65 63 74 20 27 66 2d 64 (let.((directories.(-select.'f-d
a1e0 69 72 65 63 74 6f 72 79 2d 70 20 28 66 2d 2d 63 6f 6c 6c 65 63 74 2d 65 6e 74 72 69 65 73 20 70 irectory-p.(f--collect-entries.p
a200 61 74 68 20 72 65 63 75 72 73 69 76 65 29 29 29 29 0a 20 20 20 20 28 69 66 20 66 6e 20 28 2d 73 ath.recursive)))).....(if.fn.(-s
a220 65 6c 65 63 74 20 66 6e 20 64 69 72 65 63 74 6f 72 69 65 73 29 20 64 69 72 65 63 74 6f 72 69 65 elect.fn.directories).directorie
a240 73 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 2d 66 69 6c 65 73 20 28 70 61 74 68 20 62 s)))..(defmacro.f--files.(path.b
a260 6f 64 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 63 75 72 73 69 76 65 29 0a 20 20 22 41 6e 61 70 ody.&optional.recursive)..."Anap
a280 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 66 2d 66 69 6c 65 73 27 2e 22 0a 20 20 60 horic.version.of.`f-files'."...`
a2a0 28 66 2d 66 69 6c 65 73 0a 20 20 20 20 2c 70 61 74 68 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 (f-files.....,path.....(lambda.(
a2c0 70 61 74 68 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 74 20 70 61 74 68 29 29 0a 20 20 20 path).......(let.((it.path))....
a2e0 20 20 20 20 20 2c 62 6f 64 79 29 29 0a 20 20 20 20 2c 72 65 63 75 72 73 69 76 65 29 29 0a 0a 28 .....,body)).....,recursive))..(
a300 64 65 66 75 6e 20 66 2d 66 69 6c 65 73 20 28 70 61 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6e defun.f-files.(path.&optional.fn
a320 20 72 65 63 75 72 73 69 76 65 29 0a 20 20 22 46 69 6e 64 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e .recursive)..."Find.all.files.in
a340 20 50 41 54 48 2e 20 20 53 65 65 20 60 66 2d 65 6e 74 72 69 65 73 27 2e 22 0a 20 20 28 6c 65 74 .PATH...See.`f-entries'."...(let
a360 20 28 28 66 69 6c 65 73 20 28 2d 73 65 6c 65 63 74 20 27 66 2d 66 69 6c 65 2d 70 20 28 66 2d 2d .((files.(-select.'f-file-p.(f--
a380 63 6f 6c 6c 65 63 74 2d 65 6e 74 72 69 65 73 20 70 61 74 68 20 72 65 63 75 72 73 69 76 65 29 29 collect-entries.path.recursive))
a3a0 29 29 0a 20 20 20 20 28 69 66 20 66 6e 20 28 2d 73 65 6c 65 63 74 20 66 6e 20 66 69 6c 65 73 29 )).....(if.fn.(-select.fn.files)
a3c0 20 66 69 6c 65 73 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 2d 74 72 61 76 65 72 73 65 .files)))..(defmacro.f--traverse
a3e0 2d 75 70 77 61 72 64 73 20 28 62 6f 64 79 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 29 0a 20 -upwards.(body.&optional.path)..
a400 20 22 41 6e 61 70 68 6f 72 69 63 20 76 65 72 73 69 6f 6e 20 6f 66 20 60 66 2d 74 72 61 76 65 72 ."Anaphoric.version.of.`f-traver
a420 73 65 2d 75 70 77 61 72 64 73 27 2e 22 0a 20 20 60 28 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77 se-upwards'."...`(f-traverse-upw
a440 61 72 64 73 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 64 69 72 29 0a 20 20 20 20 20 20 28 6c 65 ards.....(lambda.(dir).......(le
a460 74 20 28 28 69 74 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 2c 62 6f 64 79 29 29 0a 20 20 20 t.((it.dir)).........,body))....
a480 20 2c 70 61 74 68 29 29 0a 0a 28 64 65 66 75 6e 20 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77 61 .,path))..(defun.f-traverse-upwa
a4a0 72 64 73 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 74 68 29 0a 20 20 22 54 72 61 76 65 rds.(fn.&optional.path)..."Trave
a4c0 72 73 65 20 75 70 20 61 73 20 6c 6f 6e 67 20 61 73 20 46 4e 20 72 65 74 75 72 6e 20 6e 69 6c 2c rse.up.as.long.as.FN.return.nil,
a4e0 20 73 74 61 72 74 69 6e 67 20 61 74 20 50 41 54 48 2e 0a 0a 49 66 20 46 4e 20 72 65 74 75 72 6e .starting.at.PATH...If.FN.return
a500 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2c 20 74 68 65 20 70 61 74 68 20 73 65 6e 74 s.a.non-nil.value,.the.path.sent
a520 20 61 73 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 46 4e 20 69 73 0a 72 65 74 75 72 6e 65 64 2e 20 .as.argument.to.FN.is.returned..
a540 20 49 66 20 6e 6f 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 62 61 63 6b 20 72 65 74 75 72 6e 20 .If.no.function.callback.return.
a560 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 2c 20 6e 69 6c 20 69 73 0a 72 65 74 75 72 6e 65 64 a.non-nil.value,.nil.is.returned
a580 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 70 61 74 68 0a 20 20 20 20 28 73 65 74 71 20 70 61 74 68 ."...(unless.path.....(setq.path
a5a0 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 28 77 68 65 6e 20 28 66 2d .default-directory))...(when.(f-
a5c0 72 65 6c 61 74 69 76 65 2d 70 20 70 61 74 68 29 0a 20 20 20 20 28 73 65 74 71 20 70 61 74 68 20 relative-p.path).....(setq.path.
a5e0 28 66 2d 65 78 70 61 6e 64 20 70 61 74 68 29 29 29 0a 20 20 28 69 66 20 28 66 75 6e 63 61 6c 6c (f-expand.path)))...(if.(funcall
a600 20 66 6e 20 70 61 74 68 29 0a 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 20 28 75 6e 6c 65 73 73 .fn.path).......path.....(unless
a620 20 28 66 2d 72 6f 6f 74 2d 70 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 66 2d 74 72 61 76 65 72 .(f-root-p.path).......(f-traver
a640 73 65 2d 75 70 77 61 72 64 73 20 66 6e 20 28 66 2d 70 61 72 65 6e 74 20 70 61 74 68 29 29 29 29 se-upwards.fn.(f-parent.path))))
a660 29 0a 0a 28 64 65 66 75 6e 20 66 2d 72 6f 6f 74 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 61 62 )..(defun.f-root.()..."Return.ab
a680 73 6f 6c 75 74 65 20 72 6f 6f 74 2e 22 0a 20 20 28 66 2d 74 72 61 76 65 72 73 65 2d 75 70 77 61 solute.root."...(f-traverse-upwa
a6a0 72 64 73 20 27 66 2d 72 6f 6f 74 2d 70 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 2d 77 69 74 rds.'f-root-p))..(defmacro.f-wit
a6c0 68 2d 73 61 6e 64 62 6f 78 20 28 70 61 74 68 2d 6f 72 2d 70 61 74 68 73 20 26 72 65 73 74 20 62 h-sandbox.(path-or-paths.&rest.b
a6e0 6f 64 79 29 0a 20 20 22 4f 6e 6c 79 20 61 6c 6c 6f 77 20 50 41 54 48 2d 4f 52 2d 50 41 54 48 53 ody)..."Only.allow.PATH-OR-PATHS
a700 20 61 6e 64 20 64 65 73 63 65 6e 64 61 6e 74 73 20 74 6f 20 62 65 20 6d 6f 64 69 66 69 65 64 20 .and.descendants.to.be.modified.
a720 69 6e 20 42 4f 44 59 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 in.BODY."...(declare.(indent.1))
a740 0a 20 20 60 28 6c 65 74 20 28 28 70 61 74 68 73 20 28 69 66 20 28 6c 69 73 74 70 20 2c 70 61 74 ...`(let.((paths.(if.(listp.,pat
a760 68 2d 6f 72 2d 70 61 74 68 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-or-paths).....................
a780 2c 70 61 74 68 2d 6f 72 2d 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,path-or-paths..................
a7a0 20 28 6c 69 73 74 20 2c 70 61 74 68 2d 6f 72 2d 70 61 74 68 73 29 29 29 29 0a 20 20 20 20 20 28 .(list.,path-or-paths))))......(
a7c0 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 unwind-protect..........(let.((f
a7e0 2d 2d 67 75 61 72 64 2d 70 61 74 68 73 20 70 61 74 68 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 --guard-paths.paths))...........
a800 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 66 2d 2d 67 75 61 72 64 2d 70 .,@body)........(setq.f--guard-p
a820 61 74 68 73 20 6e 69 6c 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 66 29 0a 0a 3b 3b 3b 20 aths.nil))))..(provide.'f)..;;;.
a840 66 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 f.el.ends.here..................
a860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
a9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aa80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ac80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ae80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
aee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
af80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
be80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................