| ofs | hex dump | ascii | 
|---|
| 0000 |  66 61 6b 69 72 2d 32 30 31 34 30 37 32 39 2e 31    36 35 32 2f 00 00 00 00 00 00 00 00 00 00 00 00  | fakir-20140729.1652/............ | 
| 0020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0060 |  00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30    30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30  | ....0000755.0000000.0000000.0000 | 
| 0080 |  30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 32 31 31 33 00 20 35 00 00 00  | 0000000.00000000000.012113..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 61 6b 69 72 2d 32 30 31 34 30 37 32 39 2e 31    36 35 32 2f 66 61 6b 69 72 2d 70 6b 67 2e 65 6c  | fakir-20140729.1652/fakir-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 30 37 31 36 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 34 33 31 34 00 20 30 00 00 00  | 0000716.00000000000.014314..0... | 
| 02a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 02e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0300 |  00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .ustar...root................... | 
| 0320 |  00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | .........root................... | 
| 0340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 03e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0400 |  3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63    6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63  | ;;.-*-.no-byte-compile:.t;.lexic | 
| 0420 |  61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20    2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b  | al-binding:.nil.-*-.(define-pack | 
| 0440 |  61 67 65 20 22 66 61 6b 69 72 22 20 22 32 30 31    34 30 37 32 39 2e 31 36 35 32 22 0a 20 20 22 46  | age."fakir"."20140729.1652"..."F | 
| 0460 |  61 6b 65 69 6e 67 20 62 69 74 73 20 6f 66 20 45    6d 61 63 73 2e 22 0a 20 20 27 28 28 6e 6f 66 6c  | akeing.bits.of.Emacs."...'((nofl | 
| 0480 |  65 74 20 22 30 2e 30 2e 38 22 29 0a 20 20 20 20    28 64 61 73 68 20 20 20 22 31 2e 33 2e 32 22 29  | et."0.0.8").....(dash..."1.3.2") | 
| 04a0 |  0a 20 20 20 20 28 6b 76 20 20 20 20 20 22 30 2e    30 2e 31 39 22 29 29 0a 20 20 3a 75 72 6c 20 22  | .....(kv....."0.0.19"))...:url." | 
| 04c0 |  68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e 63 6f    6d 2f 6e 69 63 66 65 72 72 69 65 72 2f 65 6d 61  | http://github.com/nicferrier/ema | 
| 04e0 |  63 73 2d 66 61 6b 69 72 22 0a 20 20 3a 63 6f 6d    6d 69 74 20 22 31 66 63 61 34 30 36 61 64 37 64  | cs-fakir"...:commit."1fca406ad7d | 
| 0500 |  65 38 30 66 65 63 65 36 33 31 39 66 66 37 35 64    34 32 33 30 62 36 34 38 35 33 34 62 30 22 0a 20  | e80fece6319ff75d4230b648534b0".. | 
| 0520 |  20 3a 72 65 76 64 65 73 63 20 22 31 66 63 61 34    30 36 61 64 37 64 65 22 0a 20 20 3a 6b 65 79 77  | .:revdesc."1fca406ad7de"...:keyw | 
| 0540 |  6f 72 64 73 20 27 28 22 6c 69 73 70 22 20 22 74    6f 6f 6c 73 22 29 0a 20 20 3a 61 75 74 68 6f 72  | ords.'("lisp"."tools")...:author | 
| 0560 |  73 20 27 28 28 22 4e 69 63 20 46 65 72 72 69 65    72 22 20 2e 20 22 6e 66 65 72 72 69 65 72 40 66  | s.'(("Nic.Ferrier"..."nferrier@f | 
| 0580 |  65 72 72 69 65 72 2e 6d 65 2e 75 6b 22 29 29 0a    20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 73 20 27  | errier.me.uk"))...:maintainers.' | 
| 05a0 |  28 28 22 4e 69 63 20 46 65 72 72 69 65 72 22 20    2e 20 22 6e 66 65 72 72 69 65 72 40 66 65 72 72  | (("Nic.Ferrier"..."nferrier@ferr | 
| 05c0 |  69 65 72 2e 6d 65 2e 75 6b 22 29 29 29 0a 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ier.me.uk")))................... | 
| 05e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 0600 |  66 61 6b 69 72 2d 32 30 31 34 30 37 32 39 2e 31    36 35 32 2f 66 61 6b 69 72 2e 65 6c 00 00 00 00  | fakir-20140729.1652/fakir.el.... | 
| 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 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 | 
| 0680 |  30 30 36 32 30 34 37 00 30 30 30 30 30 30 30 30    30 30 30 00 30 31 33 35 34 32 00 20 30 00 00 00  | 0062047.00000000000.013542..0... | 
| 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 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................... | 
| 0720 |  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................... | 
| 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 |  3b 3b 3b 20 66 61 6b 69 72 2e 65 6c 20 2d 2d 2d    20 66 61 6b 65 69 6e 67 20 62 69 74 73 20 6f 66  | ;;;.fakir.el.---.fakeing.bits.of | 
| 0820 |  20 45 6d 61 63 73 20 2d 2a 2d 20 6c 65 78 69 63    61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 20 2d 2a  | .Emacs.-*-.lexical-binding:.t.-* | 
| 0840 |  2d 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28    43 29 20 32 30 31 32 20 20 4e 69 63 20 46 65 72  | -.;;.Copyright.(C).2012..Nic.Fer | 
| 0860 |  72 69 65 72 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a    20 4e 69 63 20 46 65 72 72 69 65 72 20 3c 6e 66  | rier..;;.Author:.Nic.Ferrier.<nf | 
| 0880 |  65 72 72 69 65 72 40 66 65 72 72 69 65 72 2e 6d    65 2e 75 6b 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69  | errier@ferrier.me.uk>.;;.Maintai | 
| 08a0 |  6e 65 72 3a 20 4e 69 63 20 46 65 72 72 69 65 72    20 3c 6e 66 65 72 72 69 65 72 40 66 65 72 72 69  | ner:.Nic.Ferrier.<nferrier@ferri | 
| 08c0 |  65 72 2e 6d 65 2e 75 6b 3e 0a 3b 3b 20 55 52 4c    3a 20 68 74 74 70 3a 2f 2f 67 69 74 68 75 62 2e  | er.me.uk>.;;.URL:.http://github. | 
| 08e0 |  63 6f 6d 2f 6e 69 63 66 65 72 72 69 65 72 2f 65    6d 61 63 73 2d 66 61 6b 69 72 0a 3b 3b 20 43 72  | com/nicferrier/emacs-fakir.;;.Cr | 
| 0900 |  65 61 74 65 64 3a 20 31 37 74 68 20 4d 61 72 63    68 20 32 30 31 32 0a 3b 3b 20 50 61 63 6b 61 67  | eated:.17th.March.2012.;;.Packag | 
| 0920 |  65 2d 56 65 72 73 69 6f 6e 3a 20 32 30 31 34 30    37 32 39 2e 31 36 35 32 0a 3b 3b 20 50 61 63 6b  | e-Version:.20140729.1652.;;.Pack | 
| 0940 |  61 67 65 2d 52 65 76 69 73 69 6f 6e 3a 20 31 66    63 61 34 30 36 61 64 37 64 65 0a 3b 3b 20 4b 65  | age-Revision:.1fca406ad7de.;;.Ke | 
| 0960 |  79 77 6f 72 64 73 3a 20 6c 69 73 70 2c 20 74 6f    6f 6c 73 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52  | ywords:.lisp,.tools.;;.Package-R | 
| 0980 |  65 71 75 69 72 65 73 3a 20 28 28 6e 6f 66 6c 65    74 20 22 30 2e 30 2e 38 22 29 28 64 61 73 68 20  | equires:.((noflet."0.0.8")(dash. | 
| 09a0 |  22 31 2e 33 2e 32 22 29 28 6b 76 20 22 30 2e 30    2e 31 39 22 29 29 0a 0a 3b 3b 20 54 68 69 73 20  | "1.3.2")(kv."0.0.19"))..;;.This. | 
| 09c0 |  66 69 6c 65 20 69 73 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  | file.is.NOT.part.of.GNU.Emacs... | 
| 09e0 |  3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20    69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65  | ;;.This.program.is.free.software | 
| 0a00 |  3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74    72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72  | ;.you.can.redistribute.it.and/or | 
| 0a20 |  20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e    64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66  | .modify.;;.it.under.the.terms.of | 
| 0a40 |  20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c    20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20  | .the.GNU.General.Public.License. | 
| 0a60 |  61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a    3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74  | as.published.by.;;.the.Free.Soft | 
| 0a80 |  77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c    20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20  | ware.Foundation,.either.version. | 
| 0aa0 |  33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65    2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72  | 3.of.the.License,.or.;;.(at.your | 
| 0ac0 |  20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74    65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20  | .option).any.later.version...;;. | 
| 0ae0 |  54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20    64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74  | This.program.is.distributed.in.t | 
| 0b00 |  68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20    77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a  | he.hope.that.it.will.be.useful,. | 
| 0b20 |  3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41    4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74  | ;;.but.WITHOUT.ANY.WARRANTY;.wit | 
| 0b40 |  68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d    70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f  | hout.even.the.implied.warranty.o | 
| 0b60 |  66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49    4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20  | f.;;.MERCHANTABILITY.or.FITNESS. | 
| 0b80 |  46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52    20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74  | FOR.A.PARTICULAR.PURPOSE...See.t | 
| 0ba0 |  68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61    6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65  | he.;;.GNU.General.Public.License | 
| 0bc0 |  20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c    73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c  | .for.more.details...;;.You.shoul | 
| 0be0 |  64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20    61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e  | d.have.received.a.copy.of.the.GN | 
| 0c00 |  55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63    20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e  | U.General.Public.License.;;.alon | 
| 0c20 |  67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67    72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65  | g.with.this.program...If.not,.se | 
| 0c40 |  65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e    75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e  | e.<http://www.gnu.org/licenses/> | 
| 0c60 |  2e 0a 0a 3b 3b 3b 20 53 6f 75 72 63 65 20 63 6f    64 65 0a 3b 3b 0a 3b 3b 20 66 61 6b 69 72 27 73  | ...;;;.Source.code.;;.;;.fakir's | 
| 0c80 |  20 63 6f 64 65 20 63 61 6e 20 62 65 20 66 6f 75    6e 64 20 68 65 72 65 3a 0a 3b 3b 20 20 20 68 74  | .code.can.be.found.here:.;;...ht | 
| 0ca0 |  74 70 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f    6e 69 63 66 65 72 72 69 65 72 2f 66 61 6b 69 72  | tp://github.com/nicferrier/fakir | 
| 0cc0 |  0a 0a 3b 3b 3b 20 53 74 79 6c 65 20 6e 6f 74 65    0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 63 6f 64 65  | ..;;;.Style.note.;;.;;.This.code | 
| 0ce0 |  73 20 75 73 65 73 20 74 68 65 20 45 6d 61 63 73    20 73 74 79 6c 65 20 6f 66 3a 0a 3b 3b 0a 3b 3b  | s.uses.the.Emacs.style.of:.;;.;; | 
| 0d00 |  20 20 20 20 66 61 6b 69 72 2d 2d 70 72 69 76 61    74 65 2d 66 75 6e 63 74 69 6f 6e 0a 3b 3b 0a 3b  | ....fakir--private-function.;;.; | 
| 0d20 |  3b 20 66 6f 72 20 70 72 69 76 61 74 65 20 66 75    6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72  | ;.for.private.functions.and.macr | 
| 0d40 |  6f 73 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74    61 72 79 3a 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20  | os...;;;.Commentary:.;;.;;.This. | 
| 0d60 |  69 73 20 61 20 63 6f 6c 6c 65 63 74 69 6f 6e 20    6f 66 20 74 6f 6f 6c 73 20 74 6f 20 6d 61 6b 65  | is.a.collection.of.tools.to.make | 
| 0d80 |  20 74 65 73 74 69 6e 67 20 45 6d 61 63 73 20 63    6f 72 65 20 66 75 6e 63 74 69 6f 6e 73 0a 3b 3b  | .testing.Emacs.core.functions.;; | 
| 0da0 |  20 65 61 73 69 65 72 2e 0a 0a 3b 3b 3b 20 43 6f    64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 65  | .easier...;;;.Code:..(require.'e | 
| 0dc0 |  72 74 29 0a 28 72 65 71 75 69 72 65 20 27 64 61    73 68 29 0a 28 72 65 71 75 69 72 65 20 27 6e 6f  | rt).(require.'dash).(require.'no | 
| 0de0 |  66 6c 65 74 29 0a 28 72 65 71 75 69 72 65 20 27    6b 76 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63  | flet).(require.'kv).(eval-when-c | 
| 0e00 |  6f 6d 70 69 6c 65 20 28 72 65 71 75 69 72 65 20    27 63 6c 29 29 0a 0a 0a 28 64 65 66 75 6e 20 66  | ompile.(require.'cl))...(defun.f | 
| 0e20 |  61 6b 69 72 2d 6d 61 6b 65 2d 75 6e 69 78 2d 73    6f 63 6b 65 74 20 28 26 6f 70 74 69 6f 6e 61 6c  | akir-make-unix-socket.(&optional | 
| 0e40 |  20 6e 61 6d 65 29 0a 20 20 22 4d 61 6b 65 20 61    20 75 6e 69 78 20 73 6f 63 6b 65 74 20 73 65 72  | .name)..."Make.a.unix.socket.ser | 
| 0e60 |  76 65 72 20 70 72 6f 63 65 73 73 20 6f 70 74 69    6f 6e 61 6c 6c 79 20 62 61 73 65 64 20 6f 6e 20  | ver.process.optionally.based.on. | 
| 0e80 |  4e 41 4d 45 2e 0a 0a 52 65 74 75 72 6e 73 20 61    20 6c 69 73 74 20 6f 66 20 74 68 65 20 70 72 6f  | NAME...Returns.a.list.of.the.pro | 
| 0ea0 |  63 65 73 73 65 73 20 73 6f 63 6b 65 74 20 66 69    6c 65 20 61 6e 64 20 74 68 65 20 70 72 6f 63 65  | cesses.socket.file.and.the.proce | 
| 0ec0 |  73 73 20 6f 62 6a 65 63 74 2e 22 0a 20 20 28 6c    65 74 2a 20 28 28 73 6f 63 6b 65 74 2d 66 69 6c  | ss.object."...(let*.((socket-fil | 
| 0ee0 |  65 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e    63 61 74 20 22 2f 74 6d 70 2f 22 20 28 61 70 70  | e...........(concat."/tmp/".(app | 
| 0f00 |  6c 79 20 27 6d 61 6b 65 2d 74 65 6d 70 2d 6e 61    6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ly.'make-temp-name.............. | 
| 0f20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 6c 69 73 74 20 28 6f 72 20 6e 61  | ....................(list.(or.na | 
| 0f40 |  6d 65 20 22 66 61 6b 69 72 2d 6d 61 6b 65 2d 75    6e 69 78 2d 73 6f 63 6b 65 74 22 29 29 29 29 29  | me."fakir-make-unix-socket"))))) | 
| 0f60 |  0a 20 20 20 20 20 20 20 20 20 28 6d 79 70 72 6f    63 20 28 6d 61 6b 65 2d 6e 65 74 77 6f 72 6b 2d  | ..........(myproc.(make-network- | 
| 0f80 |  70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 3a 6e 61 6d 65 20  | process...................:name. | 
| 0fa0 |  73 6f 63 6b 65 74 2d 66 69 6c 65 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66  | socket-file...................:f | 
| 0fc0 |  61 6d 69 6c 79 20 27 6c 6f 63 61 6c 20 3a 73 65    72 76 65 72 20 74 0a 20 20 20 20 20 20 20 20 20  | amily.'local.:server.t.......... | 
| 0fe0 |  20 20 20 20 20 20 20 20 20 3a 73 65 72 76 69 63    65 20 73 6f 63 6b 65 74 2d 66 69 6c 65 29 29 29  | .........:service.socket-file))) | 
| 1000 |  0a 20 20 20 20 28 6c 69 73 74 20 73 6f 63 6b 65    74 2d 66 69 6c 65 20 6d 79 70 72 6f 63 29 29 29  | .....(list.socket-file.myproc))) | 
| 1020 |  0a 0a 28 64 65 66 6d 61 63 72 6f 2a 20 66 61 6b    69 72 2d 77 69 74 68 2d 75 6e 69 78 2d 73 6f 63  | ..(defmacro*.fakir-with-unix-soc | 
| 1040 |  6b 65 74 20 28 28 73 6f 63 6b 65 74 2d 73 79 6d    20 26 6f 70 74 69 6f 6e 61 6c 20 73 6f 63 6b 65  | ket.((socket-sym.&optional.socke | 
| 1060 |  74 2d 6e 61 6d 65 29 20 26 72 65 73 74 20 62 6f    64 79 29 0a 20 20 22 45 78 65 63 75 74 65 20 42  | t-name).&rest.body)..."Execute.B | 
| 1080 |  4f 44 59 20 77 69 74 68 20 61 20 55 6e 69 78 20    73 6f 63 6b 65 74 20 73 65 72 76 65 72 20 62 6f  | ODY.with.a.Unix.socket.server.bo | 
| 10a0 |  75 6e 64 20 74 6f 20 53 4f 43 4b 45 54 2d 53 59    4d 2e 0a 0a 4f 70 74 69 6f 6e 61 6c 6c 79 20 74  | und.to.SOCKET-SYM...Optionally.t | 
| 10c0 |  68 65 20 73 6f 63 6b 65 74 20 69 73 20 63 72 65    61 74 65 64 20 77 69 74 68 20 53 4f 43 4b 45 54  | he.socket.is.created.with.SOCKET | 
| 10e0 |  2d 4e 41 4d 45 20 77 68 69 63 68 20 6d 65 61 6e    73 0a 74 68 61 74 20 74 68 65 20 66 69 6c 65 20  | -NAME.which.means.that.the.file. | 
| 1100 |  75 73 65 64 20 74 6f 20 62 61 63 6b 20 74 68 65    20 73 6f 63 6b 65 74 20 69 73 20 6e 61 6d 65 64  | used.to.back.the.socket.is.named | 
| 1120 |  20 61 66 74 65 72 20 53 4f 43 4b 45 54 2d 4e 41    4d 45 2e 0a 0a 54 68 65 20 73 6f 63 6b 65 74 20  | .after.SOCKET-NAME...The.socket. | 
| 1140 |  70 72 6f 63 65 73 73 20 69 73 20 63 6c 6f 73 65    64 20 6f 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 20  | process.is.closed.on.completion. | 
| 1160 |  61 6e 64 20 74 68 65 20 61 73 73 6f 63 69 61 74    65 64 0a 66 69 6c 65 20 69 73 20 64 65 6c 65 74  | and.the.associated.file.is.delet | 
| 1180 |  65 64 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 0a 20 20 28 6c  | ed."...(declare.(indent.1))...(l | 
| 11a0 |  65 74 20 28 28 73 70 76 20 28 6d 61 6b 65 2d 73    79 6d 62 6f 6c 20 22 73 70 76 22 29 29 0a 20 20  | et.((spv.(make-symbol."spv"))... | 
| 11c0 |  20 20 20 20 20 20 28 73 6f 63 6b 66 69 6c 65 76    20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73  | ......(sockfilev.(make-symbol."s | 
| 11e0 |  6f 63 6b 66 69 6c 65 76 22 29 29 29 0a 20 20 20    20 60 28 6c 65 74 2a 20 28 28 2c 73 70 76 20 28  | ockfilev"))).....`(let*.((,spv.( | 
| 1200 |  66 61 6b 69 72 2d 6d 61 6b 65 2d 75 6e 69 78 2d    73 6f 63 6b 65 74 20 2c 73 6f 63 6b 65 74 2d 6e  | fakir-make-unix-socket.,socket-n | 
| 1220 |  61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 28 2c 73 6f 63 6b 66 69 6c 65 76 20 28 63  | ame)).............(,sockfilev.(c | 
| 1240 |  61 72 20 2c 73 70 76 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 2c 73 6f 63 6b 65 74 2d 73  | ar.,spv)).............(,socket-s | 
| 1260 |  79 6d 20 28 63 61 64 72 20 2c 73 70 76 29 29 29    0a 20 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d  | ym.(cadr.,spv)))........(unwind- | 
| 1280 |  70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20  | protect.............(progn...... | 
| 12a0 |  20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29    0a 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74  | .........,@body)..........(delet | 
| 12c0 |  65 2d 70 72 6f 63 65 73 73 20 2c 73 6f 63 6b 65    74 2d 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20  | e-process.,socket-sym).......... | 
| 12e0 |  28 64 65 6c 65 74 65 2d 66 69 6c 65 20 2c 73 6f    63 6b 66 69 6c 65 76 29 29 29 29 29 0a 0a 28 64  | (delete-file.,sockfilev)))))..(d | 
| 1300 |  65 66 6d 61 63 72 6f 20 66 61 6b 69 72 2d 77 69    74 68 2d 66 69 6c 65 2d 62 75 66 66 65 72 20 28  | efmacro.fakir-with-file-buffer.( | 
| 1320 |  62 75 66 66 65 72 2d 76 61 72 20 26 72 65 73 74    20 62 6f 64 79 29 0a 20 20 22 4d 61 6b 65 20 61  | buffer-var.&rest.body)..."Make.a | 
| 1340 |  20 62 75 66 66 65 72 20 76 69 73 69 74 69 6e 67    20 61 20 66 69 6c 65 20 61 6e 64 20 61 73 73 69  | .buffer.visiting.a.file.and.assi | 
| 1360 |  67 6e 20 69 74 20 74 6f 20 42 55 46 46 45 52 2d    56 41 52 2e 0a 0a 54 68 65 20 66 69 6c 65 20 6f  | gn.it.to.BUFFER-VAR...The.file.o | 
| 1380 |  6e 6c 79 20 65 78 69 73 74 73 20 66 6f 72 20 74    68 65 20 73 63 6f 70 65 20 6f 66 20 74 68 65 20  | nly.exists.for.the.scope.of.the. | 
| 13a0 |  6d 61 63 72 6f 2e 20 20 42 6f 74 68 20 74 68 65    20 66 69 6c 65 0a 61 6e 64 20 74 68 65 20 62 75  | macro...Both.the.file.and.the.bu | 
| 13c0 |  66 66 65 72 20 76 69 73 69 74 69 6e 67 20 69 74    20 61 72 65 20 64 65 73 74 72 6f 79 65 64 20 77  | ffer.visiting.it.are.destroyed.w | 
| 13e0 |  68 65 6e 20 74 68 65 20 73 63 6f 70 65 20 65 78    69 74 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65  | hen.the.scope.exits."...(declare | 
| 1400 |  20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28    6c 65 74 20 28 28 66 69 6c 65 76 20 28 6d 61 6b  | .(indent.1))...(let.((filev.(mak | 
| 1420 |  65 2d 73 79 6d 62 6f 6c 20 22 66 69 6c 65 76 22    29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 28  | e-symbol."filev"))).....`(let*.( | 
| 1440 |  28 2c 66 69 6c 65 76 20 28 6d 61 6b 65 2d 74 65    6d 70 2d 66 69 6c 65 20 20 22 66 69 6c 65 62 75  | (,filev.(make-temp-file.."filebu | 
| 1460 |  66 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 28 2c 62 75 66 66 65 72 2d 76 61 72 20 28 66  | f")).............(,buffer-var.(f | 
| 1480 |  69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63    74 20 2c 66 69 6c 65 76 29 29 29 0a 20 20 20 20  | ind-file-noselect.,filev)))..... | 
| 14a0 |  20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65    63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | ...(unwind-protect.............( | 
| 14c0 |  70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 0a 20 20    20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72  | progn.,@body)..........(with-cur | 
| 14e0 |  72 65 6e 74 2d 62 75 66 66 65 72 20 2c 62 75 66    66 65 72 2d 76 61 72 0a 20 20 20 20 20 20 20 20  | rent-buffer.,buffer-var......... | 
| 1500 |  20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d    6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 29 0a  | ...(set-buffer-modified-p.nil)). | 
| 1520 |  20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62    75 66 66 65 72 20 2c 62 75 66 66 65 72 2d 76 61  | .........(kill-buffer.,buffer-va | 
| 1540 |  72 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 6c    65 74 65 2d 66 69 6c 65 20 2c 66 69 6c 65 76 29  | r)..........(delete-file.,filev) | 
| 1560 |  29 29 29 29 0a 0a 3b 3b 20 4d 6f 63 6b 69 6e 67    20 70 72 6f 63 65 73 73 65 73 0a 0a 28 64 65 66  | ))))..;;.Mocking.processes..(def | 
| 1580 |  76 61 72 20 66 61 6b 69 72 2d 6d 6f 63 6b 2d 70    72 6f 63 65 73 73 2d 72 65 71 75 69 72 65 2d 73  | var.fakir-mock-process-require-s | 
| 15a0 |  70 65 63 69 66 69 65 64 2d 62 75 66 66 65 72 20    6e 69 6c 0a 20 20 22 54 65 6c 6c 20 60 66 61 6b  | pecified-buffer.nil..."Tell.`fak | 
| 15c0 |  69 72 2d 6d 6f 63 6b 2d 70 72 6f 63 65 73 73 27    20 74 68 61 74 20 79 6f 75 20 72 65 71 75 69 72  | ir-mock-process'.that.you.requir | 
| 15e0 |  65 20 61 20 62 75 66 66 65 72 20 74 6f 20 62 65    20 73 65 74 2e 0a 0a 54 68 69 73 20 69 73 20 75  | e.a.buffer.to.be.set...This.is.u | 
| 1600 |  73 65 64 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65    2c 20 74 6f 20 6d 61 6b 65 20 60 65 6c 6e 6f 64  | sed,.for.example,.to.make.`elnod | 
| 1620 |  65 2d 2d 66 69 6c 74 65 72 27 20 74 65 73 74 69    6e 67 20 77 6f 72 6b 0a 70 72 6f 70 65 72 6c 79  | e--filter'.testing.work.properly | 
| 1640 |  2e 20 4e 6f 72 6d 61 6c 6c 79 2c 20 74 65 73 74    73 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f  | ..Normally,.tests.do.not.need.to | 
| 1660 |  20 73 65 74 20 74 68 65 20 70 72 6f 63 65 73 73    2d 62 75 66 66 65 72 0a 64 69 72 65 63 74 6c 79  | .set.the.process-buffer.directly | 
| 1680 |  2c 20 74 68 65 79 20 63 61 6e 20 6a 75 73 74 20    65 78 70 65 63 74 20 69 74 20 74 6f 20 62 65 20  | ,.they.can.just.expect.it.to.be. | 
| 16a0 |  74 68 65 72 65 2e 20 60 65 6c 6e 6f 64 65 2d 2d    66 69 6c 74 65 72 27 2c 0a 74 68 6f 75 67 68 2c  | there..`elnode--filter',.though, | 
| 16c0 |  20 6e 65 65 64 73 20 74 6f 20 73 65 74 20 74 68    65 20 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72  | .needs.to.set.the.process-buffer | 
| 16e0 |  20 74 6f 20 77 6f 72 6b 20 70 72 6f 70 65 72 6c    79 2e 22 29 0a 0a 0a 28 64 65 66 75 6e 20 66 61  | .to.work.properly.")...(defun.fa | 
| 1700 |  6b 69 72 2f 6d 61 6b 65 2d 68 61 73 68 2d 74 61    62 6c 65 20 28 61 6c 69 73 74 29 20 3b 20 70 6f  | kir/make-hash-table.(alist).;.po | 
| 1720 |  73 73 69 62 6c 65 20 72 65 64 75 6e 64 61 6e 74    20 6e 6f 77 2e 0a 20 20 22 4d 61 6b 65 20 61 20  | ssible.redundant.now...."Make.a. | 
| 1740 |  68 61 73 68 20 74 61 62 6c 65 20 66 72 6f 6d 20    74 68 65 20 41 4c 49 53 54 2e 0a 0a 54 68 65 20  | hash.table.from.the.ALIST...The. | 
| 1760 |  41 4c 49 53 54 20 6c 6f 6f 6b 73 20 6c 69 6b 65    20 61 20 6c 65 74 2d 6c 69 73 74 2e 22 0a 20 20  | ALIST.looks.like.a.let-list."... | 
| 1780 |  28 6c 65 74 20 28 28 62 69 6e 64 69 6e 67 73 20    28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65  | (let.((bindings.(make-hash-table | 
| 17a0 |  20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 29 29    0a 20 20 20 20 28 6c 6f 6f 70 20 66 6f 72 20 66  | .:test.'equal))).....(loop.for.f | 
| 17c0 |  20 69 6e 20 28 61 70 70 65 6e 64 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .in.(append..................... | 
| 17e0 |  28 6c 69 73 74 20 28 6c 69 73 74 20 3a 66 61 6b    69 72 2d 6d 6f 63 6b 2d 70 72 6f 63 65 73 73 20  | (list.(list.:fakir-mock-process. | 
| 1800 |  74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 61 6c 69 73 74 29 0a 20  | t)).....................alist).. | 
| 1820 |  20 20 20 20 20 20 64 6f 0a 20 20 20 20 20 20 20    20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20  | ......do..........(cond......... | 
| 1840 |  20 20 20 28 28 61 6e 64 20 66 20 28 6c 69 73 74    70 20 66 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ...((and.f.(listp.f))........... | 
| 1860 |  20 20 28 70 75 74 68 61 73 68 20 28 63 61 72 20    66 29 20 28 63 61 64 72 20 66 29 20 62 69 6e 64  | ..(puthash.(car.f).(cadr.f).bind | 
| 1880 |  69 6e 67 73 29 29 0a 20 20 20 20 20 20 20 20 20    20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20  | ings))............(t............ | 
| 18a0 |  20 28 70 75 74 68 61 73 68 20 66 20 6e 69 6c 20    62 69 6e 64 69 6e 67 73 29 29 29 29 0a 20 20 20  | .(puthash.f.nil.bindings)))).... | 
| 18c0 |  20 62 69 6e 64 69 6e 67 73 29 29 0a 0a 28 64 65    66 75 6e 20 66 61 6b 69 72 2f 67 65 74 2d 6f 72  | .bindings))..(defun.fakir/get-or | 
| 18e0 |  2d 63 72 65 61 74 65 2d 62 75 66 20 28 70 76 62    75 66 20 70 76 2d 61 6c 69 73 74 20 26 6f 70 74  | -create-buf.(pvbuf.pv-alist.&opt | 
| 1900 |  69 6f 6e 61 6c 20 73 70 65 63 69 66 69 65 64 2d    62 75 66 29 0a 20 20 22 53 70 65 63 69 61 6c 20  | ional.specified-buf)..."Special. | 
| 1920 |  67 65 74 20 6f 72 20 63 72 65 61 74 65 20 74 6f    20 73 75 70 70 6f 72 74 20 74 68 65 20 70 72 6f  | get.or.create.to.support.the.pro | 
| 1940 |  63 65 73 73 20 6d 6f 63 6b 69 6e 67 2e 0a 0a 50    56 42 55 46 20 69 73 20 61 2c 20 70 6f 73 73 69  | cess.mocking...PVBUF.is.a,.possi | 
| 1960 |  62 6c 79 20 65 78 69 73 74 69 6e 67 2c 20 62 75    66 66 65 72 20 72 65 66 65 72 65 6e 63 65 2e 20  | bly.existing,.buffer.reference.. | 
| 1980 |  20 49 66 20 6e 69 6c 20 74 68 65 6e 20 77 65 0a    63 72 65 61 74 65 20 74 68 65 20 62 75 66 66 65  | .If.nil.then.we.create.the.buffe | 
| 19a0 |  72 2e 0a 0a 50 56 2d 41 4c 49 53 54 20 69 73 20    61 6e 20 61 6c 69 73 74 20 6f 66 20 70 72 6f 70  | r...PV-ALIST.is.an.alist.of.prop | 
| 19c0 |  65 72 74 69 65 73 2c 20 70 6f 73 73 69 62 6c 79    20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 0a  | erties,.possibly.containing.the. | 
| 19e0 |  60 3a 62 75 66 66 65 72 27 20 70 72 6f 70 65 72    74 79 20 77 68 69 63 68 20 73 70 65 63 69 66 69  | `:buffer'.property.which.specifi | 
| 1a00 |  65 73 20 61 20 73 74 72 69 6e 67 20 74 6f 20 62    65 20 75 73 65 64 20 61 73 20 74 68 65 0a 63 6f  | es.a.string.to.be.used.as.the.co | 
| 1a20 |  6e 74 65 6e 74 20 6f 66 20 74 68 65 20 62 75 66    66 65 72 2e 0a 0a 53 50 45 43 49 46 49 45 44 2d  | ntent.of.the.buffer...SPECIFIED- | 
| 1a40 |  42 55 46 20 69 73 20 61 6e 20 6f 70 74 69 6f 6e    61 6c 20 62 75 66 66 65 72 20 74 6f 20 75 73 65  | BUF.is.an.optional.buffer.to.use | 
| 1a60 |  20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 64 75    6d 6d 79 0a 63 72 65 61 74 65 64 20 6f 6e 65 2e  | .instead.of.a.dummy.created.one. | 
| 1a80 |  22 0a 20 20 28 69 66 20 28 62 75 66 66 65 72 70    20 70 76 62 75 66 29 0a 20 20 20 20 20 20 70 76  | "...(if.(bufferp.pvbuf).......pv | 
| 1aa0 |  62 75 66 0a 20 20 20 20 28 73 65 74 71 20 70 76    62 75 66 0a 20 20 20 20 28 69 66 20 66 61 6b 69  | buf.....(setq.pvbuf.....(if.faki | 
| 1ac0 |  72 2d 6d 6f 63 6b 2d 70 72 6f 63 65 73 73 2d 72    65 71 75 69 72 65 2d 73 70 65 63 69 66 69 65 64  | r-mock-process-require-specified | 
| 1ae0 |  2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20    28 69 66 20 28 62 75 66 66 65 72 70 20 73 70 65  | -buffer.........(if.(bufferp.spe | 
| 1b00 |  63 69 66 69 65 64 2d 62 75 66 29 0a 20 20 20 20    20 20 73 70 65 63 69 66 69 65 64 2d 62 75 66 0a  | cified-buf).......specified-buf. | 
| 1b20 |  20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 28    6f 72 20 73 70 65 63 69 66 69 65 64 2d 62 75 66  | ....nil).......(or.specified-buf | 
| 1b40 |  0a 20 20 20 20 28 67 65 74 2d 62 75 66 66 65 72    2d 63 72 65 61 74 65 0a 20 20 20 20 20 28 67 65  | .....(get-buffer-create......(ge | 
| 1b60 |  6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65    72 2d 6e 61 6d 65 0a 20 20 20 20 20 20 22 2a 20  | nerate-new-buffer-name......."*. | 
| 1b80 |  66 61 6b 69 72 20 6d 6f 63 6b 20 70 72 6f 63 20    62 75 66 20 2a 22 29 29 29 29 29 0a 20 20 20 20  | fakir.mock.proc.buf.*")))))..... | 
| 1ba0 |  3b 3b 20 49 66 20 77 65 27 76 65 20 67 6f 74 20    61 20 62 75 66 66 65 72 20 76 61 6c 75 65 20 74  | ;;.If.we've.got.a.buffer.value.t | 
| 1bc0 |  68 65 6e 20 69 6e 73 65 72 74 20 69 74 2e 0a 20    20 20 20 28 77 68 65 6e 20 28 6b 76 61 20 3a 62  | hen.insert.it......(when.(kva.:b | 
| 1be0 |  75 66 66 65 72 20 70 76 2d 61 6c 69 73 74 29 0a    20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72  | uffer.pv-alist).......(with-curr | 
| 1c00 |  65 6e 74 2d 62 75 66 66 65 72 20 70 76 62 75 66    0a 20 20 28 69 6e 73 65 72 74 20 28 6b 76 61 20  | ent-buffer.pvbuf...(insert.(kva. | 
| 1c20 |  3a 62 75 66 66 65 72 20 70 76 2d 61 6c 69 73 74    29 29 29 29 0a 20 20 20 20 70 76 62 75 66 29 29  | :buffer.pv-alist)))).....pvbuf)) | 
| 1c40 |  0a 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 61 6b    69 72 2d 6d 6f 63 6b 2d 70 72 6f 63 2d 70 72 6f  | ...(defmacro.fakir-mock-proc-pro | 
| 1c60 |  70 65 72 74 69 65 73 20 28 70 72 6f 63 65 73 73    2d 6f 62 6a 20 26 72 65 73 74 20 62 6f 64 79 29  | perties.(process-obj.&rest.body) | 
| 1c80 |  0a 20 20 22 4d 6f 63 6b 20 70 72 6f 63 65 73 73    20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 20 66  | ..."Mock.process.property.list.f | 
| 1ca0 |  75 6e 63 74 69 6f 6e 73 2e 0a 0a 57 69 74 68 69    6e 20 42 4f 44 59 20 74 68 65 20 66 75 6e 63 74  | unctions...Within.BODY.the.funct | 
| 1cc0 |  69 6f 6e 73 20 60 70 72 6f 63 65 73 73 2d 67 65    74 27 2c 20 60 70 72 6f 63 65 73 73 2d 70 75 74  | ions.`process-get',.`process-put | 
| 1ce0 |  27 20 61 6e 64 0a 60 70 72 6f 63 65 73 73 2d 70    6c 69 73 74 27 20 61 6e 64 20 60 73 65 74 2d 70  | '.and.`process-plist'.and.`set-p | 
| 1d00 |  72 6f 63 65 73 73 2d 70 6c 69 73 74 27 20 61 72    65 20 61 6c 6c 20 6d 6f 63 6b 65 64 20 74 6f 20  | rocess-plist'.are.all.mocked.to. | 
| 1d20 |  75 73 65 20 61 0a 68 61 73 68 74 61 62 6c 65 20    69 66 20 74 68 65 20 70 72 6f 63 65 73 73 20 70  | use.a.hashtable.if.the.process.p | 
| 1d40 |  61 73 73 65 64 20 74 6f 20 74 68 65 6d 20 69 73    20 60 65 71 27 20 74 6f 20 50 52 4f 43 45 53 53  | assed.to.them.is.`eq'.to.PROCESS | 
| 1d60 |  2d 4f 42 4a 2e 22 0a 20 20 28 64 65 63 6c 61 72    65 20 28 69 6e 64 65 6e 74 20 31 29 0a 20 20 20  | -OBJ."...(declare.(indent.1).... | 
| 1d80 |  20 20 20 20 20 20 20 20 28 64 65 62 75 67 20 28    73 65 78 70 20 26 72 65 73 74 20 66 6f 72 6d 29  | ........(debug.(sexp.&rest.form) | 
| 1da0 |  29 29 0a 20 20 28 6c 65 74 20 28 28 70 72 6f 63    2d 70 6c 69 73 74 20 28 6d 61 6b 65 2d 73 79 6d  | ))...(let.((proc-plist.(make-sym | 
| 1dc0 |  62 6f 6c 20 22 70 72 6f 63 70 72 6f 70 73 76 22    29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 2c  | bol."procpropsv"))).....`(let.(, | 
| 1de0 |  70 72 6f 63 2d 70 6c 69 73 74 29 0a 20 20 20 20    20 20 20 28 6d 61 63 72 6f 6c 65 74 20 28 28 6f  | proc-plist)........(macrolet.((o | 
| 1e00 |  72 2d 61 72 67 73 20 28 66 6f 72 6d 20 26 72 65    73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20  | r-args.(form.&rest.args)........ | 
| 1e20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 69    66 20 28 65 71 20 70 72 6f 63 20 2c 2c 70 72 6f  | .............`(if.(eq.proc.,,pro | 
| 1e40 |  63 65 73 73 2d 6f 62 6a 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | cess-obj)....................... | 
| 1e60 |  20 20 20 2c 66 6f 72 6d 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...,form........................ | 
| 1e80 |  20 20 28 61 70 70 6c 79 20 74 68 69 73 2d 66 6e    20 2c 40 61 72 67 73 29 29 29 29 0a 20 20 20 20  | ..(apply.this-fn.,@args))))..... | 
| 1ea0 |  20 20 20 20 20 28 6e 6f 66 6c 65 74 20 28 28 70    72 6f 63 65 73 73 2d 67 65 74 20 28 70 72 6f 63  | .....(noflet.((process-get.(proc | 
| 1ec0 |  20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 6f 72 2d 61  | .name).....................(or-a | 
| 1ee0 |  72 67 73 20 28 70 6c 69 73 74 2d 67 65 74 20 2c    70 72 6f 63 2d 70 6c 69 73 74 20 6e 61 6d 65 29  | rgs.(plist-get.,proc-plist.name) | 
| 1f00 |  20 70 72 6f 63 20 6e 61 6d 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | .proc.name))...................( | 
| 1f20 |  70 72 6f 63 65 73 73 2d 70 75 74 20 28 70 72 6f    63 20 6e 61 6d 65 20 76 61 6c 75 65 29 0a 20 20  | process-put.(proc.name.value)... | 
| 1f40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 28 6f 72 2d 61 72 67 73 0a 20 20 20 20 20  | ..................(or-args...... | 
| 1f60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 69 66 20 2c 70 72 6f 63 2d 70 6c 69 73 74 0a  | ................(if.,proc-plist. | 
| 1f80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d  | .........................(plist- | 
| 1fa0 |  70 75 74 20 2c 70 72 6f 63 2d 70 6c 69 73 74 20    6e 61 6d 65 20 76 61 6c 75 65 29 0a 20 20 20 20  | put.,proc-plist.name.value)..... | 
| 1fc0 |  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 2c 70 72 6f 63  | .....................(setq.,proc | 
| 1fe0 |  2d 70 6c 69 73 74 20 28 6c 69 73 74 20 6e 61 6d    65 20 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20  | -plist.(list.name.value)))...... | 
| 2000 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    70 72 6f 63 20 6e 61 6d 65 20 76 61 6c 75 65 29  | ................proc.name.value) | 
| 2020 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 70 72 6f 63 65 73 73 2d 70 6c 69  | )...................(process-pli | 
| 2040 |  73 74 20 28 70 72 6f 63 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f  | st.(proc).....................(o | 
| 2060 |  72 2d 61 72 67 73 20 2c 70 72 6f 63 2d 70 6c 69    73 74 20 70 72 6f 63 29 29 0a 20 20 20 20 20 20  | r-args.,proc-plist.proc))....... | 
| 2080 |  20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74    2d 70 72 6f 63 65 73 73 2d 70 6c 69 73 74 20 28  | ............(set-process-plist.( | 
| 20a0 |  70 72 6f 63 20 70 72 6f 70 73 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | proc.props)..................... | 
| 20c0 |  28 6f 72 2d 61 72 67 73 20 28 73 65 74 71 20 2c    70 72 6f 63 2d 70 6c 69 73 74 20 70 72 6f 70 73  | (or-args.(setq.,proc-plist.props | 
| 20e0 |  29 20 70 72 6f 63 20 70 72 6f 70 73 29 29 29 0a    20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64  | ).proc.props)))............,@bod | 
| 2100 |  79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66    61 6b 69 72 2f 6c 65 74 2d 62 69 6e 64 69 6e 67  | y)))))..(defun.fakir/let-binding | 
| 2120 |  73 2d 3e 61 6c 69 73 74 20 28 62 69 6e 64 69 6e    67 73 29 0a 20 20 22 54 75 72 6e 20 6c 65 74 20  | s->alist.(bindings)..."Turn.let. | 
| 2140 |  6c 69 6b 65 20 42 49 4e 44 49 4e 47 53 20 69 6e    74 6f 20 61 6e 20 61 6c 69 73 74 2e 0a 0a 4d 61  | like.BINDINGS.into.an.alist...Ma | 
| 2160 |  6b 65 73 20 73 75 72 65 20 74 68 65 20 72 65 73    75 6c 74 69 6e 67 20 61 6c 69 73 74 20 68 61 73  | kes.sure.the.resulting.alist.has | 
| 2180 |  20 60 63 6f 6e 73 65 64 27 20 70 61 69 72 73 20    72 61 74 68 65 72 20 74 68 61 6e 0a 6c 69 73 74  | .`consed'.pairs.rather.than.list | 
| 21a0 |  73 2e 0a 0a 47 65 6e 65 72 61 6c 6c 79 20 75 73    65 66 75 6c 20 6d 61 63 72 6f 20 68 65 6c 70 65  | s...Generally.useful.macro.helpe | 
| 21c0 |  72 20 73 68 6f 75 6c 64 20 62 65 20 65 6c 73 65    77 68 65 72 65 2e 22 0a 20 20 28 6c 6f 6f 70 20  | r.should.be.elsewhere."...(loop. | 
| 21e0 |  66 6f 72 20 70 20 69 6e 20 62 69 6e 64 69 6e 67    73 0a 20 20 20 20 20 63 6f 6c 6c 65 63 74 0a 20  | for.p.in.bindings......collect.. | 
| 2200 |  20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 70    20 28 6c 69 73 74 70 20 70 29 29 0a 20 20 20 20  | ......(if.(and.p.(listp.p))..... | 
| 2220 |  20 20 20 20 20 20 20 28 6c 69 73 74 20 27 63 6f    6e 73 20 60 28 71 75 6f 74 65 20 2c 28 63 61 72  | .......(list.'cons.`(quote.,(car | 
| 2240 |  20 70 29 29 20 28 63 61 64 72 20 70 29 29 0a 20    20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20  | .p)).(cadr.p))............(list. | 
| 2260 |  27 63 6f 6e 73 20 60 2c 70 20 6e 69 6c 29 29 29    29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 61 6b  | 'cons.`,p.nil))))..(defmacro.fak | 
| 2280 |  69 72 2d 6d 6f 63 6b 2d 70 72 6f 63 65 73 73 20    28 70 72 6f 63 65 73 73 2d 73 79 6d 62 6f 6c 20  | ir-mock-process.(process-symbol. | 
| 22a0 |  70 72 6f 63 65 73 73 2d 62 69 6e 64 69 6e 67 73    20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22  | process-bindings.&rest.body)..." | 
| 22c0 |  41 6c 6c 6f 77 20 65 61 73 69 65 72 20 74 65 73    74 69 6e 67 20 62 79 20 6d 6f 63 6b 69 6e 67 20  | Allow.easier.testing.by.mocking. | 
| 22e0 |  74 68 65 20 70 72 6f 63 65 73 73 20 66 75 6e 63    74 69 6f 6e 73 2e 0a 0a 46 6f 72 20 65 78 61 6d  | the.process.functions...For.exam | 
| 2300 |  70 6c 65 3a 0a 0a 20 28 66 61 6b 69 72 2d 6d 6f    63 6b 2d 70 72 6f 63 65 73 73 20 3a 66 61 6b 65  | ple:...(fakir-mock-process.:fake | 
| 2320 |  0a 20 20 20 20 20 20 28 3a 65 6c 6e 6f 64 65 2d    68 74 74 70 2d 70 61 72 61 6d 73 0a 20 20 20 20  | .......(:elnode-http-params..... | 
| 2340 |  20 20 20 28 3a 65 6c 6e 6f 64 65 2d 68 74 74 70    2d 6d 65 74 68 6f 64 20 5c 22 47 45 54 5c 22 29  | ...(:elnode-http-method.\"GET\") | 
| 2360 |  0a 20 20 20 20 20 20 20 28 3a 65 6c 6e 6f 64 65    2d 68 74 74 70 2d 71 75 65 72 79 20 5c 22 61 3d  | ........(:elnode-http-query.\"a= | 
| 2380 |  31 30 5c 22 29 29 0a 20 20 20 28 73 68 6f 75 6c    64 20 28 65 71 75 61 6c 20 31 30 20 28 65 6c 6e  | 10\"))....(should.(equal.10.(eln | 
| 23a0 |  6f 64 65 2d 68 74 74 70 2d 70 61 72 61 6d 20 3a    66 61 6b 65 20 5c 22 61 5c 22 29 29 29 29 0a 0a  | ode-http-param.:fake.\"a\")))).. | 
| 23c0 |  43 61 75 73 65 73 3a 0a 0a 20 28 70 72 6f 63 65    73 73 2d 67 65 74 20 3a 66 61 6b 65 20 3a 65 6c  | Causes:...(process-get.:fake.:el | 
| 23e0 |  6e 6f 64 65 2d 68 74 74 70 2d 6d 65 74 68 6f 64    29 0a 0a 74 6f 20 61 6c 77 61 79 73 20 72 65 74  | node-http-method)..to.always.ret | 
| 2400 |  75 72 6e 20 5c 22 47 45 54 5c 22 2e 0a 0a 60 70    72 6f 63 65 73 73 2d 70 75 74 27 20 69 73 20 61  | urn.\"GET\"...`process-put'.is.a | 
| 2420 |  6c 73 6f 20 72 65 6d 61 70 70 65 64 2c 20 74 6f    20 73 65 74 20 61 6e 79 20 73 65 74 74 69 6e 67  | lso.remapped,.to.set.any.setting | 
| 2440 |  2e 0a 0a 60 70 72 6f 63 65 73 73 2d 62 75 66 66    65 72 27 20 69 73 20 61 6c 73 6f 20 72 65 6d 61  | ...`process-buffer'.is.also.rema | 
| 2460 |  70 70 65 64 2c 20 74 6f 20 64 65 6c 69 76 65 72    20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68  | pped,.to.deliver.the.value.of.th | 
| 2480 |  65 0a 6b 65 79 20 60 3a 62 75 66 66 65 72 27 20    69 66 20 70 72 65 73 65 6e 74 20 61 6e 64 20 61  | e.key.`:buffer'.if.present.and.a | 
| 24a0 |  20 64 75 6d 6d 79 20 62 75 66 66 65 72 20 6f 74    68 65 72 77 69 73 65 2e 0a 0a 60 64 65 6c 65 74  | .dummy.buffer.otherwise...`delet | 
| 24c0 |  65 2d 70 72 6f 63 65 73 73 27 20 69 73 20 61 6c    73 6f 20 72 65 6d 61 70 70 65 64 2c 20 74 6f 20  | e-process'.is.also.remapped,.to. | 
| 24e0 |  74 68 72 6f 77 0a 60 3a 6d 6f 63 6b 2d 70 72 6f    63 65 73 73 2d 66 69 6e 69 73 68 65 64 27 20 74  | throw.`:mock-process-finished'.t | 
| 2500 |  6f 20 74 68 65 20 63 61 74 63 68 20 63 61 6c 6c    65 64 0a 60 3a 6d 6f 63 6b 2d 70 72 6f 63 65 73  | o.the.catch.called.`:mock-proces | 
| 2520 |  73 2d 66 69 6e 69 73 68 65 64 27 2e 20 20 59 6f    75 20 63 61 6e 20 69 6d 70 6c 65 6d 65 6e 74 20  | s-finished'...You.can.implement. | 
| 2540 |  79 6f 75 72 20 6f 77 6e 20 63 61 74 63 68 20 74    6f 20 64 6f 0a 73 6f 6d 65 74 68 69 6e 67 20 77  | your.own.catch.to.do.something.w | 
| 2560 |  69 74 68 20 74 68 65 20 60 64 65 6c 65 74 65 2d    70 72 6f 63 65 73 73 27 20 65 76 65 6e 74 2e 0a  | ith.the.`delete-process'.event.. | 
| 2580 |  0a 60 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73    74 72 69 6e 67 27 20 69 73 20 61 6c 73 6f 20 72  | .`process-send-string'.is.also.r | 
| 25a0 |  65 6d 61 70 70 65 64 20 74 6f 20 73 65 6e 64 20    74 6f 20 61 20 66 61 6b 65 20 6f 75 74 70 75 74  | emapped.to.send.to.a.fake.output | 
| 25c0 |  0a 62 75 66 66 65 72 2e 20 20 54 68 65 20 66 61    6b 65 20 62 75 66 66 65 72 20 63 61 6e 20 62 65  | .buffer...The.fake.buffer.can.be | 
| 25e0 |  20 72 65 74 75 72 6e 65 64 20 77 69 74 68 0a 60    66 61 6b 69 72 2d 67 65 74 2d 6f 75 74 70 75 74  | .returned.with.`fakir-get-output | 
| 2600 |  2d 62 75 66 66 65 72 27 2e 0a 0a 49 6e 20 6e 6f    72 6d 61 6c 20 63 69 72 63 75 6d 73 74 61 6e 63  | -buffer'...In.normal.circumstanc | 
| 2620 |  65 73 2c 20 77 65 20 72 65 74 75 72 6e 20 77 68    61 74 20 74 68 65 20 42 4f 44 59 20 72 65 74 75  | es,.we.return.what.the.BODY.retu | 
| 2640 |  72 6e 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72    65 0a 20 20 20 28 64 65 62 75 67 20 28 73 65 78  | rned."...(declare....(debug.(sex | 
| 2660 |  70 20 73 65 78 70 20 26 72 65 73 74 20 66 6f 72    6d 29 29 0a 20 20 20 28 69 6e 64 65 6e 74 20 64  | p.sexp.&rest.form))....(indent.d | 
| 2680 |  65 66 75 6e 29 29 0a 20 20 28 6c 65 74 20 28 28    67 65 74 2d 6f 72 2d 63 72 65 61 74 65 2d 62 75  | efun))...(let.((get-or-create-bu | 
| 26a0 |  66 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22    67 65 74 2d 6f 72 2d 63 72 65 61 74 65 2d 62 75  | f.(make-symbol."get-or-create-bu | 
| 26c0 |  66 22 29 29 0a 20 20 20 20 20 20 20 20 28 66 61    6b 69 72 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 20  | f")).........(fakir-kill-buffer. | 
| 26e0 |  28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 66 61    6b 69 72 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 22  | (make-symbol."fakir-kill-buffer" | 
| 2700 |  29 29 0a 20 20 28 70 76 76 61 72 20 28 6d 61 6b    65 2d 73 79 6d 62 6f 6c 20 22 70 76 22 29 29 0a  | ))...(pvvar.(make-symbol."pv")). | 
| 2720 |  20 20 20 20 20 20 20 20 28 70 76 6f 75 74 62 75    66 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22  | ........(pvoutbuf.(make-symbol." | 
| 2740 |  70 76 6f 75 74 62 75 66 22 29 29 0a 20 20 20 20    20 20 20 20 28 70 76 62 75 66 20 28 6d 61 6b 65  | pvoutbuf")).........(pvbuf.(make | 
| 2760 |  2d 73 79 6d 62 6f 6c 20 22 62 75 66 22 29 29 0a    20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20  | -symbol."buf")).........(result. | 
| 2780 |  28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 72 65    73 75 6c 74 22 29 29 29 0a 20 20 20 20 60 28 6c  | (make-symbol."result"))).....`(l | 
| 27a0 |  65 74 20 28 28 2c 70 76 76 61 72 20 28 6c 69 73    74 20 2c 40 28 66 61 6b 69 72 2f 6c 65 74 2d 62  | et.((,pvvar.(list.,@(fakir/let-b | 
| 27c0 |  69 6e 64 69 6e 67 73 2d 3e 61 6c 69 73 74 20 70    72 6f 63 65 73 73 2d 62 69 6e 64 69 6e 67 73 29  | indings->alist.process-bindings) | 
| 27e0 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b    20 54 68 69 73 20 69 73 20 61 20 62 75 66 66 65  | ))............;;.This.is.a.buffe | 
| 2800 |  72 20 66 6f 72 20 74 68 65 20 6f 75 74 70 75 74    0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 70 76  | r.for.the.output............(,pv | 
| 2820 |  6f 75 74 62 75 66 20 28 67 65 74 2d 62 75 66 66    65 72 2d 63 72 65 61 74 65 20 22 2a 66 61 6b 69  | outbuf.(get-buffer-create."*faki | 
| 2840 |  72 2d 6f 75 74 62 75 66 2a 22 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 3b 3b 20 46 6f 72 20 61  | r-outbuf*"))............;;.For.a | 
| 2860 |  73 73 69 67 6e 69 6e 67 20 74 68 65 20 72 65 73    75 6c 74 20 6f 66 20 74 68 65 20 62 6f 64 79 0a  | ssigning.the.result.of.the.body. | 
| 2880 |  20 20 20 20 20 20 20 20 20 20 20 2c 72 65 73 75    6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b  | ...........,result............;; | 
| 28a0 |  20 44 75 6d 6d 79 20 62 75 66 66 65 72 20 76 61    72 69 61 62 6c 65 20 66 6f 72 20 74 68 65 20 70  | .Dummy.buffer.variable.for.the.p | 
| 28c0 |  72 6f 63 65 73 73 20 2d 20 77 65 20 66 69 6c 6c    20 74 68 69 73 20 69 6e 0a 20 20 20 20 20 20 20  | rocess.-.we.fill.this.in........ | 
| 28e0 |  20 20 20 20 3b 3b 20 64 79 6e 61 6d 69 63 61 6c    6c 79 20 69 6e 20 27 70 72 6f 63 65 73 73 2d 62  | ....;;.dynamically.in.'process-b | 
| 2900 |  75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20    20 2c 70 76 62 75 66 29 0a 20 20 20 20 20 20 20  | uffer............,pvbuf)........ | 
| 2920 |  28 66 61 6b 69 72 2d 6d 6f 63 6b 2d 70 72 6f 63    2d 70 72 6f 70 65 72 74 69 65 73 20 2c 70 72 6f  | (fakir-mock-proc-properties.,pro | 
| 2940 |  63 65 73 73 2d 73 79 6d 62 6f 6c 0a 20 20 20 20    20 20 20 20 20 28 66 6c 65 74 20 28 28 66 61 6b  | cess-symbol..........(flet.((fak | 
| 2960 |  69 72 2d 67 65 74 2d 6f 75 74 70 75 74 2d 62 75    66 66 65 72 20 28 29 20 2c 70 76 6f 75 74 62 75  | ir-get-output-buffer.().,pvoutbu | 
| 2980 |  66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 2c 67 65 74 2d 6f 72 2d 63 72 65 61  | f).................(,get-or-crea | 
| 29a0 |  74 65 2d 62 75 66 20 28 70 72 6f 63 20 26 6f 70    74 69 6f 6e 61 6c 20 73 70 65 63 69 66 69 65 64  | te-buf.(proc.&optional.specified | 
| 29c0 |  2d 62 75 66 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 2c 70  | -buf)...................(setq.,p | 
| 29e0 |  76 62 75 66 20 28 66 61 6b 69 72 2f 67 65 74 2d    6f 72 2d 63 72 65 61 74 65 2d 62 75 66 0a 20 20  | vbuf.(fakir/get-or-create-buf... | 
| 2a00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 70  | ..............................,p | 
| 2a20 |  76 62 75 66 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  | vbuf............................ | 
| 2a40 |  20 20 20 20 20 2c 70 76 76 61 72 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .....,pvvar..................... | 
| 2a60 |  20 20 20 20 20 20 20 20 20 20 20 20 73 70 65 63    69 66 69 65 64 2d 62 75 66 29 29 29 0a 20 20 20  | ............specified-buf))).... | 
| 2a80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 66    61 6b 69 72 2d 6b 69 6c 6c 2d 62 75 66 66 65 72  | .............(,fakir-kill-buffer | 
| 2aa0 |  20 28 62 75 66 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28  | .(buf)...................(when.( | 
| 2ac0 |  62 75 66 66 65 72 70 20 62 75 66 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | bufferp.buf).................... | 
| 2ae0 |  20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62    75 66 66 65 72 20 62 75 66 20 28 73 65 74 2d 62  | .(with-current-buffer.buf.(set-b | 
| 2b00 |  75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70    20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20  | uffer-modified-p.nil)).......... | 
| 2b20 |  20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c    2d 62 75 66 66 65 72 20 62 75 66 29 29 29 29 0a  | ...........(kill-buffer.buf)))). | 
| 2b40 |  20 20 20 20 20 20 20 20 20 20 20 28 75 6e 77 69    6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20  | ...........(unwind-protect...... | 
| 2b60 |  20 20 20 20 20 20 20 20 20 20 20 28 6d 61 63 72    6f 6c 65 74 20 28 28 6f 72 2d 61 72 67 73 20 28  | ...........(macrolet.((or-args.( | 
| 2b80 |  66 6f 72 6d 20 26 72 65 73 74 20 61 72 67 73 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | form.&rest.args)................ | 
| 2ba0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28    69 66 20 28 65 71 20 70 72 6f 63 20 2c 2c 70 72  | ..............`(if.(eq.proc.,,pr | 
| 2bc0 |  6f 63 65 73 73 2d 73 79 6d 62 6f 6c 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ocess-symbol)................... | 
| 2be0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    2c 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20  | ................,form........... | 
| 2c00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 74  | ........................(apply.t | 
| 2c20 |  68 69 73 2d 66 6e 20 28 6c 69 73 74 20 2c 40 61    72 67 73 29 29 29 29 29 0a 20 20 20 20 20 20 20  | his-fn.(list.,@args)))))........ | 
| 2c40 |  20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65    62 69 6e 64 20 74 68 65 20 70 72 6f 63 65 73 73  | ...........;;.Rebind.the.process | 
| 2c60 |  20 66 75 6e 63 74 69 6f 6e 20 69 6e 74 65 72 66    61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20  | .function.interface............. | 
| 2c80 |  20 20 20 20 20 20 28 6e 6f 66 6c 65 74 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ......(noflet................... | 
| 2ca0 |  20 20 20 20 28 28 70 72 6f 63 65 73 73 70 20 28    70 72 6f 63 29 20 28 6f 72 2d 61 72 67 73 20 74  | ....((processp.(proc).(or-args.t | 
| 2cc0 |  20 70 72 6f 63 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28  | .proc))........................( | 
| 2ce0 |  70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 65 6f 66    20 28 70 72 6f 63 29 20 28 6f 72 2d 61 72 67 73  | process-send-eof.(proc).(or-args | 
| 2d00 |  20 74 20 70 72 6f 63 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .t.proc))....................... | 
| 2d20 |  20 28 70 72 6f 63 65 73 73 2d 73 74 61 74 75 73    20 28 70 72 6f 63 29 20 28 6f 72 2d 61 72 67 73  | .(process-status.(proc).(or-args | 
| 2d40 |  20 27 66 61 6b 65 20 70 72 6f 63 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .'fake.proc))................... | 
| 2d60 |  20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 62 75    66 66 65 72 20 28 70 72 6f 63 29 20 28 6f 72 2d  | .....(process-buffer.(proc).(or- | 
| 2d80 |  61 72 67 73 20 28 2c 67 65 74 2d 6f 72 2d 63 72    65 61 74 65 2d 62 75 66 20 70 72 6f 63 29 20 70  | args.(,get-or-create-buf.proc).p | 
| 2da0 |  72 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72  | roc))........................(pr | 
| 2dc0 |  6f 63 65 73 73 2d 63 6f 6e 74 61 63 74 20 28 70    72 6f 63 20 26 6f 70 74 69 6f 6e 61 6c 20 61 72  | ocess-contact.(proc.&optional.ar | 
| 2de0 |  67 29 20 3b 20 46 49 58 4d 45 20 2d 20 65 6c 6e    6f 64 65 20 73 70 65 63 69 66 69 63 0a 20 20 20  | g).;.FIXME.-.elnode.specific.... | 
| 2e00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6f 72 2d 61 72 67 73 20 28  | ......................(or-args.( | 
| 2e20 |  6c 69 73 74 20 22 6c 6f 63 61 6c 68 6f 73 74 22    20 38 30 30 30 29 20 70 72 6f 63 29 29 0a 20 20  | list."localhost".8000).proc))... | 
| 2e40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65  | .....................(process-se | 
| 2e60 |  6e 64 2d 73 74 72 69 6e 67 20 28 70 72 6f 63 20    73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20  | nd-string.(proc.str)............ | 
| 2e80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f    72 2d 61 72 67 73 0a 20 20 20 20 20 20 20 20 20  | ..............(or-args.......... | 
| 2ea0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62  | .................(with-current-b | 
| 2ec0 |  75 66 66 65 72 20 2c 70 76 6f 75 74 62 75 66 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | uffer.,pvoutbuf................. | 
| 2ee0 |  20 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76    65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20  | ............(save-excursion..... | 
| 2f00 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d  | ..........................(goto- | 
| 2f20 |  63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | char.(point-max))............... | 
| 2f40 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 69 6e 73 65 72 74 20 73 74 72 29 29 29 0a 20  | ................(insert.str))).. | 
| 2f60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 70 72 6f 63 29 29 0a  | .........................proc)). | 
| 2f80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 70  | .......................(delete-p | 
| 2fa0 |  72 6f 63 65 73 73 20 28 70 72 6f 63 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rocess.(proc)................... | 
| 2fc0 |  20 20 20 20 20 20 20 28 6f 72 2d 61 72 67 73 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | .......(or-args................. | 
| 2fe0 |  20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77    20 3a 6d 6f 63 6b 2d 70 72 6f 63 65 73 73 2d 66  | ..........(throw.:mock-process-f | 
| 3000 |  69 6e 69 73 68 65 64 20 3a 6d 6f 63 6b 2d 70 72    6f 63 65 73 73 2d 66 69 6e 69 73 68 65 64 29 0a  | inished.:mock-process-finished). | 
| 3020 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 70 72 6f 63 29 29  | ..........................proc)) | 
| 3040 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f  | ........................(set-pro | 
| 3060 |  63 65 73 73 2d 62 75 66 66 65 72 20 28 70 72 6f    63 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20  | cess-buffer.(proc.buffer)....... | 
| 3080 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 6f 72 2d 61 72 67 73 20 28 2c 67 65  | ...................(or-args.(,ge | 
| 30a0 |  74 2d 6f 72 2d 63 72 65 61 74 65 2d 62 75 66 20    70 72 6f 63 20 62 75 66 66 65 72 29 20 70 72 6f  | t-or-create-buf.proc.buffer).pro | 
| 30c0 |  63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 73 65 74 2d 70 72  | c))).....................(set-pr | 
| 30e0 |  6f 63 65 73 73 2d 70 6c 69 73 74 20 2c 70 72 6f    63 65 73 73 2d 73 79 6d 62 6f 6c 20 28 6b 76 61  | ocess-plist.,process-symbol.(kva | 
| 3100 |  6c 69 73 74 2d 3e 70 6c 69 73 74 20 2c 70 76 76    61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20  | list->plist.,pvvar))............ | 
| 3120 |  20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c    72 65 73 75 6c 74 0a 20 20 20 20 20 20 20 20 20  | .........(setq.,result.......... | 
| 3140 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 63 61 74 63 68 20 3a 6d 6f 63 6b 2d 70 72  | .................(catch.:mock-pr | 
| 3160 |  6f 63 65 73 73 2d 66 69 6e 69 73 68 65 64 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ocess-finished.................. | 
| 3180 |  20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64    79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | ...........,@body))))........... | 
| 31a0 |  20 20 20 3b 3b 20 4e 6f 77 20 63 6c 65 61 6e 20    75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | ...;;.Now.clean.up.............. | 
| 31c0 |  28 2c 66 61 6b 69 72 2d 6b 69 6c 6c 2d 62 75 66    66 65 72 20 2c 70 76 62 75 66 29 0a 20 20 20 20  | (,fakir-kill-buffer.,pvbuf)..... | 
| 31e0 |  20 20 20 20 20 20 20 20 20 28 2c 66 61 6b 69 72    2d 6b 69 6c 6c 2d 62 75 66 66 65 72 20 2c 70 76  | .........(,fakir-kill-buffer.,pv | 
| 3200 |  6f 75 74 62 75 66 29 29 29 29 29 29 29 0a 0a 0a    3b 3b 20 54 69 6d 65 20 75 74 69 6c 73 0a 0a 28  | outbuf)))))))...;;.Time.utils..( | 
| 3220 |  64 65 66 75 6e 20 66 61 6b 69 72 2d 74 69 6d 65    2d 65 6e 63 6f 64 65 20 28 74 69 6d 65 2d 73 74  | defun.fakir-time-encode.(time-st | 
| 3240 |  72 29 0a 20 20 22 45 6e 63 6f 64 65 20 74 68 65    20 54 49 4d 45 2d 53 54 52 20 61 73 20 61 6e 20  | r)..."Encode.the.TIME-STR.as.an. | 
| 3260 |  45 6d 61 63 73 4c 69 73 70 20 74 69 6d 65 2e 22    0a 20 20 3b 3b 20 46 49 58 4d 45 20 74 68 69 73  | EmacsLisp.time."...;;.FIXME.this | 
| 3280 |  20 73 68 6f 75 6c 64 20 62 65 20 70 61 72 74 20    6f 66 20 45 6d 61 63 73 20 70 72 6f 62 61 62 6c  | .should.be.part.of.Emacs.probabl | 
| 32a0 |  79 3b 20 49 27 76 65 20 68 61 64 20 74 6f 0a 20    20 3b 3b 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68  | y;.I've.had.to...;;.implement.th | 
| 32c0 |  69 73 20 69 6e 20 45 6c 6e 6f 64 65 20 61 73 20    77 65 6c 6c 0a 20 20 28 61 70 70 6c 79 20 27 65  | is.in.Elnode.as.well...(apply.'e | 
| 32e0 |  6e 63 6f 64 65 2d 74 69 6d 65 20 28 70 61 72 73    65 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 74 69  | ncode-time.(parse-time-string.ti | 
| 3300 |  6d 65 2d 73 74 72 29 29 29 0a 0a 3b 3b 20 41 20    73 74 72 75 63 74 75 72 65 20 74 6f 20 72 65 70  | me-str)))..;;.A.structure.to.rep | 
| 3320 |  72 65 73 65 6e 74 20 61 20 6d 6f 63 6b 20 66 69    6c 65 0a 0a 28 64 65 66 73 74 72 75 63 74 20 66  | resent.a.mock.file..(defstruct.f | 
| 3340 |  61 6b 69 72 2d 66 69 6c 65 0a 20 20 66 69 6c 65    6e 61 6d 65 0a 20 20 64 69 72 65 63 74 6f 72 79  | akir-file...filename...directory | 
| 3360 |  0a 20 20 28 63 6f 6e 74 65 6e 74 20 22 22 29 0a    20 20 3b 3b 20 6f 62 76 69 6f 75 73 6c 79 20 74  | ...(content."")...;;.obviously.t | 
| 3380 |  68 65 72 65 20 73 68 6f 75 6c 64 20 62 65 20 61    6c 6c 20 74 68 65 20 73 74 61 74 65 20 6f 66 20  | here.should.be.all.the.state.of. | 
| 33a0 |  74 68 65 20 66 69 6c 65 20 68 65 72 65 0a 20 20    28 6d 74 69 6d 65 20 22 4d 6f 6e 2c 20 46 65 62  | the.file.here...(mtime."Mon,.Feb | 
| 33c0 |  20 32 37 20 32 30 31 32 20 32 32 3a 31 30 3a 31    39 20 47 4d 54 22 29 0a 20 20 28 64 69 72 65 63  | .27.2012.22:10:19.GMT")...(direc | 
| 33e0 |  74 6f 72 79 2d 70 20 6e 69 6c 29 29 0a 0a 28 64    65 66 75 6e 20 66 61 6b 69 72 2d 66 69 6c 65 20  | tory-p.nil))..(defun.fakir-file. | 
| 3400 |  28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22    4d 61 6b 65 20 61 20 66 61 6b 69 72 2d 66 69 6c  | (&rest.args)..."Make.a.fakir-fil | 
| 3420 |  65 2c 20 61 20 73 74 72 75 63 74 2e 0a 0a 3a 46    49 4c 45 4e 41 4d 45 20 69 73 20 74 68 65 20 62  | e,.a.struct...:FILENAME.is.the.b | 
| 3440 |  61 73 65 6e 61 6d 65 20 6f 66 20 74 68 65 20 66    69 6c 65 0a 0a 3a 44 49 52 45 43 54 4f 52 59 20  | asename.of.the.file..:DIRECTORY. | 
| 3460 |  69 73 20 74 68 65 20 64 69 72 6e 61 6d 65 20 6f    66 20 74 68 65 20 66 69 6c 65 0a 0a 3a 43 4f 4e  | is.the.dirname.of.the.file..:CON | 
| 3480 |  54 45 4e 54 20 69 73 20 61 20 73 74 72 69 6e 67    20 6f 66 20 63 6f 6e 74 65 6e 74 20 66 6f 72 20  | TENT.is.a.string.of.content.for. | 
| 34a0 |  74 68 65 20 66 69 6c 65 0a 0a 3a 4d 54 49 4d 45    20 69 73 20 74 68 65 20 6d 6f 64 69 66 69 65 64  | the.file..:MTIME.is.the.modified | 
| 34c0 |  20 74 69 6d 65 2c 20 77 69 74 68 20 61 20 64 65    66 61 75 6c 74 20 61 72 6f 75 6e 64 20 74 68 65  | .time,.with.a.default.around.the | 
| 34e0 |  20 74 69 6d 65 20 66 61 6b 69 72 0a 77 61 73 20    77 72 69 74 74 65 6e 2e 0a 0a 3a 44 49 52 45 43  | .time.fakir.was.written...:DIREC | 
| 3500 |  54 4f 52 59 2d 50 20 73 70 65 63 69 66 69 65 73    20 77 68 65 74 68 65 72 20 74 68 69 73 20 66 69  | TORY-P.specifies.whether.this.fi | 
| 3520 |  6c 65 20 69 73 20 61 20 64 69 72 65 63 74 6f 72    79 20 6f 72 20 61 20 66 69 6c 65 2e 22 0a 20 20  | le.is.a.directory.or.a.file."... | 
| 3540 |  28 61 70 70 6c 79 20 27 6d 61 6b 65 2d 66 61 6b    69 72 2d 66 69 6c 65 20 61 72 67 73 29 29 0a 0a  | (apply.'make-fakir-file.args)).. | 
| 3560 |  28 64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 66 69    6c 65 2d 63 68 65 63 6b 20 28 66 69 6c 65 29 0a  | (defun.fakir--file-check.(file). | 
| 3580 |  20 20 22 49 6d 70 6c 65 6d 65 6e 74 73 20 74 68    65 20 74 79 70 65 20 63 68 65 63 6b 20 66 6f 72  | .."Implements.the.type.check.for | 
| 35a0 |  20 46 49 4c 45 20 69 73 20 61 20 60 66 61 6b 69    72 2d 2d 66 69 6c 65 27 2e 22 0a 20 20 28 69 66  | .FILE.is.a.`fakir--file'."...(if | 
| 35c0 |  20 28 6e 6f 74 20 28 66 61 6b 69 72 2d 66 69 6c    65 2d 70 20 66 69 6c 65 29 29 0a 20 20 20 20 20  | .(not.(fakir-file-p.file))...... | 
| 35e0 |  20 28 65 72 72 6f 72 20 22 6e 6f 74 20 61 6e 20    66 61 6b 69 72 2d 2d 66 69 6c 65 22 29 29 29 0a  | .(error."not.an.fakir--file"))). | 
| 3600 |  0a 28 64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 66    69 6c 65 2d 66 71 6e 20 28 66 69 6c 65 29 0a 20  | .(defun.fakir--file-fqn.(file).. | 
| 3620 |  20 22 52 65 74 75 72 6e 20 74 68 65 20 66 75 6c    6c 79 20 71 75 61 6c 69 66 69 65 64 20 6e 61 6d  | ."Return.the.fully.qualified.nam | 
| 3640 |  65 20 6f 66 20 46 49 4c 45 2c 20 61 6e 20 60 66    61 6b 69 72 2d 2d 66 69 6c 65 27 2e 22 0a 20 20  | e.of.FILE,.an.`fakir--file'."... | 
| 3660 |  28 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 63 68 65    63 6b 20 66 69 6c 65 29 0a 20 20 28 6c 65 74 2a  | (fakir--file-check.file)...(let* | 
| 3680 |  20 28 28 66 71 66 6e 0a 20 20 20 20 20 20 20 20    20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20  | .((fqfn...........(concat....... | 
| 36a0 |  20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d    61 73 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20  | .....(file-name-as-directory.... | 
| 36c0 |  20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72 2d    66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 20 66  | .........(fakir-file-directory.f | 
| 36e0 |  69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20    20 28 66 61 6b 69 72 2d 66 69 6c 65 2d 66 69 6c  | ile))............(fakir-file-fil | 
| 3700 |  65 6e 61 6d 65 20 66 69 6c 65 29 29 29 29 0a 20    20 20 20 66 71 66 6e 29 29 0a 0a 28 64 65 66 75  | ename.file)))).....fqfn))..(defu | 
| 3720 |  6e 20 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 72 65    6e 61 6d 65 20 28 73 72 63 2d 66 69 6c 65 20 74  | n.fakir--file-rename.(src-file.t | 
| 3740 |  6f 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 22    52 65 6e 61 6d 65 20 74 68 65 20 60 66 61 6b 69  | o-file-name)..."Rename.the.`faki | 
| 3760 |  72 2d 66 69 6c 65 27 20 53 52 43 2d 46 49 4c 45    2e 22 0a 20 20 28 66 61 6b 69 72 2d 2d 66 69 6c  | r-file'.SRC-FILE."...(fakir--fil | 
| 3780 |  65 2d 63 68 65 63 6b 20 73 72 63 2d 66 69 6c 65    29 0a 20 20 28 6c 65 74 20 28 28 62 61 73 65 2d  | e-check.src-file)...(let.((base- | 
| 37a0 |  66 69 6c 65 2d 6e 61 6d 65 20 28 66 69 6c 65 2d    6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72  | file-name.(file-name-nondirector | 
| 37c0 |  79 20 74 6f 2d 66 69 6c 65 2d 6e 61 6d 65 29 29    0a 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 64  | y.to-file-name)).........(file-d | 
| 37e0 |  69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69    72 65 63 74 6f 72 79 20 74 6f 2d 66 69 6c 65 2d  | ir.(file-name-directory.to-file- | 
| 3800 |  6e 61 6d 65 29 29 29 0a 20 20 20 20 28 73 65 74    66 20 28 66 61 6b 69 72 2d 66 69 6c 65 2d 64 69  | name))).....(setf.(fakir-file-di | 
| 3820 |  72 65 63 74 6f 72 79 20 73 72 63 2d 66 69 6c 65    29 20 66 69 6c 65 2d 64 69 72 29 0a 20 20 20 20  | rectory.src-file).file-dir)..... | 
| 3840 |  28 73 65 74 66 20 28 66 61 6b 69 72 2d 66 69 6c    65 2d 66 69 6c 65 6e 61 6d 65 20 73 72 63 2d 66  | (setf.(fakir-file-filename.src-f | 
| 3860 |  69 6c 65 29 20 62 61 73 65 2d 66 69 6c 65 2d 6e    61 6d 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 66  | ile).base-file-name)))..(defun.f | 
| 3880 |  61 6b 69 72 2d 2d 66 69 6c 65 2d 6d 6f 64 2d 74    69 6d 65 20 28 66 69 6c 65 20 26 6f 70 74 69 6f  | akir--file-mod-time.(file.&optio | 
| 38a0 |  6e 61 6c 20 72 61 77 29 0a 20 20 22 52 65 74 75    72 6e 20 74 68 65 20 65 6e 63 6f 64 65 64 20 6d  | nal.raw)..."Return.the.encoded.m | 
| 38c0 |  74 69 6d 65 20 6f 66 20 46 49 4c 45 2c 20 61 6e    20 60 66 61 6b 69 72 2d 2d 66 69 6c 65 27 2e 0a  | time.of.FILE,.an.`fakir--file'.. | 
| 38e0 |  0a 49 66 20 52 41 57 20 69 73 20 74 20 74 68 65    6e 20 72 65 74 75 72 6e 20 74 68 65 20 72 61 77  | .If.RAW.is.t.then.return.the.raw | 
| 3900 |  20 76 61 6c 75 65 2c 20 61 20 73 74 72 69 6e 67    2e 22 0a 20 20 28 66 61 6b 69 72 2d 2d 66 69 6c  | .value,.a.string."...(fakir--fil | 
| 3920 |  65 2d 63 68 65 63 6b 20 66 69 6c 65 29 0a 20 20    28 69 66 20 72 61 77 0a 20 20 20 20 20 20 28 66  | e-check.file)...(if.raw.......(f | 
| 3940 |  61 6b 69 72 2d 66 69 6c 65 2d 6d 74 69 6d 65 20    66 69 6c 65 29 0a 20 20 20 20 28 66 61 6b 69 72  | akir-file-mtime.file).....(fakir | 
| 3960 |  2d 74 69 6d 65 2d 65 6e 63 6f 64 65 20 28 66 61    6b 69 72 2d 66 69 6c 65 2d 6d 74 69 6d 65 20 66  | -time-encode.(fakir-file-mtime.f | 
| 3980 |  69 6c 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20    66 61 6b 69 72 2d 2d 66 69 6c 65 2d 61 74 74 72  | ile))))..(defun.fakir--file-attr | 
| 39a0 |  69 62 73 20 28 66 69 6c 65 29 0a 20 20 22 52 65    74 75 72 6e 20 61 6e 20 61 6e 73 77 65 72 20 61  | ibs.(file)..."Return.an.answer.a | 
| 39c0 |  73 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74    65 73 27 20 66 6f 72 20 46 49 4c 45 2e 0a 0a 43  | s.`file-attributes'.for.FILE...C | 
| 39e0 |  75 72 72 65 6e 74 6c 79 20 57 45 20 4f 4e 4c 59    20 53 55 50 50 4f 52 54 20 4d 4f 44 49 46 49 45  | urrently.WE.ONLY.SUPPORT.MODIFIE | 
| 3a00 |  44 2d 54 49 4d 45 2e 22 0a 20 20 28 66 61 6b 69    72 2d 2d 66 69 6c 65 2d 63 68 65 63 6b 20 66 69  | D-TIME."...(fakir--file-check.fi | 
| 3a20 |  6c 65 29 0a 20 20 28 6c 69 73 74 20 28 66 61 6b    69 72 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72  | le)...(list.(fakir-file-director | 
| 3a40 |  79 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20    20 20 74 20 74 20 74 20 74 0a 20 20 20 20 20 20  | y-p.file).........t.t.t.t....... | 
| 3a60 |  20 20 28 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 6d    6f 64 2d 74 69 6d 65 20 66 69 6c 65 29 29 29 0a  | ..(fakir--file-mod-time.file))). | 
| 3a80 |  0a 28 64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 66    69 6c 65 2d 68 6f 6d 65 20 28 66 69 6c 65 29 0a  | .(defun.fakir--file-home.(file). | 
| 3aa0 |  20 20 22 52 65 74 75 72 6e 20 74 68 65 20 68 6f    6d 65 20 70 61 72 74 20 6f 66 20 46 49 4c 45 20  | .."Return.the.home.part.of.FILE. | 
| 3ac0 |  6f 72 20 6e 69 6c 2e 0a 0a 54 68 65 20 68 6f 6d    65 20 70 61 72 74 20 6f 66 20 46 49 4c 45 20 69  | or.nil...The.home.part.of.FILE.i | 
| 3ae0 |  73 20 74 68 65 20 70 61 72 74 20 74 68 61 74 20    69 73 20 74 68 65 20 68 6f 6d 65 20 64 69 72 65  | s.the.part.that.is.the.home.dire | 
| 3b00 |  63 74 6f 72 79 20 6f 66 0a 74 68 65 20 75 73 65    72 2e 20 49 66 20 69 74 27 73 20 6e 6f 74 20 61  | ctory.of.the.user..If.it's.not.a | 
| 3b20 |  20 75 73 65 72 20 46 49 4c 45 20 74 68 65 6e 20    69 74 20 77 6f 6e 27 74 20 68 61 76 65 20 61 20  | .user.FILE.then.it.won't.have.a. | 
| 3b40 |  68 6f 6d 65 0a 70 61 72 74 2e 22 0a 20 20 28 66    61 6b 69 72 2d 2d 66 69 6c 65 2d 63 68 65 63 6b  | home.part."...(fakir--file-check | 
| 3b60 |  20 66 69 6c 65 29 0a 20 20 28 6c 65 74 2a 20 28    28 66 71 6e 20 28 66 61 6b 69 72 2d 2d 66 69 6c  | .file)...(let*.((fqn.(fakir--fil | 
| 3b80 |  65 2d 66 71 6e 20 66 69 6c 65 29 29 0a 20 20 20    20 20 20 20 20 20 28 68 6f 6d 65 2d 72 6f 6f 74  | e-fqn.file))..........(home-root | 
| 3ba0 |  0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65    2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20  | ...........(save-match-data..... | 
| 3bc0 |  20 20 20 20 20 20 20 20 28 77 68 65 6e 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73  | ........(when.................(s | 
| 3be0 |  74 72 69 6e 67 2d 6d 61 74 63 68 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 22 5e 5c  | tring-match.................."^\ | 
| 3c00 |  5c 28 2f 68 6f 6d 65 2f 5b 41 2d 5a 61 2d 7a 5d    5b 41 2d 5a 61 2d 7a 30 2d 39 2d 5d 2b 5c 5c 29  | \(/home/[A-Za-z][A-Za-z0-9-]+\\) | 
| 3c20 |  5c 5c 28 2f 2e 2a 5c 5c 29 2a 22 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 66 71 6e  | \\(/.*\\)*"..................fqn | 
| 3c40 |  29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20  | )...............(match-string.1. | 
| 3c60 |  66 71 6e 29 29 29 29 29 0a 20 20 20 20 68 6f 6d    65 2d 72 6f 6f 74 29 29 0a 0a 28 64 65 66 75 6e  | fqn))))).....home-root))..(defun | 
| 3c80 |  20 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 70 61 74    68 20 28 66 61 6b 65 64 2d 66 69 6c 65 29 0a 20  | .fakir--file-path.(faked-file).. | 
| 3ca0 |  20 22 4d 61 6b 65 20 61 20 70 61 74 68 20 6e 61    6d 65 20 66 72 6f 6d 20 74 68 65 20 46 41 4b 45  | ."Make.a.path.name.from.the.FAKE | 
| 3cc0 |  44 2d 46 49 4c 45 2e 22 0a 20 20 28 63 6f 6e 63    61 74 0a 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65  | D-FILE."...(concat....(file-name | 
| 3ce0 |  2d 61 73 2d 64 69 72 65 63 74 6f 72 79 0a 20 20    20 20 28 66 61 6b 69 72 2d 66 69 6c 65 2d 64 69  | -as-directory.....(fakir-file-di | 
| 3d00 |  72 65 63 74 6f 72 79 20 66 61 6b 65 64 2d 66 69    6c 65 29 29 0a 20 20 20 28 66 61 6b 69 72 2d 66  | rectory.faked-file))....(fakir-f | 
| 3d20 |  69 6c 65 2d 66 69 6c 65 6e 61 6d 65 20 66 61 6b    65 64 2d 66 69 6c 65 29 29 29 0a 0a 28 64 65 66  | ile-filename.faked-file)))..(def | 
| 3d40 |  76 61 72 20 66 61 6b 69 72 2d 2d 68 6f 6d 65 2d    72 6f 6f 74 20 22 2f 68 6f 6d 65 2f 66 61 6b 69  | var.fakir--home-root."/home/faki | 
| 3d60 |  72 22 0a 20 20 22 53 74 72 69 6e 67 20 74 6f 20    75 73 65 20 61 73 20 74 68 65 20 68 6f 6d 65 2d  | r"..."String.to.use.as.the.home- | 
| 3d80 |  72 6f 6f 74 2e 22 29 0a 0a 28 64 65 66 75 6e 20    66 61 6b 69 72 2d 2d 6a 6f 69 6e 20 28 66 69 6c  | root.")..(defun.fakir--join.(fil | 
| 3da0 |  65 2d 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c    20 64 69 72 29 0a 20 20 22 4a 6f 69 6e 20 46 49  | e-name.&optional.dir)..."Join.FI | 
| 3dc0 |  4c 45 2d 4e 41 4d 45 20 74 6f 20 44 49 52 20 6f    72 20 60 66 61 6b 69 72 2d 2d 68 6f 6d 65 2d 72  | LE-NAME.to.DIR.or.`fakir--home-r | 
| 3de0 |  6f 6f 74 27 2e 22 0a 20 20 28 63 6f 6e 63 61 74    0a 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61  | oot'."...(concat....(file-name-a | 
| 3e00 |  73 2d 64 69 72 65 63 74 6f 72 79 20 28 6f 72 20    64 69 72 20 66 61 6b 69 72 2d 2d 68 6f 6d 65 2d  | s-directory.(or.dir.fakir--home- | 
| 3e20 |  72 6f 6f 74 29 29 0a 20 20 20 66 69 6c 65 2d 6e    61 6d 65 29 29 0a 0a 28 64 65 66 75 6e 20 66 61  | root))....file-name))..(defun.fa | 
| 3e40 |  6b 69 72 2d 2d 65 78 70 61 6e 64 20 28 66 69 6c    65 2d 6e 61 6d 65 20 72 6f 6f 74 65 64 2d 70 29  | kir--expand.(file-name.rooted-p) | 
| 3e60 |  0a 20 20 22 46 75 6e 63 74 69 6f 6e 61 6c 20 66    69 6c 65 2d 6e 61 6d 65 20 65 78 70 61 6e 64 2e  | ..."Functional.file-name.expand. | 
| 3e80 |  22 0a 20 20 28 6c 65 74 20 28 28 70 61 74 68 0a    20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e  | "...(let.((path..........(mapcon | 
| 3ea0 |  63 61 74 0a 20 20 20 20 20 20 20 20 20 20 27 69    64 65 6e 74 69 74 79 0a 20 20 20 20 20 20 20 20  | cat...........'identity......... | 
| 3ec0 |  20 20 28 6c 65 74 20 28 28 6c 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 28 2d 72 65  | ..(let.((l..................(-re | 
| 3ee0 |  64 75 63 65 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28  | duce...................(lambda.( | 
| 3f00 |  61 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74  | a.b).....................(if.(st | 
| 3f20 |  72 69 6e 67 3d 20 62 20 22 2e 2e 22 29 0a 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ring=.b."..")................... | 
| 3f40 |  20 20 20 20 20 20 28 69 66 20 28 63 6f 6e 73 70    20 61 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | ......(if.(consp.a)............. | 
| 3f60 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 72 65 76 65 72 73 65 20 28 63 64 72 20 28 72  | ................(reverse.(cdr.(r | 
| 3f80 |  65 76 65 72 73 65 20 61 29 29 29 0a 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | everse.a)))..................... | 
| 3fa0 |  20 20 20 20 20 20 20 20 28 6c 69 73 74 20 61 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ........(list.a))............... | 
| 3fc0 |  20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63    6f 6e 73 70 20 61 29 0a 20 20 20 20 20 20 20 20  | ..........(if.(consp.a)......... | 
| 3fe0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 61 70 70 65 6e 64 20 61 20 28 6c  | ....................(append.a.(l | 
| 4000 |  69 73 74 20 62 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  | ist.b))......................... | 
| 4020 |  20 20 20 20 28 6c 69 73 74 20 61 20 62 29 29 29    29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | ....(list.a.b))))............... | 
| 4040 |  20 20 20 20 28 63 64 72 20 28 73 70 6c 69 74 2d    73 74 72 69 6e 67 20 66 69 6c 65 2d 6e 61 6d 65  | ....(cdr.(split-string.file-name | 
| 4060 |  20 22 2f 22 29 29 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 69 66 20 28 6c 69 73 74 70  | ."/"))))).............(if.(listp | 
| 4080 |  20 6c 29 20 6c 20 28 6c 69 73 74 20 6c 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 22 2f 22 29 29  | .l).l.(list.l)))..........."/")) | 
| 40a0 |  29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 72    6f 6f 74 65 64 2d 70 20 28 6e 6f 74 20 28 65 71  | ).....(if.(and.rooted-p.(not.(eq | 
| 40c0 |  75 61 6c 20 3f 5c 2f 20 28 65 6c 74 20 70 61 74    68 20 30 29 29 29 29 0a 20 20 20 20 20 20 20 20  | ual.?\/.(elt.path.0))))......... | 
| 40e0 |  28 63 6f 6e 63 61 74 20 22 2f 22 20 70 61 74 68    29 0a 20 20 20 20 20 20 20 20 70 61 74 68 29 29  | (concat."/".path).........path)) | 
| 4100 |  29 0a 0a 28 64 65 66 75 6e 20 66 61 6b 69 72 2d    2d 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d  | )..(defun.fakir--expand-file-nam | 
| 4120 |  65 20 28 66 69 6c 65 2d 6e 61 6d 65 20 64 69 72    29 0a 20 20 22 49 6d 70 6c 65 6d 65 6e 74 61 74  | e.(file-name.dir)..."Implementat | 
| 4140 |  69 6f 6e 20 6f 66 20 7e 20 61 6e 64 20 2e 2e 20    68 61 6e 64 6c 69 6e 67 20 66 6f 72 20 46 49 4c  | ion.of.~.and....handling.for.FIL | 
| 4160 |  45 2d 4e 41 4d 45 2e 22 0a 20 20 28 6c 65 74 2a    20 28 28 66 71 66 6e 0a 20 20 20 20 20 20 20 20  | E-NAME."...(let*.((fqfn......... | 
| 4180 |  20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61    74 63 68 20 22 5e 5c 5c 28 7e 2f 5c 5c 7c 2f 5c  | ..(if.(string-match."^\\(~/\\|/\ | 
| 41a0 |  5c 29 2e 2a 22 20 66 69 6c 65 2d 6e 61 6d 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66  | \).*".file-name)...............f | 
| 41c0 |  69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 3b 3b 20 45 6c 73 65 20 69  | ile-name...............;;.Else.i | 
| 41e0 |  74 27 73 20 62 6f 74 68 0a 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 66 61 6b 69 72 2d 2d 6a  | t's.both...............(fakir--j | 
| 4200 |  6f 69 6e 20 66 69 6c 65 2d 6e 61 6d 65 20 64 69    72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66  | oin.file-name.dir)))..........(f | 
| 4220 |  69 6c 65 2d 70 61 74 68 0a 20 20 20 20 20 20 20    20 20 20 3b 3b 20 52 65 70 6c 61 63 65 20 7e 2f  | ile-path...........;;.Replace.~/ | 
| 4240 |  20 77 69 74 68 20 74 68 65 20 68 6f 6d 65 2d 72    6f 6f 74 0a 20 20 20 20 20 20 20 20 20 20 28 72  | .with.the.home-root...........(r | 
| 4260 |  65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e    2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20  | eplace-regexp-in-string......... | 
| 4280 |  20 20 20 22 5e 7e 2f 5c 5c 28 2e 2a 5c 5c 29 22    0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d  | ..."^~/\\(.*\\)"............(lam | 
| 42a0 |  62 64 61 20 28 6d 29 20 28 66 61 6b 69 72 2d 2d    6a 6f 69 6e 20 28 6d 61 74 63 68 2d 73 74 72 69  | bda.(m).(fakir--join.(match-stri | 
| 42c0 |  6e 67 20 31 20 6d 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 66 71 66 6e 29 29 0a 20 20 20 20  | ng.1.m)))............fqfn))..... | 
| 42e0 |  20 20 20 20 20 28 6e 65 77 2d 70 61 74 68 0a 20    20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72 2d  | .....(new-path...........(fakir- | 
| 4300 |  2d 65 78 70 61 6e 64 0a 20 20 20 20 20 20 20 20    20 20 20 66 69 6c 65 2d 70 61 74 68 0a 20 20 20  | -expand............file-path.... | 
| 4320 |  20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 3f    5c 2f 20 28 65 6c 74 20 66 69 6c 65 2d 70 61 74  | ........(equal.?\/.(elt.file-pat | 
| 4340 |  68 20 30 29 29 29 29 29 0a 20 20 20 20 6e 65 77    2d 70 61 74 68 29 29 0a 0a 28 64 65 66 75 6e 20  | h.0))))).....new-path))..(defun. | 
| 4360 |  66 61 6b 69 72 2d 2d 66 69 6e 64 2d 66 69 6c 65    20 28 66 61 6b 69 72 2d 66 69 6c 65 29 0a 20 20  | fakir--find-file.(fakir-file)... | 
| 4380 |  22 60 66 69 6e 64 2d 66 69 6c 65 27 20 69 6d 70    6c 65 6d 65 6e 74 61 74 69 6f 6e 20 66 6f 72 20  | "`find-file'.implementation.for. | 
| 43a0 |  46 41 4b 49 52 2d 46 49 4c 45 2e 22 0a 20 20 28    6c 65 74 20 28 28 62 75 66 20 28 67 65 74 2d 62  | FAKIR-FILE."...(let.((buf.(get-b | 
| 43c0 |  75 66 66 65 72 20 28 66 61 6b 69 72 2d 66 69 6c    65 2d 66 69 6c 65 6e 61 6d 65 20 66 61 6b 69 72  | uffer.(fakir-file-filename.fakir | 
| 43e0 |  2d 66 69 6c 65 29 29 29 29 0a 20 20 20 20 28 69    66 20 28 62 75 66 66 65 72 70 20 62 75 66 29 0a  | -file)))).....(if.(bufferp.buf). | 
| 4400 |  20 20 20 20 20 20 20 20 62 75 66 0a 20 20 20 20    20 20 20 20 3b 3b 20 45 6c 73 65 20 6d 61 6b 65  | ........buf.........;;.Else.make | 
| 4420 |  20 6f 6e 65 20 61 6e 64 20 70 75 74 20 74 68 65    20 63 6f 6e 74 65 6e 74 20 69 6e 20 69 74 0a 20  | .one.and.put.the.content.in.it.. | 
| 4440 |  20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72    72 65 6e 74 2d 62 75 66 66 65 72 0a 20 20 20 20  | .......(with-current-buffer..... | 
| 4460 |  20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66    66 65 72 2d 63 72 65 61 74 65 20 28 66 61 6b 69  | ........(get-buffer-create.(faki | 
| 4480 |  72 2d 66 69 6c 65 2d 66 69 6c 65 6e 61 6d 65 20    66 61 6b 69 72 2d 66 69 6c 65 29 29 0a 20 20 20  | r-file-filename.fakir-file)).... | 
| 44a0 |  20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28    66 61 6b 69 72 2d 66 69 6c 65 2d 63 6f 6e 74 65  | .......(insert.(fakir-file-conte | 
| 44c0 |  6e 74 20 66 61 6b 69 72 2d 66 69 6c 65 29 29 0a    20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65  | nt.fakir-file))...........(curre | 
| 44e0 |  6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 66 61 6b 69 72 2d 66 69 6c  | nt-buffer)))))..(defun.fakir-fil | 
| 4500 |  65 2d 70 61 74 68 20 28 66 61 6b 69 72 2d 66 69    6c 65 29 0a 20 20 22 4d 61 6b 65 20 74 68 65 20  | e-path.(fakir-file)..."Make.the. | 
| 4520 |  70 61 74 68 20 66 6f 72 20 46 41 4b 49 52 2d 46    49 4c 45 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20  | path.for.FAKIR-FILE."...(concat. | 
| 4540 |  28 66 61 6b 69 72 2d 66 69 6c 65 2d 64 69 72 65    63 74 6f 72 79 20 66 61 6b 69 72 2d 66 69 6c 65  | (fakir-file-directory.fakir-file | 
| 4560 |  29 0a 20 20 20 20 20 20 20 20 20 20 28 66 61 6b    69 72 2d 66 69 6c 65 2d 66 69 6c 65 6e 61 6d 65  | )...........(fakir-file-filename | 
| 4580 |  20 66 61 6b 69 72 2d 66 69 6c 65 29 29 29 0a 0a    0a 28 64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 66  | .fakir-file)))...(defun.fakir--f | 
| 45a0 |  69 6c 65 2d 70 61 72 65 6e 74 2d 64 69 72 65 63    74 6f 72 69 65 73 20 28 66 61 6b 65 64 2d 66 69  | ile-parent-directories.(faked-fi | 
| 45c0 |  6c 65 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68    65 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f  | le)..."Return.the.parent.directo | 
| 45e0 |  72 69 65 73 20 66 6f 72 20 61 20 46 41 4b 45 44    2d 46 49 4c 45 2e 22 0a 20 20 28 6c 65 74 20 28  | ries.for.a.FAKED-FILE."...(let.( | 
| 4600 |  28 64 69 72 65 63 74 6f 72 79 2d 70 61 74 68 20    28 66 61 6b 69 72 2d 66 69 6c 65 2d 64 69 72 65  | (directory-path.(fakir-file-dire | 
| 4620 |  63 74 6f 72 79 20 66 61 6b 65 64 2d 66 69 6c 65    29 29 0a 20 20 20 20 20 20 20 20 28 70 61 74 68  | ctory.faked-file)).........(path | 
| 4640 |  20 22 22 29 0a 20 20 20 20 20 20 20 20 28 70 61    74 68 2d 6c 69 73 74 20 27 28 22 2f 22 29 29 29  | ."").........(path-list.'("/"))) | 
| 4660 |  0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 70 61    74 68 2d 70 61 72 74 20 28 73 70 6c 69 74 2d 73  | .....(dolist.(path-part.(split-s | 
| 4680 |  74 72 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2d    70 61 74 68 20 22 2f 22 20 74 29 29 0a 20 20 20  | tring.directory-path."/".t)).... | 
| 46a0 |  20 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e    74 2d 70 61 74 68 20 28 63 6f 6e 63 61 74 20 70  | ...(let.((current-path.(concat.p | 
| 46c0 |  61 74 68 20 22 2f 22 20 70 61 74 68 2d 70 61 72    74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75  | ath."/".path-part))).........(pu | 
| 46e0 |  73 68 20 63 75 72 72 65 6e 74 2d 70 61 74 68 20    70 61 74 68 2d 6c 69 73 74 29 0a 20 20 20 20 20  | sh.current-path.path-list)...... | 
| 4700 |  20 20 20 28 73 65 74 71 20 70 61 74 68 20 63 75    72 72 65 6e 74 2d 70 61 74 68 29 29 29 0a 20 20  | ...(setq.path.current-path)))... | 
| 4720 |  20 20 70 61 74 68 2d 6c 69 73 74 29 29 0a 0a 28    64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 6e 61 6d  | ..path-list))..(defun.fakir--nam | 
| 4740 |  65 73 70 61 63 65 2d 70 75 74 20 28 66 61 6b 65    64 2d 66 69 6c 65 20 6e 61 6d 65 73 70 61 63 65  | espace-put.(faked-file.namespace | 
| 4760 |  29 0a 20 20 22 50 75 74 20 67 69 76 65 6e 20 46    41 4b 45 44 2d 46 49 4c 45 20 61 6e 64 20 69 74  | )..."Put.given.FAKED-FILE.and.it | 
| 4780 |  73 20 70 61 72 65 6e 74 20 66 6f 6c 64 65 72 73    20 69 6e 74 6f 20 74 68 65 20 67 69 76 65 6e 20  | s.parent.folders.into.the.given. | 
| 47a0 |  4e 41 4d 45 53 50 41 43 45 2e 22 0a 20 20 28 70    75 74 68 61 73 68 20 28 66 61 6b 69 72 2d 2d 66  | NAMESPACE."...(puthash.(fakir--f | 
| 47c0 |  69 6c 65 2d 70 61 74 68 20 66 61 6b 65 64 2d 66    69 6c 65 29 20 66 61 6b 65 64 2d 66 69 6c 65 20  | ile-path.faked-file).faked-file. | 
| 47e0 |  6e 61 6d 65 73 70 61 63 65 29 0a 20 20 28 64 6f    6c 69 73 74 20 28 70 61 72 65 6e 74 2d 64 69 72  | namespace)...(dolist.(parent-dir | 
| 4800 |  20 28 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 70 61    72 65 6e 74 2d 64 69 72 65 63 74 6f 72 69 65 73  | .(fakir--file-parent-directories | 
| 4820 |  20 66 61 6b 65 64 2d 66 69 6c 65 29 29 0a 20 20    20 20 28 70 75 74 68 61 73 68 0a 20 20 20 20 20  | .faked-file)).....(puthash...... | 
| 4840 |  70 61 72 65 6e 74 2d 64 69 72 0a 20 20 20 20 20    28 66 61 6b 69 72 2d 66 69 6c 65 0a 20 20 20 20  | parent-dir......(fakir-file..... | 
| 4860 |  20 20 3a 66 69 6c 65 6e 61 6d 65 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74  | ..:filename.(file-name-nondirect | 
| 4880 |  6f 72 79 20 70 61 72 65 6e 74 2d 64 69 72 29 0a    20 20 20 20 20 20 3a 64 69 72 65 63 74 6f 72 79  | ory.parent-dir).......:directory | 
| 48a0 |  20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65    63 74 6f 72 79 20 70 61 72 65 6e 74 2d 64 69 72  | .(file-name-directory.parent-dir | 
| 48c0 |  29 0a 20 20 20 20 20 20 3a 63 6f 6e 74 65 6e 74    20 22 22 0a 20 20 20 20 20 20 3a 64 69 72 65 63  | ).......:content."".......:direc | 
| 48e0 |  74 6f 72 79 2d 70 20 74 29 0a 20 20 20 20 20 6e    61 6d 65 73 70 61 63 65 29 29 29 0a 0a 28 64 65  | tory-p.t)......namespace)))..(de | 
| 4900 |  66 75 6e 20 66 61 6b 69 72 2d 2d 6e 61 6d 65 73    70 61 63 65 20 28 66 61 6b 65 64 2d 66 69 6c 65  | fun.fakir--namespace.(faked-file | 
| 4920 |  20 26 72 65 73 74 20 6f 74 68 65 72 2d 66 69 6c    65 73 29 0a 20 20 22 4d 61 6b 65 20 61 20 6e 61  | .&rest.other-files)..."Make.a.na | 
| 4940 |  6d 65 73 70 61 63 65 20 77 69 74 68 20 46 41 4b    45 44 2d 46 49 4c 45 20 69 6e 20 69 74 2e 0a 0a  | mespace.with.FAKED-FILE.in.it... | 
| 4960 |  41 6c 73 6f 20 61 64 64 73 20 74 68 65 20 64 69    72 65 63 74 6f 72 79 20 66 6f 72 20 74 68 65 20  | Also.adds.the.directory.for.the. | 
| 4980 |  46 41 4b 45 44 2d 46 49 4c 45 2e 0a 0a 49 66 20    4f 54 48 45 52 2d 46 49 4c 45 53 20 61 72 65 20  | FAKED-FILE...If.OTHER-FILES.are. | 
| 49a0 |  73 70 65 63 69 66 69 65 64 20 74 68 65 79 20 61    72 65 20 61 64 64 65 64 20 74 6f 2e 22 0a 20 20  | specified.they.are.added.to."... | 
| 49c0 |  28 6c 65 74 20 28 28 6e 73 20 28 6d 61 6b 65 2d    68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74  | (let.((ns.(make-hash-table.:test | 
| 49e0 |  20 27 65 71 75 61 6c 29 29 29 0a 20 20 20 20 28    66 61 6b 69 72 2d 2d 6e 61 6d 65 73 70 61 63 65  | .'equal))).....(fakir--namespace | 
| 4a00 |  2d 70 75 74 20 66 61 6b 65 64 2d 66 69 6c 65 20    6e 73 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20  | -put.faked-file.ns).....(dolist. | 
| 4a20 |  28 6f 74 68 65 72 2d 66 69 6c 65 20 6f 74 68 65    72 2d 66 69 6c 65 73 29 0a 20 20 20 20 20 20 28  | (other-file.other-files).......( | 
| 4a40 |  66 61 6b 69 72 2d 2d 6e 61 6d 65 73 70 61 63 65    2d 70 75 74 20 6f 74 68 65 72 2d 66 69 6c 65 20  | fakir--namespace-put.other-file. | 
| 4a60 |  6e 73 29 29 0a 20 20 20 20 6e 73 29 29 0a 0a 28    64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 6e 61 6d  | ns)).....ns))..(defun.fakir--nam | 
| 4a80 |  65 73 70 61 63 65 2d 6c 6f 6f 6b 75 70 20 28 66    69 6c 65 2d 6e 61 6d 65 20 6e 61 6d 65 73 70 61  | espace-lookup.(file-name.namespa | 
| 4aa0 |  63 65 29 0a 20 20 22 4c 6f 6f 6b 75 70 20 46 49    4c 45 2d 4e 41 4d 45 20 69 6e 20 4e 41 4d 45 53  | ce)..."Lookup.FILE-NAME.in.NAMES | 
| 4ac0 |  50 41 43 45 2e 0a 0a 4c 6f 6f 6b 73 20 75 70 20    74 68 65 20 46 49 4c 45 2d 4e 41 4d 45 22 0a 20  | PACE...Looks.up.the.FILE-NAME".. | 
| 4ae0 |  20 28 6b 76 68 61 73 68 2d 3e 61 6c 69 73 74 20    6e 61 6d 65 73 70 61 63 65 29 0a 20 20 28 6f 72  | .(kvhash->alist.namespace)...(or | 
| 4b00 |  0a 20 20 20 28 67 65 74 68 61 73 68 20 66 69 6c    65 2d 6e 61 6d 65 20 6e 61 6d 65 73 70 61 63 65  | ....(gethash.file-name.namespace | 
| 4b20 |  29 0a 20 20 20 28 67 65 74 68 61 73 68 0a 20 20    20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d  | )....(gethash.....(file-name-as- | 
| 4b40 |  64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 2d 6e    61 6d 65 29 0a 20 20 20 20 6e 61 6d 65 73 70 61  | directory.file-name).....namespa | 
| 4b60 |  63 65 29 29 29 0a 0a 28 64 65 66 76 61 72 20 66    61 6b 69 72 2d 66 69 6c 65 2d 6e 61 6d 65 73 70  | ce)))..(defvar.fakir-file-namesp | 
| 4b80 |  61 63 65 20 6e 69 6c 0a 20 20 22 4e 61 6d 65 73    70 61 63 65 20 75 73 65 64 20 62 79 20 60 66 61  | ace.nil..."Namespace.used.by.`fa | 
| 4ba0 |  6b 69 72 2d 2d 66 69 6c 65 2d 63 6f 6e 64 27 2e    22 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 66 61  | kir--file-cond'.")..(defmacro.fa | 
| 4bc0 |  6b 69 72 2d 2d 66 69 6c 65 2d 63 6f 6e 64 20 28    66 69 6c 65 2d 6e 61 6d 65 20 74 68 65 6e 20 26  | kir--file-cond.(file-name.then.& | 
| 4be0 |  72 65 73 74 20 65 6c 73 65 29 0a 20 20 22 44 6f    20 54 48 45 4e 20 6f 72 20 45 4c 53 45 20 69 66  | rest.else)..."Do.THEN.or.ELSE.if | 
| 4c00 |  20 46 49 4c 45 2d 4e 41 4d 45 20 69 73 20 61 20    66 61 6b 65 64 20 66 69 6c 65 2e 0a 0a 55 73 65  | .FILE-NAME.is.a.faked.file...Use | 
| 4c20 |  73 20 74 68 65 20 60 66 61 6b 69 72 2d 66 69 6c    65 2d 6e 61 6d 65 70 73 61 63 65 27 20 74 6f 20  | s.the.`fakir-file-namepsace'.to. | 
| 4c40 |  64 65 74 65 63 74 20 74 68 61 74 2e 0a 0a 54 68    65 20 60 66 61 6b 69 72 2d 66 69 6c 65 27 20 66  | detect.that...The.`fakir-file'.f | 
| 4c60 |  6f 72 20 74 68 65 20 46 49 4c 45 2d 4e 41 4d 45    20 69 73 20 6c 6f 63 61 6c 6c 79 20 62 6f 75 6e  | or.the.FILE-NAME.is.locally.boun | 
| 4c80 |  64 20 69 6e 20 74 68 65 20 54 48 45 4e 0a 63 6c    61 75 73 65 20 74 6f 20 60 74 68 69 73 2d 66 61  | d.in.the.THEN.clause.to.`this-fa | 
| 4ca0 |  6b 69 72 2d 66 69 6c 65 27 2e 22 0a 20 20 28 64    65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31  | kir-file'."...(declare.(indent.1 | 
| 4cc0 |  29 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65    2d 6e 61 6d 65 2d 76 20 28 6d 61 6b 65 2d 73 79  | ))...(let.((file-name-v.(make-sy | 
| 4ce0 |  6d 62 6f 6c 20 22 66 69 6c 65 2d 6e 61 6d 65 76    22 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 75  | mbol."file-namev")).........(fou | 
| 4d00 |  6e 64 2d 66 69 6c 65 20 28 6d 61 6b 65 2d 73 79    6d 62 6f 6c 20 22 66 66 22 29 29 29 0a 20 20 20  | nd-file.(make-symbol."ff"))).... | 
| 4d20 |  20 60 28 6c 65 74 2a 20 28 28 2c 66 69 6c 65 2d    6e 61 6d 65 2d 76 20 2c 66 69 6c 65 2d 6e 61 6d  | .`(let*.((,file-name-v.,file-nam | 
| 4d40 |  65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28    2c 66 6f 75 6e 64 2d 66 69 6c 65 0a 20 20 20 20  | e).............(,found-file..... | 
| 4d60 |  20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72 2d    2d 6e 61 6d 65 73 70 61 63 65 2d 6c 6f 6f 6b 75  | .........(fakir--namespace-looku | 
| 4d80 |  70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    2c 66 69 6c 65 2d 6e 61 6d 65 2d 76 20 66 61 6b  | p...............,file-name-v.fak | 
| 4da0 |  69 72 2d 66 69 6c 65 2d 6e 61 6d 65 73 70 61 63    65 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20  | ir-file-namespace)))........(if. | 
| 4dc0 |  28 66 61 6b 69 72 2d 66 69 6c 65 2d 70 20 2c 66    6f 75 6e 64 2d 66 69 6c 65 29 0a 20 20 20 20 20  | (fakir-file-p.,found-file)...... | 
| 4de0 |  20 20 20 20 20 20 28 6c 65 74 20 28 28 74 68 69    73 2d 66 61 6b 69 72 2d 66 69 6c 65 20 2c 66 6f  | ......(let.((this-fakir-file.,fo | 
| 4e00 |  75 6e 64 2d 66 69 6c 65 29 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 2c 74 68 65 6e 29 0a 20  | und-file))..............,then).. | 
| 4e20 |  20 20 20 20 20 20 20 20 20 20 2c 40 65 6c 73 65    29 29 29 29 0a 0a 28 64 65 66 75 6e 20 66 61 6b  | ..........,@else))))..(defun.fak | 
| 4e40 |  69 72 2d 2d 77 72 69 74 65 2d 72 65 67 69 6f 6e    20 28 66 61 6b 69 72 2d 66 69 6c 65 20 73 74 61  | ir--write-region.(fakir-file.sta | 
| 4e60 |  72 74 20 65 6e 64 20 66 69 6c 65 2d 6e 61 6d 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | rt.end.file-name................ | 
| 4e80 |  20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70    74 69 6f 6e 61 6c 20 61 70 70 65 6e 64 20 76 69  | .............&optional.append.vi | 
| 4ea0 |  73 69 74 20 6c 6f 63 6b 6e 61 6d 65 20 6d 75 73    74 62 65 6e 65 77 29 0a 20 20 22 46 61 6b 65 20  | sit.lockname.mustbenew)..."Fake. | 
| 4ec0 |  60 77 72 69 74 65 2d 72 65 67 69 6f 6e 27 20 66    75 6e 63 74 69 6f 6e 20 74 6f 20 77 72 69 74 65  | `write-region'.function.to.write | 
| 4ee0 |  20 74 6f 20 46 41 4b 49 52 2d 46 49 4c 45 2e 0a    0a 60 66 61 6b 69 72 2d 66 61 6b 65 2d 66 69 6c  | .to.FAKIR-FILE...`fakir-fake-fil | 
| 4f00 |  65 27 20 64 6f 65 73 20 6e 6f 74 20 63 61 6c 6c    20 74 68 69 73 20 75 6e 6c 65 73 73 20 74 68 65  | e'.does.not.call.this.unless.the | 
| 4f20 |  20 46 49 4c 45 2d 4e 41 4d 45 20 65 78 69 73 74    73 0a 61 73 20 61 20 64 65 63 6c 61 72 65 64 20  | .FILE-NAME.exists.as.a.declared. | 
| 4f40 |  66 61 6b 65 2d 66 69 6c 65 2e 20 20 54 68 75 73    20 79 6f 75 20 63 61 6e 6e 6f 74 20 75 73 65 20  | fake-file...Thus.you.cannot.use. | 
| 4f60 |  74 68 69 73 20 74 6f 20 73 61 76 65 20 66 69 6c    65 73 0a 79 6f 75 20 68 61 76 65 20 6e 6f 74 20  | this.to.save.files.you.have.not. | 
| 4f80 |  65 78 70 6c 69 63 69 74 6c 79 20 64 65 63 6c 61    72 65 64 20 61 73 20 66 61 6b 65 2e 22 0a 20 20  | explicitly.declared.as.fake."... | 
| 4fa0 |  28 6c 65 74 20 28 28 74 6f 2d 77 72 69 74 65 0a    20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20  | (let.((to-write..........(cond.. | 
| 4fc0 |  20 20 20 20 20 20 20 20 20 20 28 28 65 71 75 61    6c 20 73 74 61 72 74 20 6e 69 6c 29 20 28 62 75  | ..........((equal.start.nil).(bu | 
| 4fe0 |  66 66 65 72 2d 73 74 72 69 6e 67 29 29 0a 20 20    20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e  | ffer-string))............((strin | 
| 5000 |  67 70 20 73 74 61 72 74 29 20 73 74 61 72 74 29    0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28  | gp.start).start)............(t.( | 
| 5020 |  62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67    20 73 74 61 72 74 20 65 6e 64 29 29 29 29 29 0a  | buffer-substring.start.end))))). | 
| 5040 |  20 20 20 20 28 73 65 74 66 0a 20 20 20 20 20 28    66 61 6b 69 72 2d 66 69 6c 65 2d 63 6f 6e 74 65  | ....(setf......(fakir-file-conte | 
| 5060 |  6e 74 20 66 61 6b 69 72 2d 66 69 6c 65 29 0a 20    20 20 20 20 28 69 66 20 61 70 70 65 6e 64 0a 20  | nt.fakir-file)......(if.append.. | 
| 5080 |  20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20    28 66 61 6b 69 72 2d 66 69 6c 65 2d 63 6f 6e 74  | ........(concat.(fakir-file-cont | 
| 50a0 |  65 6e 74 20 66 61 6b 69 72 2d 66 69 6c 65 29 20    74 6f 2d 77 72 69 74 65 29 0a 20 20 20 20 20 20  | ent.fakir-file).to-write)....... | 
| 50c0 |  20 20 20 74 6f 2d 77 72 69 74 65 29 29 29 29 0a    0a 28 64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 70  | ...to-write))))..(defun.fakir--p | 
| 50e0 |  61 72 65 6e 74 2d 66 61 6b 69 72 2d 66 69 6c 65    20 28 66 69 6c 65 29 0a 20 20 22 52 65 74 75 72  | arent-fakir-file.(file)..."Retur | 
| 5100 |  6e 20 74 68 65 20 70 61 72 65 6e 74 20 66 61 6b    69 72 2d 66 69 6c 65 20 66 6f 72 20 46 49 4c 45  | n.the.parent.fakir-file.for.FILE | 
| 5120 |  20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e    74 20 6e 61 6d 65 73 70 61 63 65 2e 22 0a 20 20  | .from.the.current.namespace."... | 
| 5140 |  28 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 63 68 65    63 6b 20 66 69 6c 65 29 0a 20 20 28 6c 65 74 20  | (fakir--file-check.file)...(let. | 
| 5160 |  28 28 70 61 72 65 6e 74 2d 66 69 6c 65 2d 6e 61    6d 65 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69  | ((parent-file-name.(directory-fi | 
| 5180 |  6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | le-name......................... | 
| 51a0 |  20 20 20 28 66 61 6b 69 72 2d 66 69 6c 65 2d 64    69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 29  | ...(fakir-file-directory.file))) | 
| 51c0 |  29 0a 20 20 20 20 28 66 61 6b 69 72 2d 2d 6e 61    6d 65 73 70 61 63 65 2d 6c 6f 6f 6b 75 70 20 70  | ).....(fakir--namespace-lookup.p | 
| 51e0 |  61 72 65 6e 74 2d 66 69 6c 65 2d 6e 61 6d 65 20    66 61 6b 69 72 2d 66 69 6c 65 2d 6e 61 6d 65 73  | arent-file-name.fakir-file-names | 
| 5200 |  70 61 63 65 29 29 29 0a 0a 28 64 65 66 75 6e 20    66 61 6b 69 72 2d 2d 64 69 72 65 63 74 6f 72 79  | pace)))..(defun.fakir--directory | 
| 5220 |  2d 66 61 6b 69 72 2d 66 69 6c 65 73 20 28 64 69    72 65 63 74 6f 72 79 29 0a 20 20 22 52 65 74 75  | -fakir-files.(directory)..."Retu | 
| 5240 |  72 6e 20 61 6c 6c 20 66 61 6b 69 72 2d 66 69 6c    65 73 20 74 68 61 74 20 61 72 65 20 69 6e 73 69  | rn.all.fakir-files.that.are.insi | 
| 5260 |  64 65 20 74 68 65 20 67 69 76 65 6e 20 44 49 52    45 43 54 4f 52 59 2e 22 0a 20 20 28 6c 65 74 20  | de.the.given.DIRECTORY."...(let. | 
| 5280 |  28 28 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c    65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74  | ((directory.(file-name-as-direct | 
| 52a0 |  6f 72 79 20 64 69 72 65 63 74 6f 72 79 29 29 0a    20 20 20 20 20 20 20 20 64 69 72 65 63 74 6f 72  | ory.directory)).........director | 
| 52c0 |  79 2d 66 61 6b 69 72 2d 66 69 6c 65 73 29 0a 0a    20 20 20 20 28 6c 6f 6f 70 20 66 6f 72 20 66 61  | y-fakir-files)......(loop.for.fa | 
| 52e0 |  6b 69 72 2d 66 69 6c 65 20 62 65 69 6e 67 20 74    68 65 20 68 61 73 68 2d 76 61 6c 75 65 20 6f 66  | kir-file.being.the.hash-value.of | 
| 5300 |  20 66 61 6b 69 72 2d 66 69 6c 65 2d 6e 61 6d 65    73 70 61 63 65 0a 20 20 20 20 20 20 20 20 20 20  | .fakir-file-namespace........... | 
| 5320 |  69 66 20 28 65 71 75 61 6c 20 28 66 69 6c 65 2d    6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72  | if.(equal.(file-name-as-director | 
| 5340 |  79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 66 61 6b 69 72 2d 66 69  | y......................(fakir-fi | 
| 5360 |  6c 65 2d 64 69 72 65 63 74 6f 72 79 20 66 61 6b    69 72 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20  | le-directory.fakir-file))....... | 
| 5380 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69    72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20  | ..............directory)........ | 
| 53a0 |  20 20 20 63 6f 6c 6c 65 63 74 20 66 61 6b 69 72    2d 66 69 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e  | ...collect.fakir-file)))..(defun | 
| 53c0 |  20 66 61 6b 69 72 2d 2d 64 69 72 65 63 74 6f 72    79 2d 66 69 6c 65 73 2d 61 6e 64 2d 61 74 74 72  | .fakir--directory-files-and-attr | 
| 53e0 |  69 62 75 74 65 73 20 28 64 69 72 65 63 74 6f 72    79 20 26 6f 70 74 69 6f 6e 61 6c 20 66 75 6c 6c  | ibutes.(directory.&optional.full | 
| 5400 |  20 6d 61 74 63 68 20 6e 6f 73 6f 72 74 20 69 64    2d 66 6f 72 6d 61 74 29 0a 20 20 22 52 65 74 75  | .match.nosort.id-format)..."Retu | 
| 5420 |  72 6e 20 61 20 6c 69 73 74 20 6f 66 20 66 61 6b    65 64 20 66 69 6c 65 73 20 61 6e 64 20 74 68 65  | rn.a.list.of.faked.files.and.the | 
| 5440 |  69 72 20 66 61 6b 65 64 20 61 74 74 72 69 62 75    74 65 73 20 69 6e 20 44 49 52 45 43 54 4f 52 59  | ir.faked.attributes.in.DIRECTORY | 
| 5460 |  2e 0a 0a 54 68 65 72 65 20 61 72 65 20 66 6f 75    72 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d  | ...There.are.four.optional.argum | 
| 5480 |  65 6e 74 73 3a 0a 49 66 20 46 55 4c 4c 20 69 73    20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 74 75 72 6e  | ents:.If.FULL.is.non-nil,.return | 
| 54a0 |  20 61 62 73 6f 6c 75 74 65 20 66 69 6c 65 20 6e    61 6d 65 73 2e 20 20 4f 74 68 65 72 77 69 73 65  | .absolute.file.names...Otherwise | 
| 54c0 |  20 72 65 74 75 72 6e 20 6e 61 6d 65 73 0a 20 74    68 61 74 20 61 72 65 20 72 65 6c 61 74 69 76 65  | .return.names..that.are.relative | 
| 54e0 |  20 74 6f 20 74 68 65 20 73 70 65 63 69 66 69 65    64 20 64 69 72 65 63 74 6f 72 79 2e 0a 49 66 20  | .to.the.specified.directory..If. | 
| 5500 |  4d 41 54 43 48 20 69 73 20 6e 6f 6e 2d 6e 69 6c    2c 20 6d 65 6e 74 69 6f 6e 20 6f 6e 6c 79 20 66  | MATCH.is.non-nil,.mention.only.f | 
| 5520 |  69 6c 65 20 6e 61 6d 65 73 20 74 68 61 74 20 6d    61 74 63 68 20 74 68 65 20 72 65 67 65 78 70 20  | ile.names.that.match.the.regexp. | 
| 5540 |  4d 41 54 43 48 2e 0a 49 66 20 4e 4f 53 4f 52 54    20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65  | MATCH..If.NOSORT.is.non-nil,.the | 
| 5560 |  20 6c 69 73 74 20 69 73 20 6e 6f 74 20 73 6f 72    74 65 64 2d 2d 69 74 73 20 6f 72 64 65 72 20 69  | .list.is.not.sorted--its.order.i | 
| 5580 |  73 20 75 6e 70 72 65 64 69 63 74 61 62 6c 65 2e    0a 20 4e 4f 53 4f 52 54 20 69 73 20 75 73 65 66  | s.unpredictable...NOSORT.is.usef | 
| 55a0 |  75 6c 20 69 66 20 79 6f 75 20 70 6c 61 6e 20 74    6f 20 73 6f 72 74 20 74 68 65 20 72 65 73 75 6c  | ul.if.you.plan.to.sort.the.resul | 
| 55c0 |  74 20 79 6f 75 72 73 65 6c 66 2e 0a 49 44 2d 46    4f 52 4d 41 54 20 69 73 20 69 67 6e 6f 72 65 64  | t.yourself..ID-FORMAT.is.ignored | 
| 55e0 |  2e 20 20 49 6e 73 74 65 61 64 20 77 65 20 75 73    65 20 74 68 65 20 66 61 6b 69 72 20 66 6f 72 6d  | ...Instead.we.use.the.fakir.form | 
| 5600 |  61 74 20 28 73 65 65 20 60 66 61 6b 69 72 2d 2d    66 69 6c 65 2d 61 74 74 72 69 62 73 27 29 2e 22  | at.(see.`fakir--file-attribs')." | 
| 5620 |  0a 20 20 28 6c 65 74 2a 20 28 28 64 69 72 65 63    74 6f 72 79 2d 66 61 6b 69 72 2d 66 69 6c 65 0a  | ...(let*.((directory-fakir-file. | 
| 5640 |  20 20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72    2d 2d 6e 61 6d 65 73 70 61 63 65 2d 6c 6f 6f 6b  | ..........(fakir--namespace-look | 
| 5660 |  75 70 0a 20 20 20 20 20 20 20 20 20 20 20 64 69    72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20  | up............directory......... | 
| 5680 |  20 20 20 66 61 6b 69 72 2d 66 69 6c 65 2d 6e 61    6d 65 73 70 61 63 65 29 29 0a 20 20 20 20 20 20  | ...fakir-file-namespace))....... | 
| 56a0 |  20 20 20 28 70 61 72 65 6e 74 2d 66 61 6b 69 72    2d 66 69 6c 65 20 28 66 61 6b 69 72 2d 2d 70 61  | ...(parent-fakir-file.(fakir--pa | 
| 56c0 |  72 65 6e 74 2d 66 61 6b 69 72 2d 66 69 6c 65 20    64 69 72 65 63 74 6f 72 79 2d 66 61 6b 69 72 2d  | rent-fakir-file.directory-fakir- | 
| 56e0 |  66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20    28 64 69 72 65 63 74 6f 72 79 2d 66 61 6b 69 72  | file))..........(directory-fakir | 
| 5700 |  2d 66 69 6c 65 73 20 28 66 61 6b 69 72 2d 2d 64    69 72 65 63 74 6f 72 79 2d 66 61 6b 69 72 2d 66  | -files.(fakir--directory-fakir-f | 
| 5720 |  69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 29 29    0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 2d  | iles.directory))..........files- | 
| 5740 |  61 6e 64 2d 61 74 74 72 69 62 75 74 65 73 29 0a    0a 20 20 20 20 28 69 66 20 28 6f 72 20 28 6e 6f  | and-attributes)......(if.(or.(no | 
| 5760 |  74 20 6d 61 74 63 68 29 20 28 73 74 72 69 6e 67    2d 6d 61 74 63 68 20 6d 61 74 63 68 20 22 2e 22  | t.match).(string-match.match."." | 
| 5780 |  29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68    20 28 63 6f 6e 73 20 28 69 66 20 66 75 6c 6c 0a  | )).........(push.(cons.(if.full. | 
| 57a0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28  | .......................(concat.( | 
| 57c0 |  66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72    65 63 74 6f 72 79 20 64 69 72 65 63 74 6f 72 79  | file-name-as-directory.directory | 
| 57e0 |  29 20 22 2e 22 29 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 22 2e 22 29  | ).".")......................".") | 
| 5800 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 61 6b 69 72 2d 2d 66 69 6c 65  | ....................(fakir--file | 
| 5820 |  2d 61 74 74 72 69 62 73 20 64 69 72 65 63 74 6f    72 79 2d 66 61 6b 69 72 2d 66 69 6c 65 29 29 0a  | -attribs.directory-fakir-file)). | 
| 5840 |  20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c    65 73 2d 61 6e 64 2d 61 74 74 72 69 62 75 74 65  | .............files-and-attribute | 
| 5860 |  73 29 29 0a 0a 20 20 20 20 28 69 66 20 28 6f 72    20 28 6e 6f 74 20 6d 61 74 63 68 29 20 28 73 74  | s))......(if.(or.(not.match).(st | 
| 5880 |  72 69 6e 67 2d 6d 61 74 63 68 20 6d 61 74 63 68    20 22 2e 2e 22 29 29 0a 20 20 20 20 20 20 20 20  | ring-match.match.".."))......... | 
| 58a0 |  28 70 75 73 68 20 28 63 6f 6e 73 20 28 69 66 20    66 75 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20  | (push.(cons.(if.full............ | 
| 58c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f    6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d  | .............(concat.(file-name- | 
| 58e0 |  61 73 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72    65 63 74 6f 72 79 29 20 22 2e 2e 22 29 0a 20 20  | as-directory.directory)."..")... | 
| 5900 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 22 2e 2e 22 29 0a 20 20 20 20 20 20  | ...................."..")....... | 
| 5920 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    61 6b 69 72 2d 2d 66 69 6c 65 2d 61 74 74 72 69  | ..............(fakir--file-attri | 
| 5940 |  62 73 20 70 61 72 65 6e 74 2d 66 61 6b 69 72 2d    66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20  | bs.parent-fakir-file)).......... | 
| 5960 |  20 20 20 20 20 66 69 6c 65 73 2d 61 6e 64 2d 61    74 74 72 69 62 75 74 65 73 29 29 0a 0a 20 20 20  | .....files-and-attributes))..... | 
| 5980 |  20 28 64 6f 6c 69 73 74 20 28 66 61 6b 69 72 2d    66 69 6c 65 20 64 69 72 65 63 74 6f 72 79 2d 66  | .(dolist.(fakir-file.directory-f | 
| 59a0 |  61 6b 69 72 2d 66 69 6c 65 73 29 0a 20 20 20 20    20 20 28 69 66 20 28 6f 72 20 28 6e 6f 74 20 6d  | akir-files).......(if.(or.(not.m | 
| 59c0 |  61 74 63 68 29 20 28 73 74 72 69 6e 67 2d 6d 61    74 63 68 20 6d 61 74 63 68 20 28 66 61 6b 69 72  | atch).(string-match.match.(fakir | 
| 59e0 |  2d 66 69 6c 65 2d 66 69 6c 65 6e 61 6d 65 20 66    61 6b 69 72 2d 66 69 6c 65 29 29 29 0a 20 20 20  | -file-filename.fakir-file))).... | 
| 5a00 |  20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f    6e 73 20 28 69 66 20 66 75 6c 6c 0a 20 20 20 20  | .......(push.(cons.(if.full..... | 
| 5a20 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 61 6b 69 72 2d 2d 66 69  | ......................(fakir--fi | 
| 5a40 |  6c 65 2d 66 71 6e 20 66 61 6b 69 72 2d 66 69 6c    65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | le-fqn.fakir-file).............. | 
| 5a60 |  20 20 20 20 20 20 20 20 20 20 20 28 66 61 6b 69    72 2d 66 69 6c 65 2d 66 69 6c 65 6e 61 6d 65 20  | ...........(fakir-file-filename. | 
| 5a80 |  66 61 6b 69 72 2d 66 69 6c 65 29 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | fakir-file)).................... | 
| 5aa0 |  20 20 20 28 66 61 6b 69 72 2d 2d 66 69 6c 65 2d    61 74 74 72 69 62 73 20 66 61 6b 69 72 2d 66 69  | ...(fakir--file-attribs.fakir-fi | 
| 5ac0 |  6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 66 69 6c 65 73 2d 61 6e 64 2d 61  | le)).................files-and-a | 
| 5ae0 |  74 74 72 69 62 75 74 65 73 29 29 29 0a 0a 20 20    20 20 28 69 66 20 6e 6f 73 6f 72 74 0a 20 20 20  | ttributes)))......(if.nosort.... | 
| 5b00 |  20 20 20 20 20 66 69 6c 65 73 2d 61 6e 64 2d 61    74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 20  | .....files-and-attributes....... | 
| 5b20 |  28 73 6f 72 74 20 66 69 6c 65 73 2d 61 6e 64 2d    61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20  | (sort.files-and-attributes...... | 
| 5b40 |  20 20 20 20 20 20 20 23 27 28 6c 61 6d 62 64 61    20 28 73 31 20 73 32 29 0a 20 20 20 20 20 20 20  | .......#'(lambda.(s1.s2)........ | 
| 5b60 |  20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67    2d 6c 65 73 73 70 20 28 63 61 72 20 73 31 29 20  | .........(string-lessp.(car.s1). | 
| 5b80 |  28 63 61 72 20 73 32 29 29 29 29 29 29 29 0a 0a    28 64 65 66 75 6e 20 66 61 6b 69 72 2d 2d 64 69  | (car.s2)))))))..(defun.fakir--di | 
| 5ba0 |  72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 28 64    69 72 65 63 74 6f 72 79 20 26 6f 70 74 69 6f 6e  | rectory-files.(directory.&option | 
| 5bc0 |  61 6c 20 66 75 6c 6c 20 6d 61 74 63 68 20 6e 6f    73 6f 72 74 29 0a 20 20 22 52 65 74 75 72 6e 20  | al.full.match.nosort)..."Return. | 
| 5be0 |  61 20 6c 69 73 74 20 6f 66 20 6e 61 6d 65 73 20    6f 66 20 66 61 6b 65 64 20 66 69 6c 65 73 20 69  | a.list.of.names.of.faked.files.i | 
| 5c00 |  6e 20 44 49 52 45 43 54 4f 52 59 2e 0a 0a 54 68    65 72 65 20 61 72 65 20 74 68 72 65 65 20 6f 70  | n.DIRECTORY...There.are.three.op | 
| 5c20 |  74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73    3a 0a 49 66 20 46 55 4c 4c 20 69 73 20 6e 6f 6e  | tional.arguments:.If.FULL.is.non | 
| 5c40 |  2d 6e 69 6c 2c 20 72 65 74 75 72 6e 20 61 62 73    6f 6c 75 74 65 20 66 69 6c 65 20 6e 61 6d 65 73  | -nil,.return.absolute.file.names | 
| 5c60 |  2e 20 20 4f 74 68 65 72 77 69 73 65 20 72 65 74    75 72 6e 20 6e 61 6d 65 73 0a 20 74 68 61 74 20  | ...Otherwise.return.names..that. | 
| 5c80 |  61 72 65 20 72 65 6c 61 74 69 76 65 20 74 6f 20    74 68 65 20 73 70 65 63 69 66 69 65 64 20 64 69  | are.relative.to.the.specified.di | 
| 5ca0 |  72 65 63 74 6f 72 79 2e 0a 49 66 20 4d 41 54 43    48 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 6d 65  | rectory..If.MATCH.is.non-nil,.me | 
| 5cc0 |  6e 74 69 6f 6e 20 6f 6e 6c 79 20 66 69 6c 65 20    6e 61 6d 65 73 20 74 68 61 74 20 6d 61 74 63 68  | ntion.only.file.names.that.match | 
| 5ce0 |  20 74 68 65 20 72 65 67 65 78 70 20 4d 41 54 43    48 2e 0a 49 66 20 4e 4f 53 4f 52 54 20 69 73 20  | .the.regexp.MATCH..If.NOSORT.is. | 
| 5d00 |  6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 6c 69 73    74 20 69 73 20 6e 6f 74 20 73 6f 72 74 65 64 2d  | non-nil,.the.list.is.not.sorted- | 
| 5d20 |  2d 69 74 73 20 6f 72 64 65 72 20 69 73 20 75 6e    70 72 65 64 69 63 74 61 62 6c 65 2e 0a 20 4f 74  | -its.order.is.unpredictable...Ot | 
| 5d40 |  68 65 72 77 69 73 65 2c 20 74 68 65 20 6c 69 73    74 20 72 65 74 75 72 6e 65 64 20 69 73 20 73 6f  | herwise,.the.list.returned.is.so | 
| 5d60 |  72 74 65 64 20 77 69 74 68 20 60 73 74 72 69 6e    67 2d 6c 65 73 73 70 27 2e 0a 20 4e 4f 53 4f 52  | rted.with.`string-lessp'...NOSOR | 
| 5d80 |  54 20 69 73 20 75 73 65 66 75 6c 20 69 66 20 79    6f 75 20 70 6c 61 6e 20 74 6f 20 73 6f 72 74 20  | T.is.useful.if.you.plan.to.sort. | 
| 5da0 |  74 68 65 20 72 65 73 75 6c 74 20 79 6f 75 72 73    65 6c 66 2e 22 0a 20 20 28 6d 61 70 63 61 72 20  | the.result.yourself."...(mapcar. | 
| 5dc0 |  27 63 61 72 20 28 66 61 6b 69 72 2d 2d 64 69 72    65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 61 6e 64  | 'car.(fakir--directory-files-and | 
| 5de0 |  2d 61 74 74 72 69 62 75 74 65 73 20 64 69 72 65    63 74 6f 72 79 20 66 75 6c 6c 20 6d 61 74 63 68  | -attributes.directory.full.match | 
| 5e00 |  20 6e 6f 73 6f 72 74 29 29 29 0a 0a 28 64 65 66    6d 61 63 72 6f 20 66 61 6b 69 72 2d 66 61 6b 65  | .nosort)))..(defmacro.fakir-fake | 
| 5e20 |  2d 66 69 6c 65 20 28 66 61 6b 65 64 2d 66 69 6c    65 20 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20  | -file.(faked-file.&rest.body)... | 
| 5e40 |  22 46 61 6b 65 20 46 41 4b 45 44 2d 46 49 4c 45    20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 42 4f  | "Fake.FAKED-FILE.and.evaluate.BO | 
| 5e60 |  44 59 2e 0a 0a 46 41 4b 45 44 2d 46 49 4c 45 20    6d 75 73 74 20 62 65 20 61 20 60 66 61 6b 69 72  | DY...FAKED-FILE.must.be.a.`fakir | 
| 5e80 |  2d 66 69 6c 65 27 20 6f 62 6a 65 63 74 20 6f 72    20 61 20 6c 69 73 74 20 6f 66 0a 60 66 61 6b 69  | -file'.object.or.a.list.of.`faki | 
| 5ea0 |  72 2d 66 69 6c 65 27 20 6f 62 6a 65 63 74 73 2e    22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e  | r-file'.objects."...(declare.(in | 
| 5ec0 |  64 65 6e 74 20 31 29 0a 20 20 20 20 20 20 20 20    20 20 20 28 64 65 62 75 67 20 28 73 65 78 70 20  | dent.1)............(debug.(sexp. | 
| 5ee0 |  26 72 65 73 74 20 66 6f 72 6d 29 29 29 0a 20 20    28 6c 65 74 20 28 28 66 66 76 20 28 6d 61 6b 65  | &rest.form)))...(let.((ffv.(make | 
| 5f00 |  2d 73 79 6d 62 6f 6c 20 22 66 66 22 29 29 29 0a    20 20 20 20 60 28 6c 65 74 2a 20 28 28 2c 66 66  | -symbol."ff"))).....`(let*.((,ff | 
| 5f20 |  76 20 2c 66 61 6b 65 64 2d 66 69 6c 65 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 28 66 61 6b 69  | v.,faked-file).............(faki | 
| 5f40 |  72 2d 66 69 6c 65 2d 6e 61 6d 65 73 70 61 63 65    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69  | r-file-namespace..............(i | 
| 5f60 |  66 20 28 66 61 6b 69 72 2d 66 69 6c 65 2d 70 20    2c 66 66 76 29 0a 20 20 20 20 20 20 20 20 20 20  | f.(fakir-file-p.,ffv)........... | 
| 5f80 |  20 20 20 20 20 20 20 28 66 61 6b 69 72 2d 2d 6e    61 6d 65 73 70 61 63 65 20 2c 66 66 76 29 0a 20  | .......(fakir--namespace.,ffv).. | 
| 5fa0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    28 61 70 70 6c 79 20 27 66 61 6b 69 72 2d 2d 6e  | ................(apply.'fakir--n | 
| 5fc0 |  61 6d 65 73 70 61 63 65 20 2c 66 66 76 29 29 29    29 0a 20 20 20 20 20 20 20 28 6e 6f 66 6c 65 74  | amespace.,ffv))))........(noflet | 
| 5fe0 |  0a 20 20 20 20 20 20 20 20 20 20 20 28 28 65 78    70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28  | ............((expand-file-name.( | 
| 6000 |  66 69 6c 65 2d 6e 61 6d 65 20 26 6f 70 74 69 6f    6e 61 6c 20 64 69 72 29 0a 20 20 20 20 20 20 20  | file-name.&optional.dir)........ | 
| 6020 |  20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78    70 61 6e 64 65 64 0a 20 20 20 20 20 20 20 20 20  | .......(let.((expanded.......... | 
| 6040 |  20 20 20 20 20 20 20 20 20 20 20 20 28 66 61 6b    69 72 2d 2d 65 78 70 61 6e 64 2d 66 69 6c 65 2d  | ............(fakir--expand-file- | 
| 6060 |  6e 61 6d 65 20 66 69 6c 65 2d 6e 61 6d 65 20 64    69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | name.file-name.dir)))........... | 
| 6080 |  20 20 20 20 20 20 28 66 61 6b 69 72 2d 2d 66 69    6c 65 2d 63 6f 6e 64 20 65 78 70 61 6e 64 65 64  | ......(fakir--file-cond.expanded | 
| 60a0 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 65 78 70 61 6e 64 65 64 0a 20 20 20 20  | ...................expanded..... | 
| 60c0 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    75 6e 63 61 6c 6c 20 74 68 69 73 2d 66 6e 20 66  | ..............(funcall.this-fn.f | 
| 60e0 |  69 6c 65 2d 6e 61 6d 65 20 64 69 72 29 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69  | ile-name.dir)))).............(fi | 
| 6100 |  6c 65 2d 61 74 74 72 69 62 75 74 65 73 20 28 66    69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20  | le-attributes.(file-name)....... | 
| 6120 |  20 20 20 20 20 20 20 20 28 66 61 6b 69 72 2d 2d    66 69 6c 65 2d 63 6f 6e 64 20 66 69 6c 65 2d 6e  | ........(fakir--file-cond.file-n | 
| 6140 |  61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 61 6b 69 72 2d 2d 66 69 6c 65  | ame.................(fakir--file | 
| 6160 |  2d 61 74 74 72 69 62 73 20 74 68 69 73 2d 66 61    6b 69 72 2d 66 69 6c 65 29 0a 20 20 20 20 20 20  | -attribs.this-fakir-file)....... | 
| 6180 |  20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61    6c 6c 20 74 68 69 73 2d 66 6e 20 66 69 6c 65 2d  | ..........(funcall.this-fn.file- | 
| 61a0 |  6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 28 66 69 6c 65 2d 65 78 69 73 74 73  | name))).............(file-exists | 
| 61c0 |  2d 70 20 28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61  | -p.(file-name)...............(fa | 
| 61e0 |  6b 69 72 2d 2d 66 69 6c 65 2d 63 6f 6e 64 20 66    69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20  | kir--file-cond.file-name........ | 
| 6200 |  20 20 20 20 20 20 20 20 20 74 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63  | .........t.................(func | 
| 6220 |  61 6c 6c 20 74 68 69 73 2d 66 6e 20 66 69 6c 65    2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20  | all.this-fn.file-name)))........ | 
| 6240 |  20 20 20 20 20 28 66 69 6c 65 2d 64 69 72 65 63    74 6f 72 79 2d 70 20 28 66 69 6c 65 2d 6e 61 6d  | .....(file-directory-p.(file-nam | 
| 6260 |  65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 63 6f  | e)...............(fakir--file-co | 
| 6280 |  6e 64 20 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 61  | nd.file-name.................(fa | 
| 62a0 |  6b 69 72 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f    72 79 2d 70 20 74 68 69 73 2d 66 61 6b 69 72 2d  | kir-file-directory-p.this-fakir- | 
| 62c0 |  66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74  | file).................(funcall.t | 
| 62e0 |  68 69 73 2d 66 6e 20 66 69 6c 65 2d 6e 61 6d 65    29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | his-fn.file-name)))............. | 
| 6300 |  28 66 69 6c 65 2d 72 65 67 75 6c 61 72 2d 70 20    28 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20  | (file-regular-p.(file-name)..... | 
| 6320 |  20 20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72    2d 2d 66 69 6c 65 2d 63 6f 6e 64 20 66 69 6c 65  | ..........(fakir--file-cond.file | 
| 6340 |  2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 6e 6f 74 20 28 66 61 6b 69  | -name.................(not.(faki | 
| 6360 |  72 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79    2d 70 20 74 68 69 73 2d 66 61 6b 69 72 2d 66 69  | r-file-directory-p.this-fakir-fi | 
| 6380 |  6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 68  | le)).................(funcall.th | 
| 63a0 |  69 73 2d 66 6e 20 66 69 6c 65 2d 6e 61 6d 65 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | is-fn.file-name))).............( | 
| 63c0 |  77 72 69 74 65 2d 72 65 67 69 6f 6e 20 28 73 74    61 72 74 20 65 6e 64 20 66 69 6c 65 2d 6e 61 6d  | write-region.(start.end.file-nam | 
| 63e0 |  65 20 26 6f 70 74 69 6f 6e 61 6c 20 61 70 70 65    6e 64 20 76 69 73 69 74 20 6c 6f 63 6b 6e 61 6d  | e.&optional.append.visit.locknam | 
| 6400 |  65 20 6d 75 73 74 62 65 6e 65 77 29 0a 20 20 20    20 20 20 20 20 20 20 20 20 20 20 28 66 61 6b 69  | e.mustbenew)...............(faki | 
| 6420 |  72 2d 2d 66 69 6c 65 2d 63 6f 6e 64 20 66 69 6c    65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20  | r--file-cond.file-name.......... | 
| 6440 |  20 20 20 20 20 20 20 28 66 61 6b 69 72 2d 2d 77    72 69 74 65 2d 72 65 67 69 6f 6e 0a 20 20 20 20  | .......(fakir--write-region..... | 
| 6460 |  20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 69    73 2d 66 61 6b 69 72 2d 66 69 6c 65 20 3b 20 74  | .............this-fakir-file.;.t | 
| 6480 |  68 65 20 66 61 6b 65 64 20 66 69 6c 65 20 2d 20    73 68 6f 75 6c 64 20 6d 61 74 63 68 20 66 69 6c  | he.faked.file.-.should.match.fil | 
| 64a0 |  65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 73 74 61 72 74 20 65 6e  | e-name..................start.en | 
| 64c0 |  64 20 66 69 6c 65 2d 6e 61 6d 65 20 61 70 70 65    6e 64 20 76 69 73 69 74 20 6d 75 73 74 62 65 6e  | d.file-name.append.visit.mustben | 
| 64e0 |  65 77 29 0a 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 68 69  | ew).................(funcall.thi | 
| 6500 |  73 2d 66 6e 20 73 74 61 72 74 20 65 6e 64 20 66    69 6c 65 2d 6e 61 6d 65 20 61 70 70 65 6e 64 20  | s-fn.start.end.file-name.append. | 
| 6520 |  76 69 73 69 74 20 6d 75 73 74 62 65 6e 65 77 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | visit.mustbenew))).............( | 
| 6540 |  72 65 6e 61 6d 65 2d 66 69 6c 65 20 28 66 72 6f    6d 20 74 6f 29 0a 20 20 20 20 20 20 20 20 20 20  | rename-file.(from.to)........... | 
| 6560 |  20 20 20 20 28 66 61 6b 69 72 2d 2d 66 69 6c 65    2d 63 6f 6e 64 20 66 72 6f 6d 0a 20 20 20 20 20  | ....(fakir--file-cond.from...... | 
| 6580 |  20 20 20 20 20 20 20 20 20 20 20 28 66 61 6b 69    72 2d 2d 66 69 6c 65 2d 72 65 6e 61 6d 65 20 74  | ...........(fakir--file-rename.t | 
| 65a0 |  68 69 73 2d 66 61 6b 69 72 2d 66 69 6c 65 20 74    6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20  | his-fakir-file.to).............. | 
| 65c0 |  20 20 20 28 66 75 6e 63 61 6c 6c 20 74 68 69 73    2d 66 6e 20 66 72 6f 6d 20 74 6f 29 29 29 0a 20  | ...(funcall.this-fn.from.to))).. | 
| 65e0 |  20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65    72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73  | ...........(insert-file-contents | 
| 6600 |  0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20    20 28 66 69 6c 65 2d 6e 61 6d 65 20 26 6f 70 74  | .................(file-name.&opt | 
| 6620 |  69 6f 6e 61 6c 20 76 69 73 69 74 20 62 65 67 20    65 6e 64 20 72 65 70 6c 61 63 65 29 0a 20 20 20  | ional.visit.beg.end.replace).... | 
| 6640 |  20 20 20 20 20 20 20 20 20 20 20 28 66 61 6b 69    72 2d 2d 66 69 6c 65 2d 63 6f 6e 64 20 66 69 6c  | ...........(fakir--file-cond.fil | 
| 6660 |  65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28  | e-name.................(insert.( | 
| 6680 |  66 61 6b 69 72 2d 66 69 6c 65 2d 63 6f 6e 74 65    6e 74 20 74 68 69 73 2d 66 61 6b 69 72 2d 66 69  | fakir-file-content.this-fakir-fi | 
| 66a0 |  6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 68  | le)).................(funcall.th | 
| 66c0 |  69 73 2d 66 6e 20 66 69 6c 65 2d 6e 61 6d 65 29    29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28  | is-fn.file-name))).............( | 
| 66e0 |  69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74    65 6e 74 73 2d 6c 69 74 65 72 61 6c 6c 79 0a 20  | insert-file-contents-literally.. | 
| 6700 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28    66 69 6c 65 2d 6e 61 6d 65 20 26 6f 70 74 69 6f  | ...............(file-name.&optio | 
| 6720 |  6e 61 6c 20 76 69 73 69 74 20 62 65 67 20 65 6e    64 20 72 65 70 6c 61 63 65 29 0a 20 20 20 20 20  | nal.visit.beg.end.replace)...... | 
| 6740 |  20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72 2d    2d 66 69 6c 65 2d 63 6f 6e 64 20 66 69 6c 65 2d  | .........(fakir--file-cond.file- | 
| 6760 |  6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 61  | name.................(insert.(fa | 
| 6780 |  6b 69 72 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74    20 74 68 69 73 2d 66 61 6b 69 72 2d 66 69 6c 65  | kir-file-content.this-fakir-file | 
| 67a0 |  29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20    20 20 20 28 66 75 6e 63 61 6c 6c 20 74 68 69 73  | )).................(funcall.this | 
| 67c0 |  2d 66 6e 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69  | -fn.file-name))).............(fi | 
| 67e0 |  6e 64 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61    6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20  | nd-file.(file-name)............. | 
| 6800 |  20 20 28 66 61 6b 69 72 2d 2d 66 69 6c 65 2d 63    6f 6e 64 20 66 69 6c 65 2d 6e 61 6d 65 0a 20 20  | ..(fakir--file-cond.file-name... | 
| 6820 |  20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66    61 6b 69 72 2d 2d 66 69 6e 64 2d 66 69 6c 65 20  | ..............(fakir--find-file. | 
| 6840 |  74 68 69 73 2d 66 61 6b 69 72 2d 66 69 6c 65 29    0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | this-fakir-file)................ | 
| 6860 |  20 28 66 75 6e 63 61 6c 6c 20 74 68 69 73 2d 66    6e 20 66 69 6c 65 2d 6e 61 6d 65 29 29 29 0a 20  | .(funcall.this-fn.file-name))).. | 
| 6880 |  20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64    2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 28  | ...........(find-file-noselect.( | 
| 68a0 |  66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20    20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72 2d  | file-name)...............(fakir- | 
| 68c0 |  2d 66 69 6c 65 2d 63 6f 6e 64 20 66 69 6c 65 2d    6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20  | -file-cond.file-name............ | 
| 68e0 |  20 20 20 20 20 28 66 61 6b 69 72 2d 2d 66 69 6e    64 2d 66 69 6c 65 20 74 68 69 73 2d 66 61 6b 69  | .....(fakir--find-file.this-faki | 
| 6900 |  72 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c  | r-file).................(funcall | 
| 6920 |  20 74 68 69 73 2d 66 6e 20 66 69 6c 65 2d 6e 61    6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20  | .this-fn.file-name)))........... | 
| 6940 |  20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c    65 73 20 28 64 69 72 65 63 74 6f 72 79 20 26 6f  | ..(directory-files.(directory.&o | 
| 6960 |  70 74 69 6f 6e 61 6c 20 66 75 6c 6c 20 6d 61 74    63 68 20 6e 6f 73 6f 72 74 29 0a 20 20 20 20 20  | ptional.full.match.nosort)...... | 
| 6980 |  20 20 20 20 20 20 20 20 20 28 66 61 6b 69 72 2d    2d 66 69 6c 65 2d 63 6f 6e 64 20 64 69 72 65 63  | .........(fakir--file-cond.direc | 
| 69a0 |  74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20    20 20 20 20 20 28 66 61 6b 69 72 2d 2d 64 69 72  | tory.................(fakir--dir | 
| 69c0 |  65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72    65 63 74 6f 72 79 20 66 75 6c 6c 20 6d 61 74 63  | ectory-files.directory.full.matc | 
| 69e0 |  68 20 6e 6f 73 6f 72 74 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61  | h.nosort).................(funca | 
| 6a00 |  6c 6c 20 74 68 69 73 2d 66 6e 20 64 69 72 65 63    74 6f 72 79 20 66 75 6c 6c 20 6d 61 74 63 68 20  | ll.this-fn.directory.full.match. | 
| 6a20 |  6e 6f 73 6f 72 74 29 29 29 0a 20 20 20 20 20 20    20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79  | nosort))).............(directory | 
| 6a40 |  2d 66 69 6c 65 73 2d 61 6e 64 2d 61 74 74 72 69    62 75 74 65 73 20 28 64 69 72 65 63 74 6f 72 79  | -files-and-attributes.(directory | 
| 6a60 |  20 26 6f 70 74 69 6f 6e 61 6c 20 66 75 6c 6c 20    6d 61 74 63 68 20 6e 6f 73 6f 72 74 20 69 64 2d  | .&optional.full.match.nosort.id- | 
| 6a80 |  66 6f 72 6d 61 74 29 0a 20 20 20 20 20 20 20 20    20 20 20 20 20 20 28 66 61 6b 69 72 2d 2d 66 69  | format)...............(fakir--fi | 
| 6aa0 |  6c 65 2d 63 6f 6e 64 20 64 69 72 65 63 74 6f 72    79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | le-cond.directory............... | 
| 6ac0 |  20 20 28 66 61 6b 69 72 2d 2d 64 69 72 65 63 74    6f 72 79 2d 66 69 6c 65 73 2d 61 6e 64 2d 61 74  | ..(fakir--directory-files-and-at | 
| 6ae0 |  74 72 69 62 75 74 65 73 20 64 69 72 65 63 74 6f    72 79 20 66 75 6c 6c 20 6d 61 74 63 68 20 6e 6f  | tributes.directory.full.match.no | 
| 6b00 |  73 6f 72 74 20 69 64 2d 66 6f 72 6d 61 74 29 0a    20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  | sort.id-format)................. | 
| 6b20 |  28 66 75 6e 63 61 6c 6c 20 74 68 69 73 2d 66 6e    20 64 69 72 65 63 74 6f 72 79 20 66 75 6c 6c 20  | (funcall.this-fn.directory.full. | 
| 6b40 |  6d 61 74 63 68 20 6e 6f 73 6f 72 74 29 29 29 29    0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79  | match.nosort))))..........,@body | 
| 6b60 |  29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20    66 61 6b 69 72 2d 6d 6f 63 6b 2d 66 69 6c 65 20  | ))))..(defmacro.fakir-mock-file. | 
| 6b80 |  28 66 61 6b 65 64 2d 66 69 6c 65 20 26 72 65 73    74 20 62 6f 64 79 29 0a 20 20 28 64 65 63 6c 61  | (faked-file.&rest.body)...(decla | 
| 6ba0 |  72 65 20 28 64 65 62 75 67 20 28 73 65 78 70 20    26 72 65 73 74 20 66 6f 72 6d 29 29 0a 20 20 20  | re.(debug.(sexp.&rest.form)).... | 
| 6bc0 |  20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20    31 29 29 0a 20 20 60 28 66 61 6b 69 72 2d 66 61  | ........(indent.1))...`(fakir-fa | 
| 6be0 |  6b 65 2d 66 69 6c 65 20 2c 66 61 6b 65 64 2d 66    69 6c 65 20 2c 40 62 6f 64 79 29 29 0a 0a 28 70  | ke-file.,faked-file.,@body))..(p | 
| 6c00 |  72 6f 76 69 64 65 20 27 66 61 6b 69 72 29 0a 0a    3b 3b 3b 20 66 61 6b 69 72 2e 65 6c 20 65 6e 64  | rovide.'fakir)..;;;.fakir.el.end | 
| 6c20 |  73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | s.here.......................... | 
| 6c40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6c60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6c80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6ca0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6cc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6ce0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6d00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6d20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6d40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6d60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6d80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6da0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6dc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6de0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6e00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6e20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6e40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6e60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6e80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6ea0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6ec0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6ee0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6f00 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6f20 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6f40 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6f60 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6f80 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6fa0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6fc0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 6fe0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7000 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7020 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7040 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7060 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7080 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 70a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 70c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 70e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7100 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7120 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7140 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7160 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7180 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 71a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 71c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 71e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7200 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7220 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7240 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7260 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7280 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 72a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 72c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 72e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7300 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7320 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7340 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7360 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7380 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 73a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 73c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 73e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7400 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7420 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7440 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7460 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7480 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 74a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 74c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 74e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7500 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7520 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7540 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7560 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7580 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 75a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 75c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 75e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7600 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7620 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7640 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7660 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7680 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 76a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 76c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 76e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7700 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7720 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7740 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7760 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 7780 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 77a0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 77c0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ | 
| 77e0 |  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00  | ................................ |