| 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 | ................................ |