| ofs | hex dump | ascii |
|---|
| 0000 | 70 72 65 73 63 69 65 6e 74 2d 32 30 32 34 30 32 32 36 2e 32 30 34 2f 00 00 00 00 00 00 00 00 00 | prescient-20240226.204/......... |
| 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 37 31 34 00 20 35 00 00 00 | 0000000.00000000000.012714..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 | 70 72 65 73 63 69 65 6e 74 2d 32 30 32 34 30 32 32 36 2e 32 30 34 2f 70 72 65 73 63 69 65 6e 74 | prescient-20240226.204/prescient |
| 0220 | 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | -pkg.el......................... |
| 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 33 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 36 30 32 30 00 20 30 00 00 00 | 0000737.00000000000.016020..0... |
| 02a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 02e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0300 | 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .ustar...root................... |
| 0320 | 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .........root................... |
| 0340 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0360 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0380 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 03e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| 0400 | 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 70 72 65 73 63 69 65 6e 74 22 20 22 32 30 32 | (define-package."prescient"."202 |
| 0420 | 34 30 32 32 36 2e 32 30 34 22 20 22 42 65 74 74 65 72 20 73 6f 72 74 69 6e 67 20 61 6e 64 20 66 | 40226.204"."Better.sorting.and.f |
| 0440 | 69 6c 74 65 72 69 6e 67 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 35 2e 31 22 29 29 0a 20 20 | iltering"...'((emacs."25.1"))... |
| 0460 | 3a 63 6f 6d 6d 69 74 20 22 63 33 39 62 66 30 37 63 35 36 62 34 32 37 62 66 34 31 61 61 66 64 37 | :commit."c39bf07c56b427bf41aafd7 |
| 0480 | 64 32 30 65 61 65 66 35 63 66 33 63 33 31 32 62 35 22 20 3a 61 75 74 68 6f 72 73 0a 20 20 27 28 | d20eaef5cf3c312b5".:authors...'( |
| 04a0 | 28 22 52 61 64 69 61 6e 20 4c 4c 43 22 20 2e 20 22 63 6f 6e 74 61 63 74 2b 70 72 65 73 63 69 65 | ("Radian.LLC"..."contact+prescie |
| 04c0 | 6e 74 40 72 61 64 69 61 6e 2e 63 6f 64 65 73 22 29 29 0a 20 20 3a 6d 61 69 6e 74 61 69 6e 65 72 | nt@radian.codes"))...:maintainer |
| 04e0 | 73 0a 20 20 27 28 28 22 52 61 64 69 61 6e 20 4c 4c 43 22 20 2e 20 22 63 6f 6e 74 61 63 74 2b 70 | s...'(("Radian.LLC"..."contact+p |
| 0500 | 72 65 73 63 69 65 6e 74 40 72 61 64 69 61 6e 2e 63 6f 64 65 73 22 29 29 0a 20 20 3a 6d 61 69 6e | rescient@radian.codes"))...:main |
| 0520 | 74 61 69 6e 65 72 0a 20 20 27 28 22 52 61 64 69 61 6e 20 4c 4c 43 22 20 2e 20 22 63 6f 6e 74 61 | tainer...'("Radian.LLC"..."conta |
| 0540 | 63 74 2b 70 72 65 73 63 69 65 6e 74 40 72 61 64 69 61 6e 2e 63 6f 64 65 73 22 29 0a 20 20 3a 6b | ct+prescient@radian.codes")...:k |
| 0560 | 65 79 77 6f 72 64 73 0a 20 20 27 28 22 65 78 74 65 6e 73 69 6f 6e 73 22 29 0a 20 20 3a 75 72 6c | eywords...'("extensions")...:url |
| 0580 | 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 61 78 6f 64 35 30 32 2f 70 72 | ."https://github.com/raxod502/pr |
| 05a0 | 65 73 63 69 65 6e 74 2e 65 6c 22 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a | escient.el").;;.Local.Variables: |
| 05c0 | 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 3a 0a 00 | .;;.no-byte-compile:.t.;;.End:.. |
| 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 | 70 72 65 73 63 69 65 6e 74 2d 32 30 32 34 30 32 32 36 2e 32 30 34 2f 70 72 65 73 63 69 65 6e 74 | prescient-20240226.204/prescient |
| 0620 | 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | .el............................. |
| 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 31 36 30 34 32 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 32 34 33 00 20 30 00 00 00 | 0160426.00000000000.015243..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 70 72 65 73 63 69 65 6e 74 2e 65 6c 20 2d 2d 2d 20 42 65 74 74 65 72 20 73 6f 72 74 | ;;;.prescient.el.---.Better.sort |
| 0820 | 69 6e 67 20 61 6e 64 20 66 69 6c 74 65 72 69 6e 67 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 | ing.and.filtering.-*-.lexical-bi |
| 0840 | 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 | nding:.t.-*-..;;.Copyright.(C).2 |
| 0860 | 30 31 37 2d 32 30 32 32 20 52 61 64 69 61 6e 20 4c 4c 43 20 61 6e 64 20 63 6f 6e 74 72 69 62 75 | 017-2022.Radian.LLC.and.contribu |
| 0880 | 74 6f 72 73 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 52 61 64 69 61 6e 20 4c 4c 43 20 3c 63 6f 6e | tors..;;.Author:.Radian.LLC.<con |
| 08a0 | 74 61 63 74 2b 70 72 65 73 63 69 65 6e 74 40 72 61 64 69 61 6e 2e 63 6f 64 65 73 3e 0a 3b 3b 20 | tact+prescient@radian.codes>.;;. |
| 08c0 | 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 72 61 78 | Homepage:.https://github.com/rax |
| 08e0 | 6f 64 35 30 32 2f 70 72 65 73 63 69 65 6e 74 2e 65 6c 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 | od502/prescient.el.;;.Keywords:. |
| 0900 | 65 78 74 65 6e 73 69 6f 6e 73 0a 3b 3b 20 43 72 65 61 74 65 64 3a 20 37 20 41 75 67 20 32 30 31 | extensions.;;.Created:.7.Aug.201 |
| 0920 | 37 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 | 7.;;.Package-Requires:.((emacs." |
| 0940 | 32 35 2e 31 22 29 29 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 | 25.1")).;;.SPDX-License-Identifi |
| 0960 | 65 72 3a 20 4d 49 54 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 36 2e 33 2e 30 0a 0a 3b 3b 3b 20 43 | er:.MIT.;;.Version:.6.3.0..;;;.C |
| 0980 | 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 70 72 65 73 63 69 65 6e 74 2e 65 6c 20 69 73 20 61 | ommentary:..;;.prescient.el.is.a |
| 09a0 | 20 67 65 6e 65 72 61 6c 2d 70 75 72 70 6f 73 65 20 6c 69 62 72 61 72 79 20 66 6f 72 20 73 6f 72 | .general-purpose.library.for.sor |
| 09c0 | 74 69 6e 67 20 61 6e 64 20 66 69 6c 74 65 72 69 6e 67 0a 3b 3b 20 63 61 6e 64 69 64 61 74 65 73 | ting.and.filtering.;;.candidates |
| 09e0 | 2e 0a 0a 3b 3b 20 54 68 65 20 61 6c 67 6f 72 69 74 68 6d 20 6f 66 20 70 72 65 73 63 69 65 6e 74 | ...;;.The.algorithm.of.prescient |
| 0a00 | 2e 65 6c 20 69 73 20 76 65 72 79 20 73 69 6d 70 6c 65 2e 20 59 6f 75 20 65 6e 74 65 72 20 61 20 | .el.is.very.simple..You.enter.a. |
| 0a20 | 71 75 65 72 79 2c 20 6f 72 0a 3b 3b 20 6d 75 6c 74 69 70 6c 65 20 71 75 65 72 69 65 73 20 73 65 | query,.or.;;.multiple.queries.se |
| 0a40 | 70 61 72 61 74 65 64 20 62 79 20 73 70 61 63 65 73 20 28 74 77 6f 20 73 70 61 63 65 73 20 6d 61 | parated.by.spaces.(two.spaces.ma |
| 0a60 | 74 63 68 20 61 20 6c 69 74 65 72 61 6c 0a 3b 3b 20 73 70 61 63 65 29 2c 20 61 6e 64 20 65 61 63 | tch.a.literal.;;.space),.and.eac |
| 0a80 | 68 20 71 75 65 72 79 20 66 69 6c 74 65 72 73 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 62 | h.query.filters.the.candidates.b |
| 0aa0 | 79 20 6d 61 74 63 68 69 6e 67 20 65 69 74 68 65 72 20 61 0a 3b 3b 20 73 75 62 73 74 72 69 6e 67 | y.matching.either.a.;;.substring |
| 0ac0 | 20 28 65 2e 67 2e 20 22 73 63 69 65 6e 74 22 20 6d 61 74 63 68 65 73 20 22 70 72 65 73 63 69 65 | .(e.g.."scient".matches."prescie |
| 0ae0 | 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 74 68 72 65 73 68 6f 6c 64 22 29 0a 3b 3b 20 6f 72 20 69 | nt-frequency-threshold").;;.or.i |
| 0b00 | 6e 69 74 69 61 6c 69 73 6d 20 28 65 2e 67 2e 20 22 66 74 22 20 61 6c 73 6f 20 6d 61 74 63 68 65 | nitialism.(e.g.."ft".also.matche |
| 0b20 | 73 20 74 68 65 20 73 61 6d 65 29 2e 20 54 68 65 6e 2c 20 63 61 6e 64 69 64 61 74 65 73 0a 3b 3b | s.the.same)..Then,.candidates.;; |
| 0b40 | 20 61 72 65 20 73 6f 72 74 65 64 20 74 6f 20 70 72 69 6f 72 69 74 69 7a 65 20 72 65 63 65 6e 74 | .are.sorted.to.prioritize.recent |
| 0b60 | 6c 79 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 61 74 65 73 2c 20 66 6f 6c 6c 6f 77 65 64 20 62 | ly.chosen.candidates,.followed.b |
| 0b80 | 79 0a 3b 3b 20 66 72 65 71 75 65 6e 74 6c 79 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 61 74 65 | y.;;.frequently.chosen.candidate |
| 0ba0 | 73 2c 20 77 69 74 68 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 63 61 6e 64 69 64 61 74 65 73 | s,.with.the.remaining.candidates |
| 0bc0 | 20 73 6f 72 74 65 64 0a 3b 3b 20 62 79 20 6c 65 6e 67 74 68 2e 0a 0a 3b 3b 20 70 72 65 73 63 69 | .sorted.;;.by.length...;;.presci |
| 0be0 | 65 6e 74 2e 65 6c 20 61 69 6d 73 20 74 6f 20 72 65 70 6c 61 63 65 20 61 20 6e 75 6d 62 65 72 20 | ent.el.aims.to.replace.a.number. |
| 0c00 | 6f 66 20 6f 74 68 65 72 20 70 61 63 6b 61 67 65 73 2c 20 69 6e 63 6c 75 64 69 6e 67 0a 3b 3b 20 | of.other.packages,.including.;;. |
| 0c20 | 49 44 4f 2c 20 53 6d 65 78 2c 20 46 6c 78 2c 20 48 69 73 74 6f 72 69 61 6e 2c 20 61 6e 64 20 43 | IDO,.Smex,.Flx,.Historian,.and.C |
| 0c40 | 6f 6d 70 61 6e 79 2d 53 74 61 74 69 73 74 69 63 73 2e 20 49 74 20 61 6c 73 6f 20 72 65 70 6c 61 | ompany-Statistics..It.also.repla |
| 0c60 | 63 65 73 0a 3b 3b 20 74 68 65 20 73 6f 72 74 69 6e 67 20 61 6e 64 20 66 69 6c 74 65 72 69 6e 67 | ces.;;.the.sorting.and.filtering |
| 0c80 | 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 69 65 73 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 66 | .functionalities.of.completion.f |
| 0ca0 | 72 61 6d 65 77 6f 72 6b 73 0a 3b 3b 20 73 75 63 68 20 61 73 20 48 65 6c 6d 20 61 6e 64 20 49 76 | rameworks.;;.such.as.Helm.and.Iv |
| 0cc0 | 79 2e 0a 0a 3b 3b 20 54 6f 20 75 73 65 20 70 72 65 73 63 69 65 6e 74 2e 65 6c 20 66 6f 72 20 49 | y...;;.To.use.prescient.el.for.I |
| 0ce0 | 76 79 2c 20 73 65 65 20 69 76 79 2d 70 72 65 73 63 69 65 6e 74 2e 65 6c 2e 20 54 6f 20 75 73 65 | vy,.see.ivy-prescient.el..To.use |
| 0d00 | 0a 3b 3b 20 70 72 65 73 63 69 65 6e 74 2e 65 6c 20 66 6f 72 20 43 6f 6d 70 61 6e 79 2c 20 73 65 | .;;.prescient.el.for.Company,.se |
| 0d20 | 65 20 63 6f 6d 70 61 6e 79 2d 70 72 65 73 63 69 65 6e 74 2e 65 6c 2e 20 49 6e 20 65 69 74 68 65 | e.company-prescient.el..In.eithe |
| 0d40 | 72 20 63 61 73 65 2c 0a 3b 3b 20 79 6f 75 20 77 69 6c 6c 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 | r.case,.;;.you.will.most.likely. |
| 0d60 | 77 61 6e 74 20 79 6f 75 72 20 75 73 61 67 65 20 73 74 61 74 69 73 74 69 63 73 20 74 6f 20 62 65 | want.your.usage.statistics.to.be |
| 0d80 | 20 73 61 76 65 64 20 61 63 72 6f 73 73 0a 3b 3b 20 45 6d 61 63 73 20 73 65 73 73 69 6f 6e 73 3b | .saved.across.;;.Emacs.sessions; |
| 0da0 | 20 74 6f 20 64 6f 20 74 68 69 73 2c 20 65 6e 61 62 6c 65 20 60 70 72 65 73 63 69 65 6e 74 2d 70 | .to.do.this,.enable.`prescient-p |
| 0dc0 | 65 72 73 69 73 74 2d 6d 6f 64 65 27 20 69 6e 20 79 6f 75 72 0a 3b 3b 20 69 6e 69 74 2d 66 69 6c | ersist-mode'.in.your.;;.init-fil |
| 0de0 | 65 20 6f 72 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2e 0a 0a 3b 3b 20 46 6f 72 20 6d 6f 72 65 | e.or.interactively...;;.For.more |
| 0e00 | 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 | .information,.see.https://github |
| 0e20 | 2e 63 6f 6d 2f 72 61 78 6f 64 35 30 32 2f 70 72 65 73 63 69 65 6e 74 2e 65 6c 2e 0a 0a 3b 3b 3b | .com/raxod502/prescient.el...;;; |
| 0e40 | 20 43 6f 64 65 3a 0a 0a 3b 3b 20 54 6f 20 73 65 65 20 74 68 65 20 6f 75 74 6c 69 6e 65 20 6f 66 | .Code:..;;.To.see.the.outline.of |
| 0e60 | 20 74 68 69 73 20 66 69 6c 65 2c 20 72 75 6e 20 4d 2d 78 20 6f 75 74 6c 69 6e 65 2d 6d 69 6e 6f | .this.file,.run.M-x.outline-mino |
| 0e80 | 72 2d 6d 6f 64 65 20 61 6e 64 0a 3b 3b 20 74 68 65 6e 20 70 72 65 73 73 20 43 2d 63 20 40 20 43 | r-mode.and.;;.then.press.C-c.@.C |
| 0ea0 | 2d 74 2e 20 54 6f 20 61 6c 73 6f 20 73 68 6f 77 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 66 | -t..To.also.show.the.top-level.f |
| 0ec0 | 75 6e 63 74 69 6f 6e 73 20 61 6e 64 0a 3b 3b 20 76 61 72 69 61 62 6c 65 20 64 65 63 6c 61 72 61 | unctions.and.;;.variable.declara |
| 0ee0 | 74 69 6f 6e 73 20 69 6e 20 65 61 63 68 20 73 65 63 74 69 6f 6e 2c 20 72 75 6e 20 4d 2d 78 20 6f | tions.in.each.section,.run.M-x.o |
| 0f00 | 63 63 75 72 20 77 69 74 68 20 74 68 65 0a 3b 3b 20 66 6f 6c 6c 6f 77 69 6e 67 20 71 75 65 72 79 | ccur.with.the.;;.following.query |
| 0f20 | 3a 20 5e 3b 3b 3b 3b 2a 20 5c 7c 5e 28 0a 0a 3b 3b 3b 3b 20 4c 69 62 72 61 72 69 65 73 0a 0a 3b | :.^;;;;*.\|^(..;;;;.Libraries..; |
| 0f40 | 3b 20 52 65 71 75 69 72 65 20 60 63 68 61 72 2d 66 6f 6c 64 27 20 73 6f 20 74 68 61 74 20 60 63 | ;.Require.`char-fold'.so.that.`c |
| 0f60 | 68 61 72 2d 66 6f 6c 64 2d 74 61 62 6c 65 27 20 67 65 74 73 20 64 65 66 69 6e 65 64 2e 0a 3b 3b | har-fold-table'.gets.defined..;; |
| 0f80 | 20 4f 74 68 65 72 77 69 73 65 20 60 63 68 61 72 2d 66 6f 6c 64 2d 74 6f 2d 72 65 67 65 78 70 27 | .Otherwise.`char-fold-to-regexp' |
| 0fa0 | 20 63 61 6e 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 2e 0a 28 72 65 71 75 69 72 65 20 27 | .can.signal.an.error..(require.' |
| 0fc0 | 63 68 61 72 2d 66 6f 6c 64 29 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 | char-fold).(require.'cl-lib).(re |
| 0fe0 | 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 0a 3b 3b 3b 3b 20 55 73 65 72 20 6f 70 74 69 6f 6e | quire.'subr-x)..;;;;.User.option |
| 1000 | 73 0a 0a 28 64 65 66 67 72 6f 75 70 20 70 72 65 73 63 69 65 6e 74 20 6e 69 6c 0a 20 20 22 53 69 | s..(defgroup.prescient.nil..."Si |
| 1020 | 6d 70 6c 65 20 62 75 74 20 65 66 66 65 63 74 69 76 65 20 63 61 6e 64 69 64 61 74 65 20 73 6f 72 | mple.but.effective.candidate.sor |
| 1040 | 74 69 6e 67 20 62 79 20 75 73 61 67 65 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 63 6f 6e 76 65 6e | ting.by.usage."...:group.'conven |
| 1060 | 69 65 6e 63 65 0a 20 20 3a 70 72 65 66 69 78 20 22 70 72 65 73 63 69 65 6e 74 2d 22 0a 20 20 3a | ience...:prefix."prescient-"...: |
| 1080 | 6c 69 6e 6b 20 27 28 75 72 6c 2d 6c 69 6e 6b 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e | link.'(url-link."https://github. |
| 10a0 | 63 6f 6d 2f 72 61 78 6f 64 35 30 32 2f 70 72 65 73 63 69 65 6e 74 2e 65 6c 22 29 29 0a 0a 28 64 | com/raxod502/prescient.el"))..(d |
| 10c0 | 65 66 63 75 73 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 | efcustom.prescient-history-lengt |
| 10e0 | 68 20 31 30 30 0a 20 20 22 4e 75 6d 62 65 72 20 6f 66 20 72 65 63 65 6e 74 6c 79 20 63 68 6f 73 | h.100..."Number.of.recently.chos |
| 1100 | 65 6e 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 72 65 6d 65 6d | en.candidates.that.will.be.remem |
| 1120 | 62 65 72 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 6e 75 6d 62 65 72 29 0a 0a 28 64 65 66 63 75 | bered."...:type.'number)..(defcu |
| 1140 | 73 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 64 65 63 61 79 20 30 | stom.prescient-frequency-decay.0 |
| 1160 | 2e 39 39 37 0a 20 20 22 52 61 74 65 20 61 74 20 77 68 69 63 68 20 66 72 65 71 75 65 6e 74 6c 79 | .997..."Rate.at.which.frequently |
| 1180 | 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 61 74 65 73 20 77 69 6c 6c 20 62 65 20 66 6f 72 67 6f | .chosen.candidates.will.be.forgo |
| 11a0 | 74 74 65 6e 2e 0a 45 76 65 72 79 20 74 69 6d 65 20 61 20 63 61 6e 64 69 64 61 74 65 20 69 73 20 | tten..Every.time.a.candidate.is. |
| 11c0 | 73 65 6c 65 63 74 65 64 2c 20 61 6c 6c 20 63 61 6e 64 69 64 61 74 65 73 20 61 72 65 20 6d 75 6c | selected,.all.candidates.are.mul |
| 11e0 | 74 69 70 6c 69 65 64 0a 62 79 20 74 68 69 73 20 66 61 63 74 6f 72 2e 20 53 65 65 20 61 6c 73 6f | tiplied.by.this.factor..See.also |
| 1200 | 20 60 70 72 65 73 63 69 65 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 74 68 72 65 73 68 6f 6c 64 27 | .`prescient-frequency-threshold' |
| 1220 | 2e 22 0a 20 20 3a 74 79 70 65 20 27 6e 75 6d 62 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 | ."...:type.'number)..(defcustom. |
| 1240 | 70 72 65 73 63 69 65 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 74 68 72 65 73 68 6f 6c 64 20 30 2e | prescient-frequency-threshold.0. |
| 1260 | 30 35 0a 20 20 22 54 68 72 65 73 68 6f 6c 64 20 66 6f 72 20 66 6f 72 67 65 74 74 69 6e 67 20 61 | 05..."Threshold.for.forgetting.a |
| 1280 | 62 6f 75 74 20 61 20 66 72 65 71 75 65 6e 74 6c 79 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 61 | bout.a.frequently.chosen.candida |
| 12a0 | 74 65 2e 0a 41 6e 79 20 63 61 6e 64 69 64 61 74 65 73 20 77 69 74 68 20 66 72 65 71 75 65 6e 63 | te..Any.candidates.with.frequenc |
| 12c0 | 69 65 73 20 6c 65 73 73 20 74 68 61 6e 20 74 68 69 73 20 61 66 74 65 72 20 61 20 73 65 6c 65 63 | ies.less.than.this.after.a.selec |
| 12e0 | 74 69 6f 6e 0a 77 69 6c 6c 20 62 65 20 64 69 73 63 61 72 64 65 64 2e 20 53 65 65 20 61 6c 73 6f | tion.will.be.discarded..See.also |
| 1300 | 20 60 70 72 65 73 63 69 65 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 64 65 63 61 79 27 2e 22 0a 20 | .`prescient-frequency-decay'.".. |
| 1320 | 20 3a 74 79 70 65 20 27 6e 75 6d 62 65 72 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 65 73 | .:type.'number)..(defcustom.pres |
| 1340 | 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 0a 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e | cient-save-file...(expand-file-n |
| 1360 | 61 6d 65 20 22 76 61 72 2f 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2e 65 6c 22 20 75 73 65 72 | ame."var/prescient-save.el".user |
| 1380 | 2d 65 6d 61 63 73 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 46 69 6c 65 20 69 6e 20 77 68 69 | -emacs-directory)..."File.in.whi |
| 13a0 | 63 68 20 74 6f 20 73 61 76 65 20 75 73 61 67 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 54 68 | ch.to.save.usage.information..Th |
| 13c0 | 69 73 20 6f 6e 6c 79 20 68 61 73 20 61 6e 20 65 66 66 65 63 74 20 69 66 20 60 70 72 65 73 63 69 | is.only.has.an.effect.if.`presci |
| 13e0 | 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 27 20 69 73 20 65 6e 61 62 6c 65 64 2e 22 0a 20 | ent-persist-mode'.is.enabled.".. |
| 1400 | 20 3a 74 79 70 65 20 27 66 69 6c 65 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 65 73 63 69 | .:type.'file)..(defcustom.presci |
| 1420 | 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 20 27 28 6c 69 74 65 72 61 6c 20 72 65 67 65 | ent-filter-method.'(literal.rege |
| 1440 | 78 70 20 69 6e 69 74 69 61 6c 69 73 6d 29 0a 20 20 22 48 6f 77 20 74 6f 20 69 6e 74 65 72 70 72 | xp.initialism)..."How.to.interpr |
| 1460 | 65 74 20 70 72 65 73 63 69 65 6e 74 2e 65 6c 20 66 69 6c 74 65 72 69 6e 67 20 71 75 65 72 69 65 | et.prescient.el.filtering.querie |
| 1480 | 73 2e 0a 51 75 65 72 69 65 73 20 61 72 65 20 66 69 72 73 74 20 73 70 6c 69 74 20 6f 6e 20 73 70 | s..Queries.are.first.split.on.sp |
| 14a0 | 61 63 65 73 20 28 77 69 74 68 20 74 77 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 73 70 61 63 65 | aces.(with.two.consecutive.space |
| 14c0 | 73 0a 73 74 61 6e 64 69 6e 67 20 66 6f 72 20 61 20 6c 69 74 65 72 61 6c 20 73 70 61 63 65 29 2e | s.standing.for.a.literal.space). |
| 14e0 | 20 54 68 65 6e 2c 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 61 72 65 20 66 69 6c 74 65 72 | .Then,.the.candidates.are.filter |
| 1500 | 65 64 0a 75 73 69 6e 67 20 65 61 63 68 20 73 75 62 71 75 65 72 79 20 69 6e 20 74 75 72 6e 2e 20 | ed.using.each.subquery.in.turn.. |
| 1520 | 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 61 66 66 65 63 74 73 20 68 6f 77 20 74 68 61 74 0a 66 | This.variable.affects.how.that.f |
| 1540 | 69 6c 74 65 72 69 6e 67 20 74 61 6b 65 73 20 70 6c 61 63 65 2e 0a 0a 56 61 6c 75 65 20 60 6c 69 | iltering.takes.place...Value.`li |
| 1560 | 74 65 72 61 6c 27 20 6d 65 61 6e 73 20 74 68 65 20 73 75 62 71 75 65 72 79 20 6d 75 73 74 20 62 | teral'.means.the.subquery.must.b |
| 1580 | 65 20 61 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 74 68 65 0a 63 61 6e 64 69 64 61 74 65 2e 20 | e.a.substring.of.the.candidate.. |
| 15a0 | 53 75 70 70 6f 72 74 73 20 63 68 61 72 20 66 6f 6c 64 69 6e 67 2e 0a 0a 56 61 6c 75 65 20 60 6c | Supports.char.folding...Value.`l |
| 15c0 | 69 74 65 72 61 6c 2d 70 72 65 66 69 78 27 20 6d 65 61 6e 73 20 74 68 65 20 66 69 72 73 74 20 73 | iteral-prefix'.means.the.first.s |
| 15e0 | 75 62 71 75 65 72 79 20 6d 75 73 74 20 62 65 20 74 68 65 0a 70 72 65 66 69 78 20 6f 66 20 74 68 | ubquery.must.be.the.prefix.of.th |
| 1600 | 65 20 63 61 6e 64 69 64 61 74 65 20 61 6e 64 20 74 68 65 20 72 65 6d 61 69 6e 69 6e 67 20 73 75 | e.candidate.and.the.remaining.su |
| 1620 | 62 71 75 65 72 69 65 73 20 6d 75 73 74 20 62 65 0a 70 72 65 66 69 78 65 73 20 6f 66 20 77 6f 72 | bqueries.must.be.prefixes.of.wor |
| 1640 | 64 73 20 69 6e 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 2e 20 53 75 70 70 6f 72 74 73 20 63 68 | ds.in.the.candidate..Supports.ch |
| 1660 | 61 72 20 66 6f 6c 64 69 6e 67 2e 0a 0a 56 61 6c 75 65 20 60 72 65 67 65 78 70 27 20 6d 65 61 6e | ar.folding...Value.`regexp'.mean |
| 1680 | 73 20 74 68 65 20 73 75 62 71 75 65 72 79 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 64 69 | s.the.subquery.is.interpreted.di |
| 16a0 | 72 65 63 74 6c 79 20 61 73 20 61 0a 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 2e 0a | rectly.as.a.regular.expression.. |
| 16c0 | 0a 56 61 6c 75 65 20 60 69 6e 69 74 69 61 6c 69 73 6d 27 20 6d 65 61 6e 73 20 74 68 65 20 73 75 | .Value.`initialism'.means.the.su |
| 16e0 | 62 71 75 65 72 79 20 6d 75 73 74 20 6d 61 74 63 68 20 61 20 73 75 62 73 74 72 69 6e 67 20 6f 66 | bquery.must.match.a.substring.of |
| 1700 | 0a 74 68 65 20 69 6e 69 74 69 61 6c 73 20 6f 66 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 2e 0a | .the.initials.of.the.candidate.. |
| 1720 | 0a 56 61 6c 75 65 20 60 66 75 7a 7a 79 27 20 6d 65 61 6e 73 20 74 68 65 20 63 68 61 72 61 63 74 | .Value.`fuzzy'.means.the.charact |
| 1740 | 65 72 73 20 6f 66 20 74 68 65 20 73 75 62 71 75 65 72 79 20 6d 75 73 74 20 6d 61 74 63 68 0a 73 | ers.of.the.subquery.must.match.s |
| 1760 | 6f 6d 65 20 73 75 62 73 65 74 20 6f 66 20 74 68 6f 73 65 20 6f 66 20 74 68 65 20 63 61 6e 64 69 | ome.subset.of.those.of.the.candi |
| 1780 | 64 61 74 65 2c 20 69 6e 20 74 68 65 20 63 6f 72 72 65 63 74 20 6f 72 64 65 72 20 62 75 74 0a 6e | date,.in.the.correct.order.but.n |
| 17a0 | 6f 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 63 6f 6e 74 69 67 75 6f 75 73 2e 0a 0a 56 61 6c 75 | ot.necessarily.contiguous...Valu |
| 17c0 | 65 20 60 70 72 65 66 69 78 27 20 6d 65 61 6e 73 20 74 68 65 20 77 6f 72 64 73 20 28 73 75 62 73 | e.`prefix'.means.the.words.(subs |
| 17e0 | 74 72 69 6e 67 73 20 6f 66 20 6f 6e 6c 79 20 77 6f 72 64 0a 63 68 61 72 61 63 74 65 72 73 29 20 | trings.of.only.word.characters). |
| 1800 | 6d 61 74 63 68 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 77 6f 72 64 73 20 66 6f 75 | match.the.beginning.of.words.fou |
| 1820 | 6e 64 20 69 6e 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 2c 0a 69 6e 20 6f 72 64 65 72 2c 20 73 | nd.in.the.candidate,.in.order,.s |
| 1840 | 65 70 61 72 61 74 65 64 20 62 79 20 74 68 65 20 73 61 6d 65 20 6e 6f 6e 2d 77 6f 72 64 20 63 68 | eparated.by.the.same.non-word.ch |
| 1860 | 61 72 61 63 74 65 72 73 20 74 68 61 74 20 73 65 70 61 72 61 74 65 0a 77 6f 72 64 73 20 69 6e 20 | aracters.that.separate.words.in. |
| 1880 | 74 68 65 20 71 75 65 72 79 2e 20 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 | the.query..This.is.similar.to.th |
| 18a0 | 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 0a 60 70 61 72 74 69 61 6c 27 2e 0a 0a 56 | e.completion.style.`partial'...V |
| 18c0 | 61 6c 75 65 20 60 61 6e 63 68 6f 72 65 64 27 20 6d 65 61 6e 73 20 77 6f 72 64 73 20 61 72 65 20 | alue.`anchored'.means.words.are. |
| 18e0 | 73 65 70 61 72 61 74 65 64 20 62 79 20 63 61 70 69 74 61 6c 20 6c 65 74 74 65 72 73 20 6f 72 0a | separated.by.capital.letters.or. |
| 1900 | 73 79 6d 62 6f 6c 73 2c 20 77 69 74 68 20 63 61 70 69 74 61 6c 20 6c 65 74 74 65 72 73 20 62 65 | symbols,.with.capital.letters.be |
| 1920 | 69 6e 67 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 61 20 6e 65 77 20 77 6f 72 64 2e 20 54 68 69 | ing.the.start.of.a.new.word..Thi |
| 1940 | 73 0a 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 70 72 65 66 69 78 27 2c 20 62 75 74 20 61 6c | s.is.similar.to.`prefix',.but.al |
| 1960 | 6c 6f 77 73 20 66 6f 72 20 6c 65 73 73 20 74 79 70 69 6e 67 2e 0a 0a 56 61 6c 75 65 20 63 61 6e | lows.for.less.typing...Value.can |
| 1980 | 20 61 6c 73 6f 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 61 6e 79 20 6f 66 20 74 68 65 20 61 62 | .also.be.a.list.of.any.of.the.ab |
| 19a0 | 6f 76 65 20 6d 65 74 68 6f 64 73 2c 20 69 6e 20 77 68 69 63 68 0a 63 61 73 65 20 65 61 63 68 20 | ove.methods,.in.which.case.each. |
| 19c0 | 6d 65 74 68 6f 64 20 77 69 6c 6c 20 62 65 20 61 70 70 6c 69 65 64 20 69 6e 20 6f 72 64 65 72 20 | method.will.be.applied.in.order. |
| 19e0 | 75 6e 74 69 6c 20 6f 6e 65 20 6d 61 74 63 68 65 73 2e 0a 0a 56 61 6c 75 65 20 63 61 6e 20 61 6c | until.one.matches...Value.can.al |
| 1a00 | 73 6f 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 61 | so.be.a.function.which.returns.a |
| 1a20 | 6e 79 20 6f 66 20 74 68 65 20 61 6c 6c 6f 77 61 62 6c 65 0a 76 61 6c 75 65 73 20 64 6f 63 75 6d | ny.of.the.allowable.values.docum |
| 1a40 | 65 6e 74 65 64 20 61 62 6f 76 65 2e 0a 0a 46 6f 72 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 | ented.above...For.backwards.comp |
| 1a60 | 61 74 69 62 69 6c 69 74 79 2c 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 76 61 72 | atibility,.the.value.of.this.var |
| 1a80 | 69 61 62 6c 65 20 63 61 6e 20 61 6c 73 6f 0a 62 65 20 60 6c 69 74 65 72 61 6c 2b 69 6e 69 74 69 | iable.can.also.be.`literal+initi |
| 1aa0 | 61 6c 69 73 6d 27 2c 20 77 68 69 63 68 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 74 68 65 20 | alism',.which.equivalent.to.the. |
| 1ac0 | 6c 69 73 74 20 28 60 6c 69 74 65 72 61 6c 27 0a 60 69 6e 69 74 69 61 6c 69 73 6d 27 29 2e 22 0a | list.(`literal'.`initialism').". |
| 1ae0 | 20 20 3a 74 79 70 65 20 27 28 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a | ..:type.'(set...........(const.: |
| 1b00 | 74 61 67 20 22 4c 69 74 65 72 61 6c 22 20 6c 69 74 65 72 61 6c 29 0a 20 20 20 20 20 20 20 20 20 | tag."Literal".literal).......... |
| 1b20 | 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4c 69 74 65 72 61 6c 20 50 72 65 66 69 78 22 20 6c 69 | .(const.:tag."Literal.Prefix".li |
| 1b40 | 74 65 72 61 6c 2d 70 72 65 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a | teral-prefix)...........(const.: |
| 1b60 | 74 61 67 20 22 52 65 67 65 78 70 22 20 72 65 67 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 28 | tag."Regexp".regexp)...........( |
| 1b80 | 63 6f 6e 73 74 20 3a 74 61 67 20 22 49 6e 69 74 69 61 6c 69 73 6d 22 20 69 6e 69 74 69 61 6c 69 | const.:tag."Initialism".initiali |
| 1ba0 | 73 6d 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 46 75 7a 7a 79 | sm)...........(const.:tag."Fuzzy |
| 1bc0 | 22 20 66 75 7a 7a 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 | ".fuzzy)...........(const.:tag." |
| 1be0 | 50 72 65 66 69 78 22 20 70 72 65 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 | Prefix".prefix)...........(const |
| 1c00 | 20 3a 74 61 67 20 22 41 6e 63 68 6f 72 65 64 22 20 61 6e 63 68 6f 72 65 64 29 29 29 0a 0a 28 64 | .:tag."Anchored".anchored)))..(d |
| 1c20 | 65 66 63 75 73 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 61 6c 69 73 74 0a | efcustom.prescient-filter-alist. |
| 1c40 | 20 20 27 28 28 6c 69 74 65 72 61 6c 20 2e 20 70 72 65 73 63 69 65 6e 74 2d 6c 69 74 65 72 61 6c | ..'((literal...prescient-literal |
| 1c60 | 2d 72 65 67 65 78 70 29 0a 20 20 20 20 28 6c 69 74 65 72 61 6c 2d 70 72 65 66 69 78 20 2e 20 70 | -regexp).....(literal-prefix...p |
| 1c80 | 72 65 73 63 69 65 6e 74 2d 6c 69 74 65 72 61 6c 2d 70 72 65 66 69 78 2d 72 65 67 65 78 70 29 0a | rescient-literal-prefix-regexp). |
| 1ca0 | 20 20 20 20 28 69 6e 69 74 69 61 6c 69 73 6d 20 2e 20 70 72 65 73 63 69 65 6e 74 2d 69 6e 69 74 | ....(initialism...prescient-init |
| 1cc0 | 69 61 6c 73 2d 72 65 67 65 78 70 29 0a 20 20 20 20 28 72 65 67 65 78 70 20 2e 20 70 72 65 73 63 | ials-regexp).....(regexp...presc |
| 1ce0 | 69 65 6e 74 2d 72 65 67 65 78 70 2d 72 65 67 65 78 70 29 0a 20 20 20 20 28 66 75 7a 7a 79 20 2e | ient-regexp-regexp).....(fuzzy.. |
| 1d00 | 20 70 72 65 73 63 69 65 6e 74 2d 66 75 7a 7a 79 2d 72 65 67 65 78 70 29 0a 20 20 20 20 28 70 72 | .prescient-fuzzy-regexp).....(pr |
| 1d20 | 65 66 69 78 20 2e 20 70 72 65 73 63 69 65 6e 74 2d 70 72 65 66 69 78 2d 72 65 67 65 78 70 29 0a | efix...prescient-prefix-regexp). |
| 1d40 | 20 20 20 20 28 61 6e 63 68 6f 72 65 64 20 2e 20 70 72 65 73 63 69 65 6e 74 2d 61 6e 63 68 6f 72 | ....(anchored...prescient-anchor |
| 1d60 | 65 64 2d 72 65 67 65 78 70 29 29 0a 20 20 22 41 6e 20 61 6c 69 73 74 20 6f 66 20 66 69 6c 74 65 | ed-regexp))..."An.alist.of.filte |
| 1d80 | 72 20 6d 65 74 68 6f 64 73 20 61 6e 64 20 74 68 65 69 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a | r.methods.and.their.functions... |
| 1da0 | 54 68 65 73 65 20 73 79 6d 62 6f 6c 73 20 63 61 6e 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e | These.symbols.can.be.included.in |
| 1dc0 | 20 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 27 2c 20 61 6e 64 0a | .`prescient-filter-method',.and. |
| 1de0 | 74 68 65 69 72 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 | their.corresponding.functions.wi |
| 1e00 | 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 63 72 65 61 74 65 20 72 65 67 65 78 70 73 20 66 6f 72 | ll.be.used.to.create.regexps.for |
| 1e20 | 0a 6d 61 74 63 68 69 6e 67 20 63 61 6e 64 69 64 61 74 65 73 2e 0a 0a 41 20 66 75 6e 63 74 69 6f | .matching.candidates...A.functio |
| 1e40 | 6e 20 73 68 6f 75 6c 64 20 74 61 6b 65 20 74 68 65 20 73 75 62 2d 71 75 65 72 79 20 66 6f 72 20 | n.should.take.the.sub-query.for. |
| 1e60 | 77 68 69 63 68 20 69 74 20 73 68 6f 75 6c 64 20 63 72 65 61 74 65 20 61 0a 72 65 67 65 78 70 2c | which.it.should.create.a.regexp, |
| 1e80 | 20 61 6e 64 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 20 6f 66 20 77 68 69 63 68 20 | .and.keyword.arguments.of.which. |
| 1ea0 | 74 68 65 72 65 20 61 72 65 20 63 75 72 72 65 6e 74 6c 79 3a 0a 0a 20 20 20 20 77 69 74 68 2d 67 | there.are.currently:......with-g |
| 1ec0 | 72 6f 75 70 20 20 20 20 20 20 3c 62 6f 6f 6c 2d 76 61 6c 75 65 2d 6f 72 2d 61 6c 6c 3e 0a 20 20 | roup......<bool-value-or-all>... |
| 1ee0 | 20 20 73 75 62 71 75 65 72 79 2d 6e 75 6d 62 65 72 20 3c 69 6e 74 2d 76 61 6c 75 65 3e 0a 0a 54 | ..subquery-number.<int-value>..T |
| 1f00 | 68 65 20 62 6f 6f 6c 65 61 6e 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 20 57 49 54 48 | he.boolean.keyword.argument.WITH |
| 1f20 | 2d 47 52 4f 55 50 20 64 65 73 63 72 69 62 65 73 20 77 68 65 74 68 65 72 20 74 68 65 0a 66 75 6e | -GROUP.describes.whether.the.fun |
| 1f40 | 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 65 6e 63 6c 6f 73 65 20 6d 61 74 63 68 65 64 20 74 65 78 | ction.should.enclose.matched.tex |
| 1f60 | 74 20 69 6e 20 61 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 20 28 73 75 63 68 20 61 73 0a 77 69 | t.in.a.capture.group.(such.as.wi |
| 1f80 | 74 68 20 60 70 72 65 73 63 69 65 6e 74 2d 77 69 74 68 2d 67 72 6f 75 70 27 29 2e 20 20 41 64 64 | th.`prescient-with-group')...Add |
| 1fa0 | 69 74 69 6f 6e 61 6c 6c 79 2c 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 74 68 65 0a 73 | itionally,.if.the.value.is.the.s |
| 1fc0 | 79 6d 62 6f 6c 20 60 61 6c 6c 27 2c 20 74 68 65 6e 20 6c 69 74 65 72 61 6c 20 73 75 62 73 74 72 | ymbol.`all',.then.literal.substr |
| 1fe0 | 69 6e 67 73 20 73 68 6f 75 6c 64 20 62 65 20 65 6e 63 6c 6f 73 65 64 20 69 6e 0a 63 61 70 74 75 | ings.should.be.enclosed.in.captu |
| 2000 | 72 65 20 67 72 6f 75 70 73 2e 0a 0a 54 68 65 20 69 6e 74 65 67 65 72 20 6b 65 79 77 6f 72 64 20 | re.groups...The.integer.keyword. |
| 2020 | 61 72 67 75 6d 65 6e 74 20 53 55 42 51 55 45 52 59 2d 4e 55 4d 42 45 52 20 73 74 61 74 65 73 20 | argument.SUBQUERY-NUMBER.states. |
| 2040 | 74 68 65 20 6f 72 64 65 72 20 6f 66 0a 68 6f 77 20 74 68 65 20 69 6e 70 75 74 20 68 61 73 20 62 | the.order.of.how.the.input.has.b |
| 2060 | 65 65 6e 20 73 70 6c 69 74 20 69 6e 74 6f 20 69 6e 64 69 76 69 64 75 61 6c 20 73 75 62 71 75 65 | een.split.into.individual.subque |
| 2080 | 72 69 65 73 20 28 73 74 61 72 74 69 6e 67 0a 77 69 74 68 20 30 29 2e 20 20 46 6f 72 20 65 78 61 | ries.(starting.with.0)...For.exa |
| 20a0 | 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 69 6e 70 75 74 20 77 61 73 20 5c 22 66 6f 6f 20 62 61 72 | mple,.if.the.input.was.\"foo.bar |
| 20c0 | 20 62 61 7a 5c 22 20 74 68 65 0a 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c | .baz\".the.function.will.be.call |
| 20e0 | 65 64 20 74 68 72 65 65 20 74 69 6d 65 73 3a 0a 0a 20 20 20 20 28 66 6e 20 5c 22 66 6f 6f 5c 22 | ed.three.times:......(fn.\"foo\" |
| 2100 | 20 3a 73 75 62 71 75 65 72 79 2d 6e 75 6d 62 65 72 20 30 29 0a 20 20 20 20 28 66 6e 20 5c 22 62 | .:subquery-number.0).....(fn.\"b |
| 2120 | 61 72 5c 22 20 3a 73 75 62 71 75 65 72 79 2d 6e 75 6d 62 65 72 20 31 29 0a 20 20 20 20 28 66 6e | ar\".:subquery-number.1).....(fn |
| 2140 | 20 5c 22 62 61 7a 5c 22 20 3a 73 75 62 71 75 65 72 79 2d 6e 75 6d 62 65 72 20 32 29 22 0a 20 20 | .\"baz\".:subquery-number.2)"... |
| 2160 | 3a 74 79 70 65 20 27 28 61 6c 69 73 74 20 3a 6b 65 79 2d 74 79 70 65 20 73 79 6d 62 6f 6c 20 3a | :type.'(alist.:key-type.symbol.: |
| 2180 | 76 61 6c 75 65 2d 74 79 70 65 20 66 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 64 65 66 63 75 73 74 6f | value-type.function))..(defcusto |
| 21a0 | 6d 20 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 6c 65 6e 67 74 68 2d 65 6e 61 62 6c 65 20 74 | m.prescient-sort-length-enable.t |
| 21c0 | 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 73 6f 72 74 20 63 61 6e 64 69 64 61 74 65 73 20 62 | ..."Whether.to.sort.candidates.b |
| 21e0 | 79 20 6c 65 6e 67 74 68 2e 0a 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 63 61 6e 64 69 | y.length..If.non-nil,.then.candi |
| 2200 | 64 61 74 65 73 20 77 69 74 68 20 69 64 65 6e 74 69 63 61 6c 20 72 65 63 65 6e 63 79 20 61 6e 64 | dates.with.identical.recency.and |
| 2220 | 20 66 72 65 71 75 65 6e 63 79 0a 77 69 6c 6c 20 62 65 20 73 6f 72 74 65 64 20 62 79 20 6c 65 6e | .frequency.will.be.sorted.by.len |
| 2240 | 67 74 68 2e 20 49 66 20 6e 69 6c 2c 20 74 68 65 6e 20 74 68 65 79 20 77 69 6c 6c 20 62 65 20 6c | gth..If.nil,.then.they.will.be.l |
| 2260 | 65 66 74 20 69 6e 20 74 68 65 0a 6f 72 64 65 72 20 6f 66 20 74 68 65 20 6f 72 69 67 69 6e 61 6c | eft.in.the.order.of.the.original |
| 2280 | 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 0a 0a 49 74 20 6d 69 67 68 74 20 62 65 20 64 65 73 69 72 61 | .collection...It.might.be.desira |
| 22a0 | 62 6c 65 20 74 6f 20 73 65 74 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 74 6f 20 6e 69 6c 20 | ble.to.set.this.variable.to.nil. |
| 22c0 | 28 76 69 61 0a 60 63 6f 6d 70 61 6e 79 2d 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 6c 65 6e | (via.`company-prescient-sort-len |
| 22e0 | 67 74 68 2d 65 6e 61 62 6c 65 27 29 20 77 68 65 6e 20 77 6f 72 6b 69 6e 67 20 77 69 74 68 20 61 | gth-enable').when.working.with.a |
| 2300 | 0a 43 6f 6d 70 61 6e 79 20 62 61 63 6b 65 6e 64 20 77 68 69 63 68 20 72 65 74 75 72 6e 73 20 66 | .Company.backend.which.returns.f |
| 2320 | 75 7a 7a 79 2d 6d 61 74 63 68 65 64 20 72 65 73 75 6c 74 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 | uzzy-matched.results.that.cannot |
| 2340 | 0a 75 73 65 66 75 6c 6c 79 20 62 65 20 73 6f 72 74 65 64 20 62 79 20 6c 65 6e 67 74 68 20 28 70 | .usefully.be.sorted.by.length.(p |
| 2360 | 72 65 73 75 6d 61 62 6c 79 2c 20 74 68 65 20 62 61 63 6b 65 6e 64 20 72 65 74 75 72 6e 73 0a 74 | resumably,.the.backend.returns.t |
| 2380 | 68 65 73 65 20 72 65 73 75 6c 74 73 20 69 6e 20 73 6f 6d 65 20 61 6c 72 65 61 64 79 2d 73 6f 72 | hese.results.in.some.already-sor |
| 23a0 | 74 65 64 20 6f 72 64 65 72 29 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a | ted.order)."...:type.'boolean).. |
| 23c0 | 28 64 65 66 63 75 73 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 74 69 65 62 72 65 61 6b 65 72 20 | (defcustom.prescient-tiebreaker. |
| 23e0 | 6e 69 6c 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 6d 65 74 68 6f 64 20 75 73 | nil..."If.non-nil,.the.method.us |
| 2400 | 65 64 20 74 6f 20 62 72 65 61 6b 20 74 69 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20 6c 65 6e 67 | ed.to.break.ties.instead.of.leng |
| 2420 | 74 68 2e 0a 54 68 65 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 61 73 20 | th..The.value.will.be.called.as. |
| 2440 | 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 77 6f 20 63 61 6e 64 69 64 61 74 65 73 20 74 | a.function.with.two.candidates.t |
| 2460 | 68 61 74 0a 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 72 65 63 65 6e 63 79 20 61 6e 64 20 66 72 | hat.have.the.same.recency.and.fr |
| 2480 | 65 71 75 65 6e 63 79 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2c 20 61 6e 64 20 73 68 6f 75 6c 64 0a | equency.information,.and.should. |
| 24a0 | 72 65 74 75 72 6e 20 61 20 6e 75 6d 62 65 72 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 68 65 69 | return.a.number.to.indicate.thei |
| 24c0 | 72 20 72 65 6c 61 74 69 76 65 20 6f 72 64 65 72 20 28 6e 65 67 61 74 69 76 65 20 66 6f 72 0a 66 | r.relative.order.(negative.for.f |
| 24e0 | 69 72 73 74 20 3c 20 73 65 63 6f 6e 64 2c 20 7a 65 72 6f 20 66 6f 72 20 66 69 72 73 74 20 3d 20 | irst.<.second,.zero.for.first.=. |
| 2500 | 73 65 63 6f 6e 64 2c 20 70 6f 73 69 74 69 76 65 20 66 6f 72 20 66 69 72 73 74 20 3e 0a 73 65 63 | second,.positive.for.first.>.sec |
| 2520 | 6f 6e 64 29 2c 20 77 68 65 72 65 20 63 61 6e 64 69 64 61 74 65 73 20 61 72 65 20 61 73 73 75 6d | ond),.where.candidates.are.assum |
| 2540 | 65 64 20 74 6f 20 73 6f 72 74 20 69 6e 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 59 | ed.to.sort.in.ascending.order..Y |
| 2560 | 6f 75 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 70 72 | ou.can.also.use.the.variable.`pr |
| 2580 | 65 73 63 69 65 6e 74 2d 71 75 65 72 79 27 20 74 6f 20 61 63 63 65 73 73 20 74 68 65 0a 6f 72 69 | escient-query'.to.access.the.ori |
| 25a0 | 67 69 6e 61 6c 20 71 75 65 72 79 20 66 72 6f 6d 20 74 68 65 20 75 73 65 72 20 28 62 75 74 20 73 | ginal.query.from.the.user.(but.s |
| 25c0 | 65 65 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 20 66 6f 72 0a 63 61 76 65 61 74 73 29 2e 22 0a | ee.that.variable.for.caveats).". |
| 25e0 | 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 | ..:type.'(choice...........(cons |
| 2600 | 74 20 3a 74 61 67 20 22 4c 65 6e 67 74 68 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 | t.:tag."Length".nil)...........( |
| 2620 | 66 75 6e 63 74 69 6f 6e 20 3a 74 61 67 20 22 43 75 73 74 6f 6d 20 66 75 6e 63 74 69 6f 6e 22 29 | function.:tag."Custom.function") |
| 2640 | 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 61 67 67 72 65 73 73 | ))..(defcustom.prescient-aggress |
| 2660 | 69 76 65 2d 66 69 6c 65 2d 73 61 76 65 20 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 | ive-file-save.nil..."Whether.to. |
| 2680 | 73 61 76 65 20 74 68 65 20 63 61 63 68 65 20 66 69 6c 65 20 61 67 67 72 65 73 73 69 76 65 6c 79 | save.the.cache.file.aggressively |
| 26a0 | 2e 0a 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 77 72 69 74 65 20 74 68 65 20 63 61 63 | ..If.non-nil,.then.write.the.cac |
| 26c0 | 68 65 20 64 61 74 61 20 74 6f 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 27 | he.data.to.`prescient-save-file' |
| 26e0 | 0a 61 66 74 65 72 20 74 68 65 20 63 61 63 68 65 20 64 61 74 61 20 69 73 20 75 70 64 61 74 65 64 | .after.the.cache.data.is.updated |
| 2700 | 20 62 79 20 60 70 72 65 73 63 69 65 6e 74 2d 72 65 6d 65 6d 62 65 72 27 20 77 68 65 6e 0a 60 70 | .by.`prescient-remember'.when.`p |
| 2720 | 72 65 73 63 69 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 27 20 69 73 20 61 63 74 69 76 61 | rescient-persist-mode'.is.activa |
| 2740 | 74 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 | ted."...:type.'boolean)..(defcus |
| 2760 | 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 73 2d | tom.prescient-sort-full-matches- |
| 2780 | 66 69 72 73 74 20 6e 69 6c 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 73 6f 72 74 20 66 75 6c | first.nil..."Whether.to.sort.ful |
| 27a0 | 6c 79 20 6d 61 74 63 68 65 64 20 63 61 6e 64 69 64 61 74 65 73 20 62 65 66 6f 72 65 20 6f 74 68 | ly.matched.candidates.before.oth |
| 27c0 | 65 72 73 2e 0a 0a 50 72 65 73 63 69 65 6e 74 20 63 61 6e 20 73 6f 72 74 20 62 79 20 72 65 63 65 | ers...Prescient.can.sort.by.rece |
| 27e0 | 6e 63 79 2c 20 66 72 65 71 75 65 6e 63 79 2c 20 61 6e 64 20 63 61 6e 64 69 64 61 74 65 20 6c 65 | ncy,.frequency,.and.candidate.le |
| 2800 | 6e 67 74 68 2e 0a 57 69 74 68 20 74 68 69 73 20 6f 70 74 69 6f 6e 2c 20 66 75 6c 6c 79 20 6d 61 | ngth..With.this.option,.fully.ma |
| 2820 | 74 63 68 65 64 20 63 61 6e 64 69 64 61 74 65 73 20 77 69 6c 6c 20 62 65 20 73 6f 72 74 65 64 20 | tched.candidates.will.be.sorted. |
| 2840 | 62 65 66 6f 72 65 0a 70 61 72 74 69 61 6c 6c 79 20 6d 61 74 63 68 65 64 20 63 61 6e 64 69 64 61 | before.partially.matched.candida |
| 2860 | 74 65 73 2c 20 62 75 74 20 63 61 6e 64 69 64 61 74 65 73 20 69 6e 20 65 61 63 68 20 67 72 6f 75 | tes,.but.candidates.in.each.grou |
| 2880 | 70 20 77 69 6c 6c 0a 73 74 69 6c 6c 20 62 65 20 73 6f 72 74 65 64 20 6c 69 6b 65 20 6e 6f 72 6d | p.will.still.be.sorted.like.norm |
| 28a0 | 61 6c 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 | al."...:type.'boolean)..(defcust |
| 28c0 | 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 20 74 0a | om.prescient-use-char-folding.t. |
| 28e0 | 20 20 22 57 68 65 74 68 65 72 20 63 65 72 74 61 69 6e 20 6c 69 74 65 72 61 6c 20 66 69 6c 74 65 | .."Whether.certain.literal.filte |
| 2900 | 72 69 6e 67 20 6d 65 74 68 6f 64 73 20 75 73 65 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c 64 69 | ring.methods.use.character.foldi |
| 2920 | 6e 67 2e 0a 0a 54 68 69 73 20 61 66 66 65 63 74 73 20 74 68 65 20 60 6c 69 74 65 72 61 6c 27 20 | ng...This.affects.the.`literal'. |
| 2940 | 61 6e 64 20 60 6c 69 74 65 72 61 6c 2d 70 72 65 66 69 78 27 20 66 69 6c 74 65 72 69 6e 67 20 6d | and.`literal-prefix'.filtering.m |
| 2960 | 65 74 68 6f 64 73 2e 0a 0a 49 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 32 37 20 6f 72 | ethods...In.Emacs.versions.27.or |
| 2980 | 20 67 72 65 61 74 65 72 2c 20 73 65 65 20 61 6c 73 6f 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 | .greater,.see.also.the.customiza |
| 29a0 | 62 6c 65 0a 76 61 72 69 61 62 6c 65 73 20 60 63 68 61 72 2d 66 6f 6c 64 2d 69 6e 63 6c 75 64 65 | ble.variables.`char-fold-include |
| 29c0 | 27 2c 20 60 63 68 61 72 2d 66 6f 6c 64 2d 65 78 63 6c 75 64 65 27 2c 20 61 6e 64 0a 60 63 68 61 | ',.`char-fold-exclude',.and.`cha |
| 29e0 | 72 2d 66 6f 6c 64 2d 73 79 6d 6d 65 74 72 69 63 27 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f | r-fold-symmetric'."...:type.'boo |
| 2a00 | 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d | lean)..(defcustom.prescient-use- |
| 2a20 | 63 61 73 65 2d 66 6f 6c 64 69 6e 67 20 27 73 6d 61 72 74 0a 20 20 22 57 68 65 74 68 65 72 20 66 | case-folding.'smart..."Whether.f |
| 2a40 | 69 6c 74 65 72 69 6e 67 20 6d 65 74 68 6f 64 73 20 61 72 65 20 63 61 73 65 20 66 6f 6c 64 69 6e | iltering.methods.are.case.foldin |
| 2a60 | 67 2e 0a 0a 49 66 20 74 2c 20 61 6c 77 61 79 73 20 75 73 65 20 63 61 73 65 20 66 6f 6c 64 69 6e | g...If.t,.always.use.case.foldin |
| 2a80 | 67 2e 20 20 49 66 20 6e 69 6c 2c 20 6e 65 76 65 72 20 75 73 65 20 63 61 73 65 20 66 6f 6c 64 69 | g...If.nil,.never.use.case.foldi |
| 2aa0 | 6e 67 2e 0a 49 66 20 60 73 6d 61 72 74 27 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 75 73 | ng..If.`smart'.(the.default),.us |
| 2ac0 | 65 20 63 61 73 65 20 66 6f 6c 64 69 6e 67 20 6f 6e 6c 79 20 77 68 65 6e 20 74 68 65 20 71 75 65 | e.case.folding.only.when.the.que |
| 2ae0 | 72 79 0a 63 6f 6e 74 61 69 6e 73 20 6e 6f 20 75 70 70 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 | ry.contains.no.upper-case.letter |
| 2b00 | 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 | s."...:type.'(choice...........( |
| 2b20 | 63 6f 6e 73 74 20 3a 74 61 67 20 22 41 6c 77 61 79 73 22 20 74 29 0a 20 20 20 20 20 20 20 20 20 | const.:tag."Always".t).......... |
| 2b40 | 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4e 65 76 65 72 22 20 6e 69 6c 29 0a 20 20 20 20 20 20 | .(const.:tag."Never".nil)....... |
| 2b60 | 20 20 20 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 55 6e 6c 65 73 73 20 75 73 69 6e 67 20 75 70 | ....(const.:tag."Unless.using.up |
| 2b80 | 70 65 72 2d 63 61 73 65 20 6c 65 74 74 65 72 73 22 20 73 6d 61 72 74 29 29 29 0a 0a 28 64 65 66 | per-case.letters".smart)))..(def |
| 2ba0 | 63 75 73 74 6f 6d 20 70 72 65 73 63 69 65 6e 74 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 68 69 67 68 | custom.prescient-completion-high |
| 2bc0 | 6c 69 67 68 74 2d 6d 61 74 63 68 65 73 20 74 0a 20 20 22 57 68 65 74 68 65 72 20 74 68 65 20 60 | light-matches.t..."Whether.the.` |
| 2be0 | 70 72 65 73 63 69 65 6e 74 27 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 20 73 68 6f 75 | prescient'.completion.style.shou |
| 2c00 | 6c 64 20 68 69 67 68 6c 69 67 68 74 20 6d 61 74 63 68 65 73 2e 0a 0a 49 66 20 60 63 6f 6d 70 6c | ld.highlight.matches...If.`compl |
| 2c20 | 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 27 20 69 73 20 62 6f 75 6e 64 20 61 6e 64 20 6e | etion-lazy-hilit'.is.bound.and.n |
| 2c40 | 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 74 68 69 73 20 75 73 65 72 0a 6f 70 74 69 6f 6e 20 69 73 | on-nil,.then.this.user.option.is |
| 2c60 | 20 69 67 6e 6f 72 65 64 20 69 6e 20 66 61 76 6f 72 20 6f 66 20 74 68 61 74 20 76 61 72 69 61 62 | .ignored.in.favor.of.that.variab |
| 2c80 | 6c 65 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 74 68 65 20 66 61 63 65 73 20 60 70 72 65 73 63 69 65 | le...See.also.the.faces.`prescie |
| 2ca0 | 6e 74 2d 70 72 69 6d 61 72 79 2d 68 69 67 68 6c 69 67 68 74 27 20 61 6e 64 0a 60 70 72 65 73 63 | nt-primary-highlight'.and.`presc |
| 2cc0 | 69 65 6e 74 2d 73 65 63 6f 6e 64 61 72 79 2d 68 69 67 68 6c 69 67 68 74 27 2e 22 0a 20 20 3a 74 | ient-secondary-highlight'."...:t |
| 2ce0 | 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d | ype.'boolean)..(define-obsolete- |
| 2d00 | 66 61 63 65 2d 61 6c 69 61 73 20 27 73 65 6c 65 63 74 72 75 6d 2d 70 72 69 6d 61 72 79 2d 68 69 | face-alias.'selectrum-primary-hi |
| 2d20 | 67 68 6c 69 67 68 74 0a 20 20 27 70 72 65 73 63 69 65 6e 74 2d 70 72 69 6d 61 72 79 2d 68 69 67 | ghlight...'prescient-primary-hig |
| 2d40 | 68 6c 69 67 68 74 20 74 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f 6c 65 74 65 2d 66 61 63 65 2d | hlight.t).(define-obsolete-face- |
| 2d60 | 61 6c 69 61 73 20 27 73 65 6c 65 63 74 72 75 6d 2d 70 72 65 73 63 69 65 6e 74 2d 70 72 69 6d 61 | alias.'selectrum-prescient-prima |
| 2d80 | 72 79 2d 68 69 67 68 6c 69 67 68 74 0a 20 20 27 70 72 65 73 63 69 65 6e 74 2d 70 72 69 6d 61 72 | ry-highlight...'prescient-primar |
| 2da0 | 79 2d 68 69 67 68 6c 69 67 68 74 20 74 29 0a 28 64 65 66 66 61 63 65 20 70 72 65 73 63 69 65 6e | y-highlight.t).(defface.prescien |
| 2dc0 | 74 2d 70 72 69 6d 61 72 79 2d 68 69 67 68 6c 69 67 68 74 0a 20 20 27 28 28 74 20 3a 77 65 69 67 | t-primary-highlight...'((t.:weig |
| 2de0 | 68 74 20 62 6f 6c 64 29 29 0a 20 20 22 46 61 63 65 20 75 73 65 64 20 74 6f 20 68 69 67 68 6c 69 | ht.bold))..."Face.used.to.highli |
| 2e00 | 67 68 74 20 74 68 65 20 70 61 72 74 73 20 6f 66 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 | ght.the.parts.of.candidates.that |
| 2e20 | 20 6d 61 74 63 68 20 74 68 65 20 69 6e 70 75 74 2e 22 29 0a 0a 28 64 65 66 69 6e 65 2d 6f 62 73 | .match.the.input.")..(define-obs |
| 2e40 | 6f 6c 65 74 65 2d 66 61 63 65 2d 61 6c 69 61 73 20 27 73 65 6c 65 63 74 72 75 6d 2d 73 65 63 6f | olete-face-alias.'selectrum-seco |
| 2e60 | 6e 64 61 72 79 2d 68 69 67 68 6c 69 67 68 74 0a 20 20 27 70 72 65 73 63 69 65 6e 74 2d 73 65 63 | ndary-highlight...'prescient-sec |
| 2e80 | 6f 6e 64 61 72 79 2d 68 69 67 68 6c 69 67 68 74 20 74 29 0a 28 64 65 66 69 6e 65 2d 6f 62 73 6f | ondary-highlight.t).(define-obso |
| 2ea0 | 6c 65 74 65 2d 66 61 63 65 2d 61 6c 69 61 73 20 27 73 65 6c 65 63 74 72 75 6d 2d 70 72 65 73 63 | lete-face-alias.'selectrum-presc |
| 2ec0 | 69 65 6e 74 2d 73 65 63 6f 6e 64 61 72 79 2d 68 69 67 68 6c 69 67 68 74 0a 20 20 27 70 72 65 73 | ient-secondary-highlight...'pres |
| 2ee0 | 63 69 65 6e 74 2d 73 65 63 6f 6e 64 61 72 79 2d 68 69 67 68 6c 69 67 68 74 20 74 29 0a 28 64 65 | cient-secondary-highlight.t).(de |
| 2f00 | 66 66 61 63 65 20 70 72 65 73 63 69 65 6e 74 2d 73 65 63 6f 6e 64 61 72 79 2d 68 69 67 68 6c 69 | fface.prescient-secondary-highli |
| 2f20 | 67 68 74 0a 20 20 27 28 28 74 20 3a 69 6e 68 65 72 69 74 20 70 72 65 73 63 69 65 6e 74 2d 70 72 | ght...'((t.:inherit.prescient-pr |
| 2f40 | 69 6d 61 72 79 2d 68 69 67 68 6c 69 67 68 74 20 3a 75 6e 64 65 72 6c 69 6e 65 20 74 29 29 0a 20 | imary-highlight.:underline.t)).. |
| 2f60 | 20 22 41 64 64 69 74 69 6f 6e 61 6c 20 66 61 63 65 20 75 73 65 64 20 74 6f 20 68 69 67 68 6c 69 | ."Additional.face.used.to.highli |
| 2f80 | 67 68 74 20 70 61 72 74 73 20 6f 66 20 63 61 6e 64 69 64 61 74 65 73 2e 0a 0a 4d 61 79 20 62 65 | ght.parts.of.candidates...May.be |
| 2fa0 | 20 75 73 65 64 20 74 6f 20 68 69 67 68 6c 69 67 68 74 20 70 61 72 74 73 20 6f 66 20 63 61 6e 64 | .used.to.highlight.parts.of.cand |
| 2fc0 | 69 64 61 74 65 73 20 74 68 61 74 20 6d 61 74 63 68 20 73 70 65 63 69 66 69 63 0a 70 61 72 74 73 | idates.that.match.specific.parts |
| 2fe0 | 20 6f 66 20 74 68 65 20 69 6e 70 75 74 2e 22 29 0a 0a 3b 3b 3b 3b 20 43 61 63 68 65 73 0a 0a 28 | .of.the.input.")..;;;;.Caches..( |
| 3000 | 64 65 66 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 20 28 6d 61 6b 65 2d | defvar.prescient--history.(make- |
| 3020 | 68 61 73 68 2d 74 61 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 48 61 73 68 | hash-table.:test.'equal)..."Hash |
| 3040 | 20 74 61 62 6c 65 20 6f 66 20 72 65 63 65 6e 74 6c 79 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 | .table.of.recently.chosen.candid |
| 3060 | 61 74 65 73 2e 0a 54 68 65 20 6b 65 79 73 20 61 72 65 20 63 61 6e 64 69 64 61 74 65 73 20 61 73 | ates..The.keys.are.candidates.as |
| 3080 | 20 73 74 72 69 6e 67 73 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 20 30 2d 62 61 | .strings.and.the.values.are.0-ba |
| 30a0 | 73 65 64 0a 69 6e 64 69 63 65 73 2c 20 6c 65 73 73 20 74 68 61 6e 20 60 70 72 65 73 63 69 65 6e | sed.indices,.less.than.`prescien |
| 30c0 | 74 2d 68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 68 27 2e 20 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 | t-history-length'..The.number.of |
| 30e0 | 0a 76 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 20 61 74 20 6d 6f 73 74 20 60 70 72 65 73 63 69 65 | .values.will.be.at.most.`prescie |
| 3100 | 6e 74 2d 68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 68 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70 72 | nt-history-length'.")..(defun.pr |
| 3120 | 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 2d 61 73 2d 6c 69 73 74 20 28 29 0a 20 20 22 52 | escient--history-as-list.()..."R |
| 3140 | 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 6c | eturn.a.list.of.the.most.recentl |
| 3160 | 79 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 73 74 72 69 6e 67 73 2e 0a | y.chosen.candidates.as.strings.. |
| 3180 | 54 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 6c 79 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 61 | The.most.recently.chosen.candida |
| 31a0 | 74 65 73 20 61 72 65 20 61 74 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 74 68 65 0a 6c 69 73 74 | tes.are.at.the.front.of.the.list |
| 31c0 | 2e 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6d 6f 73 74 6c 79 20 75 73 65 66 75 6c | ..This.function.is.mostly.useful |
| 31e0 | 20 66 6f 72 20 64 65 62 75 67 67 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 6f 72 | .for.debugging."...(let.((histor |
| 3200 | 79 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 70 72 65 73 63 69 65 6e 74 2d 68 69 73 74 6f 72 79 | y.(make-vector.prescient-history |
| 3220 | 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 6d 61 70 68 61 73 68 0a 20 20 20 20 | -length.nil))).....(maphash..... |
| 3240 | 20 28 6c 61 6d 62 64 61 20 28 63 61 6e 64 20 69 6e 64 65 78 29 0a 20 20 20 20 20 20 20 28 69 67 | .(lambda.(cand.index)........(ig |
| 3260 | 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 68 69 73 74 6f | nore-errors..........(aset.histo |
| 3280 | 72 79 20 69 6e 64 65 78 20 63 61 6e 64 29 29 29 0a 20 20 20 20 20 70 72 65 73 63 69 65 6e 74 2d | ry.index.cand)))......prescient- |
| 32a0 | 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 20 6e 69 6c 20 28 61 70 | -history).....(cl-remove.nil.(ap |
| 32c0 | 70 65 6e 64 20 68 69 73 74 6f 72 79 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 70 72 | pend.history.nil))))..(defvar.pr |
| 32e0 | 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 | escient--frequency.(make-hash-ta |
| 3300 | 62 6c 65 20 3a 74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 48 61 73 68 20 74 61 62 6c 65 20 | ble.:test.'equal)..."Hash.table. |
| 3320 | 6f 66 20 66 72 65 71 75 65 6e 74 6c 79 20 63 68 6f 73 65 6e 20 63 61 6e 64 69 64 61 74 65 73 2e | of.frequently.chosen.candidates. |
| 3340 | 0a 54 68 65 20 6b 65 79 73 20 61 72 65 20 63 61 6e 64 69 64 61 74 65 73 20 61 73 20 73 74 72 69 | .The.keys.are.candidates.as.stri |
| 3360 | 6e 67 73 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 73 20 61 72 65 0a 66 72 65 71 75 65 6e 63 69 | ngs.and.the.values.are.frequenci |
| 3380 | 65 73 20 28 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 29 2e 20 46 72 65 | es.(floating-point.numbers)..Fre |
| 33a0 | 71 75 65 6e 63 69 65 73 20 77 69 6c 6c 20 62 65 20 61 74 0a 6c 65 61 73 74 20 60 70 72 65 73 63 | quencies.will.be.at.least.`presc |
| 33c0 | 69 65 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 74 68 72 65 73 68 6f 6c 64 27 2e 22 29 0a 0a 28 64 | ient-frequency-threshold'.")..(d |
| 33e0 | 65 66 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 61 63 68 65 2d 6c 6f 61 64 65 64 20 6e 69 | efvar.prescient--cache-loaded.ni |
| 3400 | 6c 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 70 72 65 73 63 69 65 6e 74 2e 65 6c 20 64 61 74 | l..."Non-nil.if.prescient.el.dat |
| 3420 | 61 20 77 61 73 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 | a.was.loaded.from.`prescient-sav |
| 3440 | 65 2d 66 69 6c 65 27 2e 0a 45 76 65 6e 20 69 66 20 74 68 65 20 6c 6f 61 64 20 66 61 69 6c 65 64 | e-file'..Even.if.the.load.failed |
| 3460 | 2c 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 74 69 6c 6c 20 73 65 74 20 74 6f 20 | ,.this.variable.is.still.set.to. |
| 3480 | 6e 6f 6e 2d 6e 69 6c 0a 77 68 65 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 2d 6c 6f 61 64 27 20 69 | non-nil.when.`prescient--load'.i |
| 34a0 | 73 20 63 61 6c 6c 65 64 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d | s.called.")..(defvar.prescient-- |
| 34c0 | 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 20 30 0a 20 20 22 4e 75 6d 62 65 72 20 6f 66 20 74 69 6d | serial-number.0..."Number.of.tim |
| 34e0 | 65 73 20 60 70 72 65 73 63 69 65 6e 74 2d 72 65 6d 65 6d 62 65 72 27 20 68 61 73 20 62 65 65 6e | es.`prescient-remember'.has.been |
| 3500 | 20 63 61 6c 6c 65 64 2e 0a 0a 54 68 69 73 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 74 65 72 6d | .called...This.is.used.to.determ |
| 3520 | 69 6e 65 20 77 68 69 63 68 20 73 65 74 20 6f 66 20 63 68 61 6e 67 65 73 20 74 6f 20 74 68 65 20 | ine.which.set.of.changes.to.the. |
| 3540 | 73 61 76 65 20 66 69 6c 65 0a 73 68 6f 75 6c 64 20 5c 22 77 69 6e 5c 22 20 77 68 65 6e 20 74 77 | save.file.should.\"win\".when.tw |
| 3560 | 6f 20 63 6f 6e 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 73 65 73 73 69 6f 6e 73 20 77 61 6e 74 | o.concurrent.Emacs.sessions.want |
| 3580 | 20 74 6f 20 6d 6f 64 69 66 79 0a 69 74 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 | .to.modify.it.")..(defun.prescie |
| 35a0 | 6e 74 2d 66 6f 72 67 65 74 20 28 63 61 6e 64 69 64 61 74 65 29 0a 20 20 22 52 65 6d 6f 76 65 20 | nt-forget.(candidate)..."Remove. |
| 35c0 | 43 41 4e 44 49 44 41 54 45 20 66 72 6f 6d 20 72 65 63 65 6e 63 79 20 61 6e 64 20 66 72 65 71 75 | CANDIDATE.from.recency.and.frequ |
| 35e0 | 65 6e 63 79 20 72 65 63 6f 72 64 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 0a 20 20 | ency.records."...(interactive... |
| 3600 | 20 28 6c 69 73 74 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 46 6f 72 67 65 74 20 | .(list.(completing-read."Forget. |
| 3620 | 63 61 6e 64 69 64 61 74 65 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | candidate:.".................... |
| 3640 | 20 20 20 20 20 20 20 3b 3b 20 53 69 6e 63 65 20 63 61 6e 64 69 64 61 74 65 73 20 61 72 65 20 73 | .......;;.Since.candidates.are.s |
| 3660 | 68 61 72 65 64 2c 20 73 65 6c 65 63 74 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | hared,.select.from.............. |
| 3680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 74 61 62 6c 65 20 77 69 74 68 20 74 | .............;;.the.table.with.t |
| 36a0 | 68 65 20 6d 6f 73 74 20 63 61 6e 64 69 64 61 74 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | he.most.candidates.............. |
| 36c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 28 68 61 73 68 2d 74 61 62 6c 65 | ..............(if.(>.(hash-table |
| 36e0 | 2d 73 69 7a 65 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 29 0a 20 20 20 20 | -size.prescient--frequency)..... |
| 3700 | 20 20 20 20 20 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 68 61 | .............................(ha |
| 3720 | 73 68 2d 74 61 62 6c 65 2d 73 69 7a 65 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 | sh-table-size.prescient--history |
| 3740 | 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | )).............................. |
| 3760 | 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 0a 20 20 20 20 20 20 20 20 20 20 | .prescient--frequency........... |
| 3780 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 | ..................prescient--his |
| 37a0 | 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | tory)........................... |
| 37c0 | 6e 69 6c 20 74 29 29 29 0a 20 20 28 72 65 6d 68 61 73 68 20 63 61 6e 64 69 64 61 74 65 20 70 72 | nil.t)))...(remhash.candidate.pr |
| 37e0 | 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 29 0a 20 20 28 72 65 6d 68 61 73 68 20 63 61 6e | escient--history)...(remhash.can |
| 3800 | 64 69 64 61 74 65 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 29 29 0a 0a 3b | didate.prescient--frequency))..; |
| 3820 | 3b 3b 3b 20 50 65 72 73 69 73 74 65 6e 63 65 0a 0a 28 64 65 66 76 61 72 20 70 72 65 73 63 69 65 | ;;;.Persistence..(defvar.prescie |
| 3840 | 6e 74 2d 2d 63 61 63 68 65 2d 76 65 72 73 69 6f 6e 20 35 0a 20 20 22 43 75 72 72 65 6e 74 20 76 | nt--cache-version.5..."Current.v |
| 3860 | 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 | ersion.number.of.`prescient-save |
| 3880 | 2d 66 69 6c 65 27 20 66 6f 72 6d 61 74 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72 65 73 63 69 | -file'.format.")..(defvar.presci |
| 38a0 | 65 6e 74 2d 63 61 63 68 65 2d 63 61 6c 6c 62 61 63 6b 20 23 27 69 67 6e 6f 72 65 0a 20 20 22 43 | ent-cache-callback.#'ignore..."C |
| 38c0 | 61 6c 6c 62 61 63 6b 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 62 79 20 6c 6f 61 64 69 | allback.function.called.by.loadi |
| 38e0 | 6e 67 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 27 2e 0a 41 20 60 66 75 6e | ng.`prescient-save-file'..A.`fun |
| 3900 | 63 61 6c 6c 27 20 74 6f 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 77 72 69 74 74 65 | call'.to.this.variable.is.writte |
| 3920 | 6e 20 74 6f 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 27 2e 0a 54 68 65 20 | n.to.`prescient-save-file'..The. |
| 3940 | 66 75 6e 63 74 69 6f 6e 20 6d 61 79 20 70 72 6f 64 75 63 65 20 65 72 72 6f 72 73 3b 20 74 68 65 | function.may.produce.errors;.the |
| 3960 | 79 20 77 69 6c 6c 20 62 65 20 69 67 6e 6f 72 65 64 2e 0a 0a 55 73 75 61 6c 6c 79 20 74 68 69 73 | y.will.be.ignored...Usually.this |
| 3980 | 20 76 61 72 69 61 62 6c 65 20 69 73 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 74 | .variable.is.dynamically.bound.t |
| 39a0 | 6f 20 61 6e 6f 74 68 65 72 20 76 61 6c 75 65 20 77 68 69 6c 65 0a 60 70 72 65 73 63 69 65 6e 74 | o.another.value.while.`prescient |
| 39c0 | 2d 73 61 76 65 2d 66 69 6c 65 27 20 69 73 20 6c 6f 61 64 65 64 2e 22 29 0a 0a 28 64 65 66 75 6e | -save-file'.is.loaded.")..(defun |
| 39e0 | 20 70 72 65 73 63 69 65 6e 74 2d 2d 6c 6f 61 64 2d 73 61 76 65 2d 66 69 6c 65 20 28 29 0a 20 20 | .prescient--load-save-file.()... |
| 3a00 | 22 4c 6f 61 64 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 27 2c 20 69 67 6e | "Load.`prescient-save-file',.ign |
| 3a20 | 6f 72 69 6e 67 20 65 72 72 6f 72 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 6f 61 64 2d 73 6f 75 | oring.errors."...(let.((load-sou |
| 3a40 | 72 63 65 2d 66 69 6c 65 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 29 0a 20 20 20 20 28 69 67 6e | rce-file-function.nil)).....(ign |
| 3a60 | 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 28 6c 6f 61 64 20 70 72 65 73 63 69 65 6e 74 | ore-errors.......(load.prescient |
| 3a80 | 2d 73 61 76 65 2d 66 69 6c 65 20 27 6e 6f 65 72 72 6f 72 20 27 6e 6f 6d 65 73 73 61 67 29 29 29 | -save-file.'noerror.'nomessag))) |
| 3aa0 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 6c 6f 61 64 20 28 29 0a 20 20 22 | )..(defun.prescient--load.()..." |
| 3ac0 | 52 65 61 64 20 64 61 74 61 20 66 72 6f 6d 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 | Read.data.from.`prescient-save-f |
| 3ae0 | 69 6c 65 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 6c 2d 6c 65 74 | ile'."...(interactive)...(cl-let |
| 3b00 | 66 20 28 28 70 72 65 73 63 69 65 6e 74 2d 63 61 63 68 65 2d 63 61 6c 6c 62 61 63 6b 0a 20 20 20 | f.((prescient-cache-callback.... |
| 3b20 | 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 | ..........(lambda.(&rest.args).. |
| 3b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 28 70 6c 69 73 | ..............(when.(equal.(plis |
| 3b60 | 74 2d 67 65 74 20 61 72 67 73 20 3a 76 65 72 73 69 6f 6e 29 20 70 72 65 73 63 69 65 6e 74 2d 2d | t-get.args.:version).prescient-- |
| 3b80 | 63 61 63 68 65 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | cache-version).................. |
| 3ba0 | 28 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 20 28 70 6c 69 73 74 2d | (setq.prescient--history.(plist- |
| 3bc0 | 67 65 74 20 61 72 67 73 20 3a 68 69 73 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | get.args.:history))............. |
| 3be0 | 20 20 20 20 20 28 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 20 | .....(setq.prescient--frequency. |
| 3c00 | 28 70 6c 69 73 74 2d 67 65 74 20 61 72 67 73 20 3a 66 72 65 71 75 65 6e 63 79 29 29 0a 20 20 20 | (plist-get.args.:frequency)).... |
| 3c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 73 | ..............(setq.prescient--s |
| 3c40 | 65 72 69 61 6c 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | erial-number.................... |
| 3c60 | 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 61 72 67 73 20 3a 73 65 72 69 61 6c 2d 6e 75 6d 62 | ....(plist-get.args.:serial-numb |
| 3c80 | 65 72 29 29 29 29 29 29 0a 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 2d 6c 6f 61 64 2d 73 61 | er)))))).....(prescient--load-sa |
| 3ca0 | 76 65 2d 66 69 6c 65 29 29 0a 20 20 28 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 61 63 | ve-file))...(setq.prescient--cac |
| 3cc0 | 68 65 2d 6c 6f 61 64 65 64 20 74 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d | he-loaded.t))..(defun.prescient- |
| 3ce0 | 2d 73 61 76 65 20 28 29 0a 20 20 22 57 72 69 74 65 20 64 61 74 61 20 74 6f 20 60 70 72 65 73 63 | -save.()..."Write.data.to.`presc |
| 3d00 | 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 27 2e 22 0a 20 20 28 63 6c 2d 6c 65 74 66 2a 20 28 28 | ient-save-file'."...(cl-letf*.(( |
| 3d20 | 73 61 76 65 64 2d 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 | saved-serial-number.nil)........ |
| 3d40 | 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 63 61 63 68 65 2d 63 61 6c 6c 62 61 63 6b 0a | ......(prescient-cache-callback. |
| 3d60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 | ..............(lambda.(&rest.arg |
| 3d80 | 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 | s).................(when.(equal. |
| 3da0 | 28 70 6c 69 73 74 2d 67 65 74 20 61 72 67 73 20 3a 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 | (plist-get.args.:version)....... |
| 3dc0 | 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 65 73 63 69 65 6e 74 | .......................prescient |
| 3de0 | 2d 2d 63 61 63 68 65 2d 76 65 72 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | --cache-version)................ |
| 3e00 | 20 20 20 28 73 65 74 71 20 73 61 76 65 64 2d 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 0a 20 20 20 | ...(setq.saved-serial-number.... |
| 3e20 | 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 67 65 74 20 | .....................(plist-get. |
| 3e40 | 61 72 67 73 20 3a 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 | args.:serial-number)))))........ |
| 3e60 | 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 6e 67 74 68 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 | ......(print-length.nil)........ |
| 3e80 | 20 20 20 20 20 20 28 70 72 69 6e 74 2d 6c 65 76 65 6c 20 6e 69 6c 29 29 0a 20 20 20 20 28 70 72 | ......(print-level.nil)).....(pr |
| 3ea0 | 65 73 63 69 65 6e 74 2d 2d 6c 6f 61 64 2d 73 61 76 65 2d 66 69 6c 65 29 0a 20 20 20 20 28 77 68 | escient--load-save-file).....(wh |
| 3ec0 | 65 6e 20 28 6f 72 20 28 6e 6f 74 20 28 6e 75 6d 62 65 72 70 20 73 61 76 65 64 2d 73 65 72 69 61 | en.(or.(not.(numberp.saved-seria |
| 3ee0 | 6c 2d 6e 75 6d 62 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 3d 20 70 72 65 | l-number))...............(>=.pre |
| 3f00 | 73 63 69 65 6e 74 2d 2d 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 20 73 61 76 65 64 2d 73 65 72 69 | scient--serial-number.saved-seri |
| 3f20 | 61 6c 2d 6e 75 6d 62 65 72 29 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 | al-number)).......(make-director |
| 3f40 | 79 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 | y.(file-name-directory.......... |
| 3f60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 | ..............(expand-file-name. |
| 3f80 | 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 | prescient-save-file))........... |
| 3fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 27 70 61 72 65 6e 74 73 29 0a 20 20 20 20 20 20 28 77 69 74 | ............'parents).......(wit |
| 3fc0 | 68 2d 74 65 6d 70 2d 66 69 6c 65 20 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 0a | h-temp-file.prescient-save-file. |
| 3fe0 | 20 20 20 20 20 20 20 20 28 70 72 69 6e 74 0a 20 20 20 20 20 20 20 20 20 60 28 66 75 6e 63 61 6c | ........(print..........`(funcal |
| 4000 | 6c 20 70 72 65 73 63 69 65 6e 74 2d 63 61 63 68 65 2d 63 61 6c 6c 62 61 63 6b 0a 20 20 20 20 20 | l.prescient-cache-callback...... |
| 4020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 76 65 72 73 69 6f 6e 20 27 2c 70 72 65 73 63 69 65 | ..............:version.',prescie |
| 4040 | 6e 74 2d 2d 63 61 63 68 65 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt--cache-version............... |
| 4060 | 20 20 20 20 20 3a 68 69 73 74 6f 72 79 20 27 2c 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f | .....:history.',prescient--histo |
| 4080 | 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 66 72 65 71 75 65 6e 63 79 | ry....................:frequency |
| 40a0 | 20 27 2c 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 0a 20 20 20 20 20 20 20 20 | .',prescient--frequency......... |
| 40c0 | 20 20 20 20 20 20 20 20 20 20 20 3a 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 20 27 2c 70 72 65 73 | ...........:serial-number.',pres |
| 40e0 | 63 69 65 6e 74 2d 2d 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 29 0a 20 20 20 20 20 20 20 20 20 28 | cient--serial-number)..........( |
| 4100 | 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 6d 69 | current-buffer))))))..(define-mi |
| 4120 | 6e 6f 72 2d 6d 6f 64 65 20 70 72 65 73 63 69 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 0a | nor-mode.prescient-persist-mode. |
| 4140 | 20 20 22 4d 69 6e 6f 72 20 6d 6f 64 65 20 74 6f 20 70 65 72 73 69 73 74 20 70 72 65 73 63 69 65 | .."Minor.mode.to.persist.prescie |
| 4160 | 6e 74 2e 65 6c 20 73 74 61 74 69 73 74 69 63 73 20 74 6f 20 60 70 72 65 73 63 69 65 6e 74 2d 73 | nt.el.statistics.to.`prescient-s |
| 4180 | 61 76 65 2d 66 69 6c 65 27 2e 22 0a 20 20 3a 67 6c 6f 62 61 6c 20 74 0a 20 20 3a 67 72 6f 75 70 | ave-file'."...:global.t...:group |
| 41a0 | 20 27 70 72 65 73 63 69 65 6e 74 0a 20 20 28 69 66 20 70 72 65 73 63 69 65 6e 74 2d 70 65 72 73 | .'prescient...(if.prescient-pers |
| 41c0 | 69 73 74 2d 6d 6f 64 65 0a 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 28 70 | ist-mode.......(progn.........(p |
| 41e0 | 72 65 73 63 69 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 20 2d 31 29 0a 20 20 20 20 20 20 | rescient-persist-mode.-1)....... |
| 4200 | 20 20 28 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 20 74 | ..(setq.prescient-persist-mode.t |
| 4220 | 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 65 6d 61 63 73 2d | ).........(add-hook.'kill-emacs- |
| 4240 | 68 6f 6f 6b 20 23 27 70 72 65 73 63 69 65 6e 74 2d 2d 73 61 76 65 29 29 0a 20 20 20 20 28 72 65 | hook.#'prescient--save)).....(re |
| 4260 | 6d 6f 76 65 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 65 6d 61 63 73 2d 68 6f 6f 6b 20 23 27 70 72 65 | move-hook.'kill-emacs-hook.#'pre |
| 4280 | 73 63 69 65 6e 74 2d 2d 73 61 76 65 29 29 29 0a 0a 3b 3b 3b 3b 20 55 74 69 6c 69 74 79 20 66 75 | scient--save)))..;;;;.Utility.fu |
| 42a0 | 6e 63 74 69 6f 6e 73 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 68 61 72 2d 66 | nctions.(defun.prescient--char-f |
| 42c0 | 6f 6c 64 2d 74 6f 2d 72 65 67 65 78 70 20 28 73 74 72 69 6e 67 29 0a 20 20 22 43 6f 6e 76 65 72 | old-to-regexp.(string)..."Conver |
| 42e0 | 74 20 53 54 52 49 4e 47 20 74 6f 20 61 20 72 65 67 65 78 70 20 74 68 61 74 20 68 61 6e 64 6c 65 | t.STRING.to.a.regexp.that.handle |
| 4300 | 73 20 63 68 61 72 20 66 6f 6c 64 69 6e 67 2e 0a 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 | s.char.folding..This.is.the.same |
| 4320 | 20 61 73 20 60 63 68 61 72 2d 66 6f 6c 64 2d 74 6f 2d 72 65 67 65 78 70 27 20 62 75 74 20 69 74 | .as.`char-fold-to-regexp'.but.it |
| 4340 | 20 77 6f 72 6b 73 20 61 72 6f 75 6e 64 0a 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d | .works.around.https://github.com |
| 4360 | 2f 72 61 78 6f 64 35 30 32 2f 70 72 65 73 63 69 65 6e 74 2e 65 6c 2f 69 73 73 75 65 73 2f 37 31 | /raxod502/prescient.el/issues/71 |
| 4380 | 2e 20 54 68 65 20 69 73 73 75 65 0a 73 68 6f 75 6c 64 20 72 65 61 6c 6c 79 20 62 65 20 66 69 78 | ..The.issue.should.really.be.fix |
| 43a0 | 65 64 20 75 70 73 74 72 65 61 6d 20 69 6e 20 45 6d 61 63 73 2c 20 62 75 74 20 69 74 20 6c 6f 6f | ed.upstream.in.Emacs,.but.it.loo |
| 43c0 | 6b 73 20 6c 69 6b 65 20 74 68 61 74 0a 69 73 20 6e 6f 74 20 68 61 70 70 65 6e 69 6e 67 20 61 6e | ks.like.that.is.not.happening.an |
| 43e0 | 79 74 69 6d 65 20 73 6f 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 67 65 78 70 20 28 63 68 | ytime.soon."...(let.((regexp.(ch |
| 4400 | 61 72 2d 66 6f 6c 64 2d 74 6f 2d 72 65 67 65 78 70 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 | ar-fold-to-regexp.string)))..... |
| 4420 | 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 5f 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 | (condition-case._.........(prog1 |
| 4440 | 20 72 65 67 65 78 70 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d | .regexp...........(string-match- |
| 4460 | 70 20 72 65 67 65 78 70 20 22 22 29 29 0a 20 20 20 20 20 20 28 69 6e 76 61 6c 69 64 2d 72 65 67 | p.regexp."")).......(invalid-reg |
| 4480 | 65 78 70 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 73 74 72 69 6e 67 29 29 29 29 29 0a 0a 28 | exp.(regexp-quote.string)))))..( |
| 44a0 | 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 73 70 6c 69 74 2d 71 75 65 72 79 20 28 71 75 65 | defun.prescient-split-query.(que |
| 44c0 | 72 79 29 0a 20 20 22 53 70 6c 69 74 20 51 55 45 52 59 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 73 | ry)..."Split.QUERY.string.into.s |
| 44e0 | 75 62 2d 71 75 65 72 69 65 73 2e 0a 54 68 65 20 71 75 65 72 79 20 69 73 20 73 70 6c 69 74 20 6f | ub-queries..The.query.is.split.o |
| 4500 | 6e 20 73 70 61 63 65 73 2c 20 62 75 74 20 61 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 77 6f 20 | n.spaces,.but.a.sequence.of.two. |
| 4520 | 6f 72 20 6d 6f 72 65 0a 73 70 61 63 65 73 20 68 61 73 20 6f 6e 65 20 73 70 61 63 65 20 72 65 6d | or.more.spaces.has.one.space.rem |
| 4540 | 6f 76 65 64 20 61 6e 64 20 69 73 20 74 72 65 61 74 65 64 20 6c 69 74 65 72 61 6c 6c 79 20 72 61 | oved.and.is.treated.literally.ra |
| 4560 | 74 68 65 72 20 74 68 61 6e 0a 61 73 20 61 20 73 75 62 2d 71 75 65 72 79 20 64 65 6c 69 6d 69 74 | ther.than.as.a.sub-query.delimit |
| 4580 | 65 72 2e 22 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5c 5c 60 20 | er."...(if.(string-match-p."\\`. |
| 45a0 | 2a 5c 5c 27 22 20 71 75 65 72 79 29 0a 20 20 20 20 20 20 3b 3b 20 49 66 20 73 74 72 69 6e 67 20 | *\\'".query).......;;.If.string. |
| 45c0 | 69 73 20 7a 65 72 6f 20 6f 72 20 6f 6e 65 20 73 70 61 63 65 73 2c 20 74 68 65 6e 20 77 65 20 6d | is.zero.or.one.spaces,.then.we.m |
| 45e0 | 61 74 63 68 20 65 76 65 72 79 74 68 69 6e 67 2e 0a 20 20 20 20 20 20 3b 3b 20 52 65 74 75 72 6e | atch.everything........;;.Return |
| 4600 | 20 61 6e 20 65 6d 70 74 79 20 73 75 62 71 75 65 72 79 20 6c 69 73 74 2e 0a 20 20 20 20 20 20 28 | .an.empty.subquery.list........( |
| 4620 | 75 6e 6c 65 73 73 20 28 3c 3d 20 28 6c 65 6e 67 74 68 20 71 75 65 72 79 29 20 31 29 0a 20 20 20 | unless.(<=.(length.query).1).... |
| 4640 | 20 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 | .....;;.Otherwise,.the.number.of |
| 4660 | 20 73 70 61 63 65 73 20 73 68 6f 75 6c 64 20 62 65 20 72 65 64 75 63 65 64 20 62 79 20 6f 6e 65 | .spaces.should.be.reduced.by.one |
| 4680 | 2e 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 73 75 62 73 74 72 69 6e 67 20 71 75 65 72 79 | ..........(list.(substring.query |
| 46a0 | 20 31 29 29 29 0a 20 20 20 20 3b 3b 20 54 72 69 6d 20 6f 66 66 20 61 20 73 69 6e 67 6c 65 20 73 | .1))).....;;.Trim.off.a.single.s |
| 46c0 | 70 61 63 65 20 66 72 6f 6d 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 61 6e 64 20 65 6e 64 2c | pace.from.the.beginning.and.end, |
| 46e0 | 20 69 66 20 70 72 65 73 65 6e 74 2e 0a 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 74 | .if.present......;;.Otherwise,.t |
| 4700 | 68 65 79 20 77 6f 75 6c 64 20 67 65 6e 65 72 61 74 65 20 65 6d 70 74 79 20 73 70 6c 69 74 73 20 | hey.would.generate.empty.splits. |
| 4720 | 61 6e 64 20 63 61 75 73 65 20 75 73 20 74 6f 0a 20 20 20 20 3b 3b 20 6d 61 74 63 68 20 6c 69 74 | and.cause.us.to.....;;.match.lit |
| 4740 | 65 72 61 6c 20 77 68 69 74 65 73 70 61 63 65 2e 0a 20 20 20 20 28 73 65 74 71 20 71 75 65 72 79 | eral.whitespace......(setq.query |
| 4760 | 20 28 72 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 | .(replace-regexp-in-string...... |
| 4780 | 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 60 20 3f 5c 5c 28 2e 2a 3f 5c 5c 29 20 3f 5c 5c 27 | ............"\\`.?\\(.*?\\).?\\' |
| 47a0 | 22 20 22 5c 5c 31 22 20 71 75 65 72 79 20 27 66 69 78 65 64 63 61 73 65 29 29 0a 20 20 20 20 28 | "."\\1".query.'fixedcase)).....( |
| 47c0 | 6c 65 74 20 28 28 73 70 6c 69 74 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 71 75 65 72 79 | let.((splits.(split-string.query |
| 47e0 | 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 75 62 71 75 65 72 79 20 22 22 29 0a 20 | ."."))...........(subquery."").. |
| 4800 | 20 20 20 20 20 20 20 20 20 28 74 6f 6b 65 6e 2d 66 6f 75 6e 64 20 6e 69 6c 29 0a 20 20 20 20 20 | .........(token-found.nil)...... |
| 4820 | 20 20 20 20 20 28 73 75 62 71 75 65 72 69 65 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 64 6f | .....(subqueries.nil)).......(do |
| 4840 | 6c 69 73 74 20 28 73 70 6c 69 74 20 73 70 6c 69 74 73 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 43 | list.(split.splits).........;;.C |
| 4860 | 68 65 63 6b 20 66 6f 72 20 65 6d 70 74 79 20 73 70 6c 69 74 2c 20 6d 65 61 6e 69 6e 67 20 74 77 | heck.for.empty.split,.meaning.tw |
| 4880 | 6f 20 63 6f 6e 73 65 63 75 74 69 76 65 20 73 70 61 63 65 73 20 69 6e 0a 20 20 20 20 20 20 20 20 | o.consecutive.spaces.in......... |
| 48a0 | 3b 3b 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 71 75 65 72 79 2e 0a 20 20 20 20 20 20 20 20 28 | ;;.the.original.query..........( |
| 48c0 | 69 66 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 73 70 6c 69 74 29 0a 20 20 20 20 20 20 | if.(string-empty-p.split)....... |
| 48e0 | 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f | ......(progn...............;;.Co |
| 4900 | 6e 73 65 63 75 74 69 76 65 20 73 70 61 63 65 73 20 6d 65 61 6e 20 6c 69 74 65 72 61 6c 20 73 70 | nsecutive.spaces.mean.literal.sp |
| 4920 | 61 63 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 75 62 | aces.in.the...............;;.sub |
| 4940 | 71 75 65 72 79 20 75 6e 64 65 72 20 63 6f 6e 73 74 72 75 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 | query.under.construction........ |
| 4960 | 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 75 62 71 75 65 72 79 20 28 63 6f 6e 63 61 74 20 73 | ........(setq.subquery.(concat.s |
| 4980 | 75 62 71 75 65 72 79 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 | ubquery."."))...............;;.I |
| 49a0 | 66 20 77 65 20 67 65 74 20 61 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 70 6c 69 74 2c 20 61 70 70 65 | f.we.get.a.non-empty.split,.appe |
| 49c0 | 6e 64 20 69 74 20 74 6f 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 75 | nd.it.to.the...............;;.su |
| 49e0 | 62 71 75 65 72 79 20 72 61 74 68 65 72 20 74 68 61 6e 20 70 61 72 73 69 6e 67 20 69 74 20 61 73 | bquery.rather.than.parsing.it.as |
| 4a00 | 20 61 6e 6f 74 68 65 72 20 73 75 62 71 75 65 72 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | .another.subquery............... |
| 4a20 | 20 28 73 65 74 71 20 74 6f 6b 65 6e 2d 66 6f 75 6e 64 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 | .(setq.token-found.nil))........ |
| 4a40 | 20 20 20 3b 3b 20 50 6f 73 73 69 62 6c 79 20 61 64 64 20 74 68 65 20 63 6f 6c 6c 65 63 74 65 64 | ...;;.Possibly.add.the.collected |
| 4a60 | 20 73 74 72 69 6e 67 20 61 73 20 61 20 6e 65 77 20 73 75 62 71 75 65 72 79 2e 0a 20 20 20 20 20 | .string.as.a.new.subquery....... |
| 4a80 | 20 20 20 20 20 28 77 68 65 6e 20 74 6f 6b 65 6e 2d 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 | .....(when.token-found.......... |
| 4aa0 | 20 20 20 28 70 75 73 68 20 73 75 62 71 75 65 72 79 20 73 75 62 71 75 65 72 69 65 73 29 0a 20 20 | ...(push.subquery.subqueries)... |
| 4ac0 | 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 75 62 71 75 65 72 79 20 22 22 29 29 0a 20 20 | ..........(setq.subquery.""))... |
| 4ae0 | 20 20 20 20 20 20 20 20 3b 3b 20 45 69 74 68 65 72 20 73 74 61 72 74 20 61 20 6e 65 77 20 73 75 | ........;;.Either.start.a.new.su |
| 4b00 | 62 71 75 65 72 79 20 6f 72 20 61 70 70 65 6e 64 20 74 6f 20 74 68 65 20 65 78 69 73 74 69 6e 67 | bquery.or.append.to.the.existing |
| 4b20 | 20 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 69 6e 20 74 68 65 20 63 61 73 65 20 6f | .one...........;;.(in.the.case.o |
| 4b40 | 66 20 70 72 65 76 69 6f 75 73 6c 79 20 73 65 65 69 6e 67 20 61 6e 20 65 6d 70 74 79 20 73 70 6c | f.previously.seeing.an.empty.spl |
| 4b60 | 69 74 29 2e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 75 62 71 75 65 72 79 20 28 63 | it)............(setq.subquery.(c |
| 4b80 | 6f 6e 63 61 74 20 73 75 62 71 75 65 72 79 20 73 70 6c 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 | oncat.subquery.split)).......... |
| 4ba0 | 20 3b 3b 20 49 66 20 61 6e 6f 74 68 65 72 20 6e 6f 6e 2d 65 6d 70 74 79 20 73 70 6c 69 74 20 69 | .;;.If.another.non-empty.split.i |
| 4bc0 | 73 20 66 6f 75 6e 64 2c 20 69 74 27 73 20 61 20 73 65 70 61 72 61 74 65 0a 20 20 20 20 20 20 20 | s.found,.it's.a.separate........ |
| 4be0 | 20 20 20 3b 3b 20 73 75 62 71 75 65 72 79 2e 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 | ...;;.subquery............(setq. |
| 4c00 | 74 6f 6b 65 6e 2d 66 6f 75 6e 64 20 74 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 43 68 65 63 6b 20 | token-found.t))).......;;.Check. |
| 4c20 | 69 66 20 77 65 20 68 69 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 | if.we.hit.the.end.of.the.string. |
| 4c40 | 77 68 69 6c 65 20 73 74 69 6c 6c 0a 20 20 20 20 20 20 3b 3b 20 63 6f 6e 73 74 72 75 63 74 69 6e | while.still.......;;.constructin |
| 4c60 | 67 20 61 20 73 75 62 71 75 65 72 79 2c 20 61 6e 64 20 68 61 6e 64 6c 65 2e 0a 20 20 20 20 20 20 | g.a.subquery,.and.handle........ |
| 4c80 | 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 73 75 62 71 75 65 72 79 | (unless.(string-empty-p.subquery |
| 4ca0 | 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 73 75 62 71 75 65 72 79 20 73 75 62 71 75 65 72 | ).........(push.subquery.subquer |
| 4cc0 | 69 65 73 29 29 0a 20 20 20 20 20 20 3b 3b 20 57 65 20 61 64 64 65 64 20 74 68 65 20 73 75 62 71 | ies)).......;;.We.added.the.subq |
| 4ce0 | 75 65 72 69 65 73 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 20 28 | ueries.in.reverse.order........( |
| 4d00 | 6e 72 65 76 65 72 73 65 20 73 75 62 71 75 65 72 69 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 | nreverse.subqueries))))..(defun. |
| 4d20 | 70 72 65 73 63 69 65 6e 74 2d 77 69 74 68 2d 67 72 6f 75 70 20 28 72 65 67 65 78 70 20 77 69 74 | prescient-with-group.(regexp.wit |
| 4d40 | 68 2d 67 72 6f 75 70 29 0a 20 20 22 57 72 61 70 20 52 45 47 45 58 50 20 69 6e 20 61 20 63 61 70 | h-group)..."Wrap.REGEXP.in.a.cap |
| 4d60 | 74 75 72 65 20 67 72 6f 75 70 2c 20 62 75 74 20 6f 6e 6c 79 20 69 66 20 57 49 54 48 2d 47 52 4f | ture.group,.but.only.if.WITH-GRO |
| 4d80 | 55 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 69 66 20 77 69 74 68 2d 67 72 6f 75 70 | UP.is.non-nil."...(if.with-group |
| 4da0 | 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 25 73 5c 5c 29 22 20 72 65 67 65 78 70 | .......(format."\\(%s\\)".regexp |
| 4dc0 | 29 0a 20 20 20 20 72 65 67 65 78 70 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 | ).....regexp))..(defun.prescient |
| 4de0 | 2d 2d 70 72 65 66 69 78 2d 61 6e 64 2d 70 61 74 74 65 72 6e 20 28 73 74 72 69 6e 67 20 74 61 62 | --prefix-and-pattern.(string.tab |
| 4e00 | 6c 65 20 70 72 65 64 29 0a 20 20 22 53 70 6c 69 74 20 53 54 52 49 4e 47 20 69 6e 74 6f 20 70 72 | le.pred)..."Split.STRING.into.pr |
| 4e20 | 65 66 69 78 20 61 6e 64 20 70 61 74 74 65 72 6e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 54 41 | efix.and.pattern.according.to.TA |
| 4e40 | 42 4c 45 2e 0a 0a 54 68 65 20 70 72 65 64 69 63 61 74 65 20 50 52 45 44 20 69 73 20 75 73 65 64 | BLE...The.predicate.PRED.is.used |
| 4e60 | 20 74 6f 20 63 6f 6e 73 74 72 61 69 6e 20 74 68 65 20 65 6e 74 72 69 65 73 20 69 6e 20 54 41 42 | .to.constrain.the.entries.in.TAB |
| 4e80 | 4c 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 69 6d 69 74 20 28 63 61 72 20 28 63 6f 6d 70 6c 65 | LE."...(let.((limit.(car.(comple |
| 4ea0 | 74 69 6f 6e 2d 62 6f 75 6e 64 61 72 69 65 73 20 73 74 72 69 6e 67 20 74 61 62 6c 65 20 70 72 65 | tion-boundaries.string.table.pre |
| 4ec0 | 64 20 22 22 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 73 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 | d."")))).....(cons.(substring.st |
| 4ee0 | 72 69 6e 67 20 30 20 6c 69 6d 69 74 29 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 | ring.0.limit).(substring.string. |
| 4f00 | 6c 69 6d 69 74 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 69 67 6e 6f | limit))))..(defun.prescient-igno |
| 4f20 | 72 65 2d 63 61 73 65 2d 70 20 28 69 6e 70 75 74 29 0a 20 20 22 57 68 65 74 68 65 72 20 70 72 65 | re-case-p.(input)..."Whether.pre |
| 4f40 | 73 63 69 65 6e 74 2e 65 6c 20 73 68 6f 75 6c 64 20 69 67 6e 6f 72 65 20 63 61 73 65 20 63 6f 6e | scient.el.should.ignore.case.con |
| 4f60 | 73 69 64 65 72 69 6e 67 20 49 4e 50 55 54 2e 0a 0a 46 69 6c 74 65 72 69 6e 67 20 63 61 6e 20 6f | sidering.INPUT...Filtering.can.o |
| 4f80 | 70 74 69 6f 6e 61 6c 6c 79 20 69 67 6e 6f 72 65 20 63 61 73 65 20 69 66 20 60 70 72 65 73 63 69 | ptionally.ignore.case.if.`presci |
| 4fa0 | 65 6e 74 2d 75 73 65 2d 63 61 73 65 2d 66 6f 6c 64 69 6e 67 27 0a 69 73 20 6e 6f 6e 2d 6e 69 6c | ent-use-case-folding'.is.non-nil |
| 4fc0 | 2e 20 20 49 66 20 60 73 6d 61 72 74 27 2c 20 74 68 65 6e 20 66 69 6c 74 65 72 69 6e 67 20 77 69 | ...If.`smart',.then.filtering.wi |
| 4fe0 | 6c 6c 20 6e 6f 74 20 69 67 6e 6f 72 65 20 63 61 73 65 20 77 68 65 6e 0a 49 4e 50 55 54 20 63 6f | ll.not.ignore.case.when.INPUT.co |
| 5000 | 6e 74 61 69 6e 73 20 75 70 70 65 72 63 61 73 65 20 6c 65 74 74 65 72 73 2e 22 0a 20 20 28 69 66 | ntains.uppercase.letters."...(if |
| 5020 | 20 28 65 71 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 61 73 65 2d 66 6f 6c 64 69 6e 67 20 | .(eq.prescient-use-case-folding. |
| 5040 | 27 73 6d 61 72 74 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 73 65 2d 66 6f 6c 64 2d 73 | 'smart).......(let.((case-fold-s |
| 5060 | 65 61 72 63 68 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 75 73 69 6e 67 20 | earch.nil)).........;;.If.using. |
| 5080 | 75 70 70 65 72 2d 63 61 73 65 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 6e 20 64 6f 6e 27 | upper-case.characters,.then.don' |
| 50a0 | 74 20 66 6f 6c 64 20 63 61 73 65 2e 0a 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e | t.fold.case..........(not.(strin |
| 50c0 | 67 2d 6d 61 74 63 68 2d 70 20 22 5b 5b 3a 75 70 70 65 72 3a 5d 5d 22 20 69 6e 70 75 74 29 29 29 | g-match-p."[[:upper:]]".input))) |
| 50e0 | 0a 20 20 20 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 61 73 65 2d 66 6f 6c 64 69 6e 67 29 | .....prescient-use-case-folding) |
| 5100 | 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 61 64 64 2d 73 6f 72 74 2d 69 6e | )..(defun.prescient--add-sort-in |
| 5120 | 66 6f 20 28 63 61 6e 64 69 64 61 74 65 73 20 26 72 65 73 74 20 70 72 6f 70 65 72 74 69 65 73 29 | fo.(candidates.&rest.properties) |
| 5140 | 0a 20 20 22 50 72 6f 70 65 72 74 69 7a 65 20 74 68 65 20 66 69 72 73 74 20 63 61 6e 64 69 64 61 | ..."Propertize.the.first.candida |
| 5160 | 74 65 20 69 6e 20 43 41 4e 44 49 44 41 54 45 53 20 74 6f 20 73 61 76 65 20 64 61 74 61 2e 0a 0a | te.in.CANDIDATES.to.save.data... |
| 5180 | 43 75 72 72 65 6e 74 6c 79 20 72 65 63 6f 67 6e 69 7a 65 64 20 50 52 4f 50 45 52 54 49 45 53 20 | Currently.recognized.PROPERTIES. |
| 51a0 | 61 72 65 3a 0a 0a 2d 20 60 3a 70 72 65 73 63 69 65 6e 74 2d 6d 61 74 63 68 2d 72 65 67 65 78 70 | are:..-.`:prescient-match-regexp |
| 51c0 | 73 27 3a 20 54 68 65 20 72 65 67 65 78 70 73 20 75 73 65 64 20 66 6f 72 20 66 69 6c 74 65 72 69 | s':.The.regexps.used.for.filteri |
| 51e0 | 6e 67 2e 0a 0a 2d 20 60 3a 70 72 65 73 63 69 65 6e 74 2d 61 6c 6c 2d 72 65 67 65 78 70 73 27 3a | ng...-.`:prescient-all-regexps': |
| 5200 | 20 41 6c 6c 20 72 65 67 65 78 70 73 20 6f 75 74 70 75 74 74 65 64 20 62 79 20 74 68 65 20 66 69 | .All.regexps.outputted.by.the.fi |
| 5220 | 6c 74 65 72 0a 20 20 6d 65 74 68 6f 64 73 2c 20 77 68 69 63 68 20 77 65 72 65 20 75 73 65 64 20 | lter...methods,.which.were.used. |
| 5240 | 74 6f 20 6d 61 6b 65 20 50 52 45 53 43 49 45 4e 54 2d 4d 41 54 43 48 2d 52 45 47 45 58 50 53 2e | to.make.PRESCIENT-MATCH-REGEXPS. |
| 5260 | 20 41 0a 20 20 72 65 67 65 78 70 20 69 6e 20 74 68 69 73 20 6c 69 73 74 20 64 6f 65 73 20 6e 6f | .A...regexp.in.this.list.does.no |
| 5280 | 74 20 6e 65 63 65 73 73 61 72 69 6c 79 20 6d 61 74 63 68 20 74 68 65 20 63 61 6e 64 69 64 61 74 | t.necessarily.match.the.candidat |
| 52a0 | 65 73 0a 20 20 62 79 20 69 74 73 65 6c 66 2e 0a 0a 2d 20 60 3a 70 72 65 73 63 69 65 6e 74 2d 69 | es...by.itself...-.`:prescient-i |
| 52c0 | 67 6e 6f 72 65 2d 63 61 73 65 27 3a 20 57 68 65 74 68 65 72 20 70 72 65 73 63 69 65 6e 74 20 69 | gnore-case':.Whether.prescient.i |
| 52e0 | 67 6e 6f 72 65 64 20 63 61 73 65 2e 0a 0a 2d 20 60 3a 70 72 65 73 63 69 65 6e 74 2d 71 75 65 72 | gnored.case...-.`:prescient-quer |
| 5300 | 79 27 3a 20 4f 72 69 67 69 6e 61 6c 20 73 65 61 72 63 68 20 71 75 65 72 79 20 66 72 6f 6d 20 75 | y':.Original.search.query.from.u |
| 5320 | 73 65 72 2e 0a 0a 54 68 65 73 65 20 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 20 69 64 65 6e 74 | ser...These.properties.are.ident |
| 5340 | 69 66 69 65 64 20 75 73 69 6e 67 20 6b 65 79 77 6f 72 64 20 73 79 6d 62 6f 6c 73 2e 0a 0a 54 68 | ified.using.keyword.symbols...Th |
| 5360 | 69 73 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 75 73 65 64 20 62 79 20 74 68 65 20 66 75 | is.information.is.used.by.the.fu |
| 5380 | 6e 63 74 69 6f 6e 0a 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 | nction.`prescient-sort-full-matc |
| 53a0 | 68 65 73 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 63 61 6e 64 69 64 61 | hes-first'."...(if.(null.candida |
| 53c0 | 74 65 73 29 0a 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 28 63 6f 6e 73 20 28 61 70 70 6c 79 20 | tes).......nil.....(cons.(apply. |
| 53e0 | 23 27 70 72 6f 70 65 72 74 69 7a 65 20 28 63 61 72 20 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 | #'propertize.(car.candidates)... |
| 5400 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 68 69 6c 65 20 50 52 4f 50 45 52 54 49 | ...............;;.While.PROPERTI |
| 5420 | 45 53 20 63 6f 6e 74 61 69 6e 73 20 61 6c 6c 20 67 69 76 65 6e 20 6b 65 79 73 2c 20 77 65 0a 20 | ES.contains.all.given.keys,.we.. |
| 5440 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 78 70 6c 69 63 69 74 6c 79 20 73 65 | ................;;.explicitly.se |
| 5460 | 74 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 74 68 69 73 20 77 61 79 20 73 6f 20 74 68 61 | t.the.properties.this.way.so.tha |
| 5480 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 65 27 72 65 20 73 75 72 65 | t..................;;.we're.sure |
| 54a0 | 20 74 68 61 74 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 65 78 69 73 74 20 65 76 65 6e 20 | .that.the.properties.exist.even. |
| 54c0 | 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 79 27 72 65 | when..................;;.they're |
| 54e0 | 20 6e 6f 74 20 67 69 76 65 6e 2e 20 54 68 69 73 20 6d 61 6b 65 73 20 74 65 73 74 69 6e 67 20 65 | .not.given..This.makes.testing.e |
| 5500 | 61 73 69 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 73 68 | asier..................;;.and.sh |
| 5520 | 6f 75 6c 64 20 62 65 20 68 65 6c 70 66 75 6c 20 66 6f 72 20 6f 74 68 65 72 73 20 63 72 65 61 74 | ould.be.helpful.for.others.creat |
| 5540 | 69 6e 67 20 74 68 65 69 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6f 77 | ing.their..................;;.ow |
| 5560 | 6e 20 73 6f 72 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 | n.sorting.functions............. |
| 5580 | 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 74 | ......;;..................;;.Not |
| 55a0 | 65 20 61 6c 6c 20 70 61 73 73 65 64 20 70 72 6f 70 65 72 74 69 65 73 20 77 69 6c 6c 20 73 74 69 | e.all.passed.properties.will.sti |
| 55c0 | 6c 6c 20 67 65 74 20 73 65 74 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | ll.get.set,..................;;. |
| 55e0 | 74 68 69 73 20 6a 75 73 74 20 64 65 66 61 75 6c 74 73 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 | this.just.defaults.the.standard. |
| 5600 | 6f 6e 65 73 20 74 6f 20 6e 69 6c 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ones.to.nil.in.................. |
| 5620 | 3b 3b 20 63 61 73 65 20 74 68 65 79 20 61 72 65 20 6d 69 73 73 69 6e 67 2e 0a 20 20 20 20 20 20 | ;;.case.they.are.missing........ |
| 5640 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 70 75 74 2d 67 65 74 20 28 70 | ...........(cl-flet.((put-get.(p |
| 5660 | 72 6f 70 73 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | rops.sym)....................... |
| 5680 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 72 6f 70 73 20 73 | ..............(plist-put.props.s |
| 56a0 | 79 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 20 20 20 20 20 20 | ym.............................. |
| 56c0 | 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 67 65 74 20 70 72 6f | ..................(plist-get.pro |
| 56e0 | 70 73 20 73 79 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 | ps.sym))))....................(t |
| 5700 | 68 72 65 61 64 2d 66 69 72 73 74 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 | hread-first.properties.......... |
| 5720 | 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 75 74 2d 67 65 74 | ........................(put-get |
| 5740 | 20 3a 70 72 65 73 63 69 65 6e 74 2d 6d 61 74 63 68 2d 72 65 67 65 78 70 73 29 0a 20 20 20 20 20 | .:prescient-match-regexps)...... |
| 5760 | 20 20 20 20 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 75 74 | ............................(put |
| 5780 | 2d 67 65 74 20 3a 70 72 65 73 63 69 65 6e 74 2d 61 6c 6c 2d 72 65 67 65 78 70 73 29 0a 20 20 20 | -get.:prescient-all-regexps).... |
| 57a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 | ..............................(p |
| 57c0 | 75 74 2d 67 65 74 20 3a 70 72 65 73 63 69 65 6e 74 2d 69 67 6e 6f 72 65 2d 63 61 73 65 29 0a 20 | ut-get.:prescient-ignore-case).. |
| 57e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 5800 | 28 70 75 74 2d 67 65 74 20 3a 70 72 65 73 63 69 65 6e 74 2d 71 75 65 72 79 29 29 29 29 0a 20 20 | (put-get.:prescient-query))))... |
| 5820 | 20 20 20 20 20 20 20 20 28 63 64 72 20 63 61 6e 64 69 64 61 74 65 73 29 29 29 29 0a 0a 28 64 65 | ........(cdr.candidates))))..(de |
| 5840 | 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 67 65 74 2d 73 6f 72 74 2d 69 6e 66 6f 20 28 63 61 | fun.prescient--get-sort-info.(ca |
| 5860 | 6e 64 69 64 61 74 65 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 70 72 6f 70 65 72 74 79 20 6c | ndidates)..."Return.a.property.l |
| 5880 | 69 73 74 20 6f 66 20 70 72 6f 70 65 72 74 69 65 73 20 61 64 64 65 64 20 62 79 20 60 70 72 65 73 | ist.of.properties.added.by.`pres |
| 58a0 | 63 69 65 6e 74 2d 66 69 6c 74 65 72 27 2e 0a 0a 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 | cient-filter'...`prescient-filte |
| 58c0 | 72 27 20 61 64 64 73 20 70 72 6f 70 65 72 74 69 65 73 20 74 6f 20 74 68 65 20 43 41 4e 44 49 44 | r'.adds.properties.to.the.CANDID |
| 58e0 | 41 54 45 53 20 74 68 61 74 20 69 74 0a 66 69 6c 74 65 72 65 64 20 66 6f 72 20 75 73 65 20 62 79 | ATES.that.it.filtered.for.use.by |
| 5900 | 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 66 75 | .the.function.`prescient-sort-fu |
| 5920 | 6c 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 | ll-matches-first'."...(cl-loop.f |
| 5940 | 6f 72 20 63 61 6e 64 20 69 6e 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 | or.cand.in.candidates........... |
| 5960 | 20 66 6f 72 20 70 72 6f 70 73 20 3d 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 2d 61 74 | .for.props.=.(text-properties-at |
| 5980 | 20 30 20 63 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 75 6e 74 69 6c 20 28 70 6c 69 73 74 | .0.cand)............until.(plist |
| 59a0 | 2d 6d 65 6d 62 65 72 20 70 72 6f 70 73 20 3a 70 72 65 73 63 69 65 6e 74 2d 6d 61 74 63 68 2d 72 | -member.props.:prescient-match-r |
| 59c0 | 65 67 65 78 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 69 6e 63 65 20 77 65 20 61 | egexps)............;;.Since.we.a |
| 59e0 | 6c 6c 6f 77 20 6f 74 68 65 72 20 6b 65 79 73 20 69 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 2d 61 | llow.other.keys.in.`prescient--a |
| 5a00 | 64 64 2d 73 6f 72 74 2d 69 6e 66 6f 27 2c 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6a 75 73 | dd-sort-info',............;;.jus |
| 5a20 | 74 20 72 65 74 75 72 6e 20 61 6c 6c 20 70 72 6f 70 65 72 74 69 65 73 20 68 65 72 65 2e 0a 20 20 | t.return.all.properties.here.... |
| 5a40 | 20 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 70 72 6f 70 73 29 29 0a | .........finally.return.props)). |
| 5a60 | 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 67 68 6c 69 67 68 74 2d 63 61 6e | .(defun.prescient--highlight-can |
| 5a80 | 64 69 64 61 74 65 20 28 72 65 67 65 78 70 73 20 63 61 73 65 2d 66 6f 6c 64 20 63 61 6e 64 69 64 | didate.(regexps.case-fold.candid |
| 5aa0 | 61 74 65 29 0a 20 20 22 48 69 67 68 6c 69 67 68 74 20 74 65 78 74 20 6d 61 74 63 68 69 6e 67 20 | ate)..."Highlight.text.matching. |
| 5ac0 | 52 45 47 45 58 50 53 20 61 6e 64 20 63 6f 6e 73 69 64 65 72 69 6e 67 20 43 41 53 45 2d 46 4f 4c | REGEXPS.and.considering.CASE-FOL |
| 5ae0 | 44 20 69 6e 20 43 41 4e 44 49 44 41 54 45 2e 0a 0a 52 65 74 75 72 6e 73 20 61 20 70 72 6f 70 65 | D.in.CANDIDATE...Returns.a.prope |
| 5b00 | 72 74 69 7a 65 64 20 43 41 4e 44 49 44 41 54 45 2e 22 0a 20 20 28 73 65 74 71 20 63 61 6e 64 69 | rtized.CANDIDATE."...(setq.candi |
| 5b20 | 64 61 74 65 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 63 61 6e 64 69 64 61 74 65 29 29 0a | date.(copy-sequence.candidate)). |
| 5b40 | 20 20 28 70 72 6f 67 31 20 63 61 6e 64 69 64 61 74 65 0a 20 20 20 20 28 6c 65 74 20 28 28 63 61 | ..(prog1.candidate.....(let.((ca |
| 5b60 | 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 63 61 73 65 2d 66 6f 6c 64 29 29 0a 20 20 20 20 20 | se-fold-search.case-fold))...... |
| 5b80 | 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 | .(save-match-data.........(dolis |
| 5ba0 | 74 20 28 72 65 67 65 78 70 20 72 65 67 65 78 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 | t.(regexp.regexps)...........(wh |
| 5bc0 | 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 72 65 67 65 78 70 20 63 61 6e 64 69 64 61 74 | en.(string-match.regexp.candidat |
| 5be0 | 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 70 72 65 70 65 6e | e).............(font-lock-prepen |
| 5c00 | 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 | d-text-property..............(ma |
| 5c20 | 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 0a 20 | tch-beginning.0).(match-end.0).. |
| 5c40 | 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 63 65 20 27 70 72 65 73 63 69 65 6e 74 2d 70 72 69 | ............'face.'prescient-pri |
| 5c60 | 6d 61 72 79 2d 68 69 67 68 6c 69 67 68 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6e 64 | mary-highlight..............cand |
| 5c80 | 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 | idate).............(cl-loop..... |
| 5ca0 | 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 73 74 61 72 74 20 65 6e 64 29 0a 20 20 20 20 20 20 20 | .........for.(start.end)........ |
| 5cc0 | 20 20 20 20 20 20 6f 6e 20 28 63 64 64 72 20 28 6d 61 74 63 68 2d 64 61 74 61 29 29 0a 20 20 20 | ......on.(cddr.(match-data)).... |
| 5ce0 | 20 20 20 20 20 20 20 20 20 20 62 79 20 23 27 63 64 64 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ..........by.#'cddr............. |
| 5d00 | 20 64 6f 20 28 77 68 65 6e 20 28 61 6e 64 20 73 74 61 72 74 20 65 6e 64 29 0a 20 20 20 20 20 20 | .do.(when.(and.start.end)....... |
| 5d20 | 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 70 72 65 70 65 6e 64 2d 74 | ............(font-lock-prepend-t |
| 5d40 | 65 78 74 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ext-property.................... |
| 5d60 | 73 74 61 72 74 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 66 61 | start.end....................'fa |
| 5d80 | 63 65 20 27 70 72 65 73 63 69 65 6e 74 2d 73 65 63 6f 6e 64 61 72 79 2d 68 69 67 68 6c 69 67 68 | ce.'prescient-secondary-highligh |
| 5da0 | 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6e 64 69 64 61 74 65 29 29 | t....................candidate)) |
| 5dc0 | 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 67 68 6c | )))))))..(defun.prescient--highl |
| 5de0 | 69 67 68 74 2d 63 61 6e 64 69 64 61 74 65 73 20 28 69 6e 70 75 74 20 63 61 6e 64 69 64 61 74 65 | ight-candidates.(input.candidate |
| 5e00 | 73 29 0a 20 20 22 41 63 63 6f 72 64 69 6e 67 20 74 6f 20 49 4e 50 55 54 2c 20 68 69 67 68 6c 69 | s)..."According.to.INPUT,.highli |
| 5e20 | 67 68 74 20 74 68 65 20 6d 61 74 63 68 65 64 20 73 65 63 74 69 6f 6e 73 20 69 6e 20 43 41 4e 44 | ght.the.matched.sections.in.CAND |
| 5e40 | 49 44 41 54 45 53 2e 0a 0a 49 4e 50 55 54 20 69 73 20 74 68 65 20 73 74 72 69 6e 67 20 74 68 61 | IDATES...INPUT.is.the.string.tha |
| 5e60 | 74 20 77 61 73 20 75 73 65 64 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 6c 69 73 74 20 6f 66 | t.was.used.to.generate.a.list.of |
| 5e80 | 20 72 65 67 65 78 70 73 0a 66 6f 72 20 66 69 6c 74 65 72 69 6e 67 2e 20 43 41 4e 44 49 44 41 54 | .regexps.for.filtering..CANDIDAT |
| 5ea0 | 45 53 20 69 73 20 74 68 65 20 6c 69 73 74 20 6f 66 20 66 69 6c 74 65 72 65 64 20 63 61 6e 64 69 | ES.is.the.list.of.filtered.candi |
| 5ec0 | 64 61 74 65 73 2c 0a 77 68 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 | dates,.which.should.be.a.list.of |
| 5ee0 | 20 73 74 72 69 6e 67 73 2e 0a 0a 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 70 72 6f 70 | .strings...Return.a.list.of.prop |
| 5f00 | 65 72 74 69 7a 65 64 20 43 41 4e 44 49 44 41 54 45 53 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 | ertized.CANDIDATES."...(cl-loop. |
| 5f20 | 77 69 74 68 20 72 65 67 65 78 70 73 20 3d 20 28 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 | with.regexps.=.(prescient-filter |
| 5f40 | 2d 72 65 67 65 78 70 73 20 69 6e 70 75 74 20 27 77 69 74 68 2d 67 72 6f 75 70 29 0a 20 20 20 20 | -regexps.input.'with-group)..... |
| 5f60 | 20 20 20 20 20 20 20 61 6e 64 20 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 3d 20 28 70 | .......and.case-fold-search.=.(p |
| 5f80 | 72 65 73 63 69 65 6e 74 2d 69 67 6e 6f 72 65 2d 63 61 73 65 2d 70 20 69 6e 70 75 74 29 0a 20 20 | rescient-ignore-case-p.input)... |
| 5fa0 | 20 20 20 20 20 20 20 20 20 66 6f 72 20 63 61 6e 64 20 69 6e 20 63 61 6e 64 69 64 61 74 65 73 0a | .........for.cand.in.candidates. |
| 5fc0 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 70 72 65 73 63 69 65 6e 74 2d 2d 68 | ...........collect.(prescient--h |
| 5fe0 | 69 67 68 6c 69 67 68 74 2d 63 61 6e 64 69 64 61 74 65 20 72 65 67 65 78 70 73 20 63 61 73 65 2d | ighlight-candidate.regexps.case- |
| 6000 | 66 6f 6c 64 2d 73 65 61 72 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | fold-search..................... |
| 6020 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 | ...............................c |
| 6040 | 61 6e 64 29 29 29 0a 0a 3b 3b 3b 3b 20 52 65 67 65 78 70 20 42 75 69 6c 64 65 72 73 0a 0a 28 63 | and)))..;;;;.Regexp.Builders..(c |
| 6060 | 6c 2d 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 6c 69 74 65 72 61 6c 2d 72 65 67 65 78 70 | l-defun.prescient-literal-regexp |
| 6080 | 20 28 71 75 65 72 79 20 26 6b 65 79 20 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 | .(query.&key.with-group......... |
| 60a0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 60c0 | 20 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 | ..&allow-other-keys)..."Return.a |
| 60e0 | 20 72 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 51 55 45 52 59 20 77 69 74 68 20 6f 70 74 69 | .regexp.matching.QUERY.with.opti |
| 6100 | 6f 6e 61 6c 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c 64 69 6e 67 2e 0a 0a 49 66 20 57 49 54 48 | onal.character.folding...If.WITH |
| 6120 | 2d 47 52 4f 55 50 20 69 73 20 60 61 6c 6c 27 2c 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 6d 61 74 | -GROUP.is.`all',.enclose.the.mat |
| 6140 | 63 68 20 69 6e 20 61 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 2e 0a 0a 53 65 65 20 61 6c 73 6f | ch.in.a.capture.group...See.also |
| 6160 | 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 20 76 61 72 69 61 62 6c 65 20 60 70 72 65 73 | .the.customizable.variable.`pres |
| 6180 | 63 69 65 6e 74 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 27 2e 22 0a 20 20 28 70 72 65 | cient-use-char-folding'."...(pre |
| 61a0 | 73 63 69 65 6e 74 2d 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 28 69 66 20 70 72 65 73 63 69 65 | scient-with-group....(if.prescie |
| 61c0 | 6e 74 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 0a 20 20 20 20 20 20 20 28 70 72 65 73 | nt-use-char-folding........(pres |
| 61e0 | 63 69 65 6e 74 2d 2d 63 68 61 72 2d 66 6f 6c 64 2d 74 6f 2d 72 65 67 65 78 70 20 71 75 65 72 79 | cient--char-fold-to-regexp.query |
| 6200 | 29 0a 20 20 20 20 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 71 75 65 72 79 29 29 0a 20 20 20 | )......(regexp-quote.query)).... |
| 6220 | 28 65 71 20 77 69 74 68 2d 67 72 6f 75 70 20 27 61 6c 6c 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 | (eq.with-group.'all)))..(cl-defu |
| 6240 | 6e 20 70 72 65 73 63 69 65 6e 74 2d 6c 69 74 65 72 61 6c 2d 70 72 65 66 69 78 2d 72 65 67 65 78 | n.prescient-literal-prefix-regex |
| 6260 | 70 0a 20 20 20 20 28 71 75 65 72 79 20 26 6b 65 79 20 77 69 74 68 2d 67 72 6f 75 70 20 73 75 62 | p.....(query.&key.with-group.sub |
| 6280 | 71 75 65 72 79 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 26 61 6c 6c 6f 77 2d 6f | query-number............&allow-o |
| 62a0 | 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 72 65 67 65 78 70 20 6d 61 | ther-keys)..."Return.a.regexp.ma |
| 62c0 | 74 63 68 69 6e 67 20 51 55 45 52 59 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 20 63 68 61 72 61 | tching.QUERY.with.optional.chara |
| 62e0 | 63 74 65 72 20 66 6f 6c 64 69 6e 67 2e 0a 0a 49 66 20 57 49 54 48 2d 47 52 4f 55 50 20 69 73 20 | cter.folding...If.WITH-GROUP.is. |
| 6300 | 60 61 6c 6c 27 2c 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 6d 61 74 63 68 20 69 6e 20 61 20 63 61 | `all',.enclose.the.match.in.a.ca |
| 6320 | 70 74 75 72 65 20 67 72 6f 75 70 2e 0a 41 6e 63 68 6f 72 20 74 68 65 20 51 55 45 52 59 20 61 74 | pture.group..Anchor.the.QUERY.at |
| 6340 | 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 20 | .the.beginning.of.the.candidate. |
| 6360 | 69 66 0a 53 55 42 51 55 45 52 59 2d 4e 55 4d 42 45 52 20 65 71 75 61 6c 73 20 30 2e 0a 0a 53 65 | if.SUBQUERY-NUMBER.equals.0...Se |
| 6380 | 65 20 61 6c 73 6f 20 74 68 65 20 63 75 73 74 6f 6d 69 7a 61 62 6c 65 20 76 61 72 69 61 62 6c 65 | e.also.the.customizable.variable |
| 63a0 | 20 60 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 27 2e 22 0a | .`prescient-use-char-folding'.". |
| 63c0 | 20 20 28 70 72 65 73 63 69 65 6e 74 2d 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 28 63 6f 6e 63 | ..(prescient-with-group....(conc |
| 63e0 | 61 74 20 28 69 66 20 28 3d 20 73 75 62 71 75 65 72 79 2d 6e 75 6d 62 65 72 20 30 29 0a 20 20 20 | at.(if.(=.subquery-number.0).... |
| 6400 | 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 31 2e 20 73 75 62 71 75 65 72 79 20 3d 3e 20 61 6e | ............;;.1..subquery.=>.an |
| 6420 | 63 68 6f 72 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 63 61 6e 64 69 64 61 | chor.at.the.beginning.of.candida |
| 6440 | 74 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5e 22 0a 20 20 20 20 20 20 20 20 20 | te................."^".......... |
| 6460 | 20 20 20 20 3b 3b 20 4f 74 68 65 72 77 69 73 65 2c 20 6a 75 73 74 20 61 6e 63 68 6f 72 20 61 74 | ....;;.Otherwise,.just.anchor.at |
| 6480 | 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 73 6f 6d 65 20 77 6f 72 64 0a 20 20 20 20 | .the.beginning.of.some.word..... |
| 64a0 | 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 2e 0a 20 20 | .........;;.in.the.candidate.... |
| 64c0 | 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 62 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 | ..........."\\b")............(if |
| 64e0 | 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 0a 20 20 20 20 | .prescient-use-char-folding..... |
| 6500 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 2d 63 68 61 72 2d 66 6f 6c 64 | ...........(prescient--char-fold |
| 6520 | 2d 74 6f 2d 72 65 67 65 78 70 20 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | -to-regexp.query)..............( |
| 6540 | 72 65 67 65 78 70 2d 71 75 6f 74 65 20 71 75 65 72 79 29 29 29 0a 20 20 20 28 65 71 20 77 69 74 | regexp-quote.query)))....(eq.wit |
| 6560 | 68 2d 67 72 6f 75 70 20 27 61 6c 6c 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 70 72 65 73 63 | h-group.'all)))..(cl-defun.presc |
| 6580 | 69 65 6e 74 2d 69 6e 69 74 69 61 6c 73 2d 72 65 67 65 78 70 20 28 71 75 65 72 79 20 26 6b 65 79 | ient-initials-regexp.(query.&key |
| 65a0 | 20 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .with-group..................... |
| 65c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 61 6c 6c 6f 77 2d 6f 74 | .......................&allow-ot |
| 65e0 | 68 65 72 2d 6b 65 79 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 72 65 67 65 78 70 20 6d 61 74 | her-keys)..."Return.a.regexp.mat |
| 6600 | 63 68 69 6e 67 20 51 55 45 52 59 20 61 73 20 61 6e 20 69 6e 69 74 69 61 6c 69 73 6d 2e 0a 54 68 | ching.QUERY.as.an.initialism..Th |
| 6620 | 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 72 65 67 65 78 70 20 77 69 6c 6c 20 6f 6e | is.means.that.the.regexp.will.on |
| 6640 | 6c 79 20 6d 61 74 63 68 20 61 20 67 69 76 65 6e 20 73 74 72 69 6e 67 20 69 66 0a 51 55 45 52 59 | ly.match.a.given.string.if.QUERY |
| 6660 | 20 69 73 20 61 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 74 68 65 20 69 6e 69 74 69 61 6c 73 20 | .is.a.substring.of.the.initials. |
| 6680 | 6f 66 20 74 68 65 20 73 74 72 69 6e 67 2e 0a 0a 49 66 20 57 49 54 48 2d 47 52 4f 55 50 20 69 73 | of.the.string...If.WITH-GROUP.is |
| 66a0 | 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 70 61 72 74 73 20 6f 66 20 74 | .non-nil,.enclose.the.parts.of.t |
| 66c0 | 68 65 20 72 65 67 65 78 70 20 74 68 61 74 0a 6d 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 | he.regexp.that.match.the.actual. |
| 66e0 | 69 6e 69 74 69 61 6c 73 20 69 6e 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 73 2c 20 73 6f 20 74 | initials.in.capture.groups,.so.t |
| 6700 | 68 61 74 20 74 68 65 20 6d 61 74 63 68 0a 64 61 74 61 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 | hat.the.match.data.can.be.used.t |
| 6720 | 6f 20 68 69 67 68 6c 69 67 68 74 20 74 68 65 20 69 6e 69 74 69 61 6c 73 20 6f 66 20 74 68 65 20 | o.highlight.the.initials.of.the. |
| 6740 | 6d 61 74 63 68 2e 0a 0a 54 6f 20 69 6c 6c 75 73 74 72 61 74 65 2c 20 69 66 20 5c 22 66 61 5c 22 | match...To.illustrate,.if.\"fa\" |
| 6760 | 20 6d 61 74 63 68 65 73 20 5c 22 66 69 6e 64 2d 66 69 6c 65 2d 61 74 2d 70 6f 69 6e 74 5c 22 2c | .matches.\"find-file-at-point\", |
| 6780 | 20 74 68 65 6e 20 74 68 65 0a 65 6e 74 69 72 65 20 6d 61 74 63 68 20 77 69 6c 6c 20 62 65 20 74 | .then.the.entire.match.will.be.t |
| 67a0 | 68 65 20 74 65 78 74 20 5c 22 66 69 6c 65 2d 61 74 5c 22 2c 20 61 6e 64 20 74 68 65 72 65 20 77 | he.text.\"file-at\",.and.there.w |
| 67c0 | 69 6c 6c 20 62 65 20 74 77 6f 0a 63 61 70 74 75 72 65 20 67 72 6f 75 70 73 20 6d 61 74 63 68 69 | ill.be.two.capture.groups.matchi |
| 67e0 | 6e 67 20 5c 22 66 5c 22 20 61 6e 64 20 5c 22 61 5c 22 2e 22 0a 20 20 28 6d 61 70 63 6f 6e 63 61 | ng.\"f\".and.\"a\"."...(mapconca |
| 6800 | 74 20 28 6c 61 6d 62 64 61 20 28 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t.(lambda.(char)................ |
| 6820 | 28 6c 65 74 20 28 28 72 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 28 63 68 61 72 2d 74 6f 2d | (let.((r.(regexp-quote.(char-to- |
| 6840 | 73 74 72 69 6e 67 20 63 68 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | string.char))))................. |
| 6860 | 20 28 77 68 65 6e 20 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .(when.with-group............... |
| 6880 | 20 20 20 20 20 28 73 65 74 71 20 72 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 25 73 5c 5c 29 22 20 | .....(setq.r.(format."\\(%s\\)". |
| 68a0 | 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 5c | r)))..................(format."\ |
| 68c0 | 5c 62 25 73 5c 5c 77 2a 22 20 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 65 72 | \b%s\\w*".r)))..............quer |
| 68e0 | 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 57 2a 22 29 29 0a 0a 28 63 6c 2d 64 65 66 | y.............."\\W*"))..(cl-def |
| 6900 | 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 72 65 67 65 78 70 2d 72 65 67 65 78 70 20 28 71 75 65 72 | un.prescient-regexp-regexp.(quer |
| 6920 | 79 20 26 72 65 73 74 20 5f 69 67 6e 6f 72 65 29 0a 20 20 22 55 6e 6c 65 73 73 20 75 73 69 6e 67 | y.&rest._ignore)..."Unless.using |
| 6940 | 20 74 68 65 20 72 65 67 65 78 70 20 51 55 45 52 59 20 77 6f 75 6c 64 20 72 65 74 75 72 6e 20 61 | .the.regexp.QUERY.would.return.a |
| 6960 | 6e 20 65 72 72 6f 72 2c 20 72 65 74 75 72 6e 20 51 55 45 52 59 2e 22 0a 20 20 28 69 67 6e 6f 72 | n.error,.return.QUERY."...(ignor |
| 6980 | 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 3b 3b 20 49 67 6e 6f 72 65 20 72 65 67 65 78 70 20 69 66 | e-errors.....;;.Ignore.regexp.if |
| 69a0 | 20 69 74 27 73 20 6d 61 6c 66 6f 72 6d 65 64 2e 0a 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 | .it's.malformed......(string-mat |
| 69c0 | 63 68 2d 70 20 71 75 65 72 79 20 22 22 29 0a 20 20 20 20 71 75 65 72 79 29 29 0a 0a 28 63 6c 2d | ch-p.query."").....query))..(cl- |
| 69e0 | 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 61 6e 63 68 6f 72 65 64 2d 72 65 67 65 78 70 20 | defun.prescient-anchored-regexp. |
| 6a00 | 28 71 75 65 72 79 20 26 6b 65 79 20 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 | (query.&key.with-group.......... |
| 6a20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 6a40 | 20 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 | ..&allow-other-keys)..."Return.a |
| 6a60 | 20 72 65 67 65 78 70 20 6d 61 74 63 68 69 6e 67 20 51 55 45 52 59 20 77 69 74 68 20 61 6e 63 68 | .regexp.matching.QUERY.with.anch |
| 6a80 | 6f 72 73 2e 0a 54 68 69 73 20 6d 65 61 6e 73 20 75 70 70 65 72 63 61 73 65 20 61 6e 64 20 73 79 | ors..This.means.uppercase.and.sy |
| 6aa0 | 6d 62 6f 6c 73 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 73 20 62 65 67 69 6e 20 6f 66 20 77 | mbols.will.be.used.as.begin.of.w |
| 6ac0 | 6f 72 64 73 2e 0a 0a 49 66 20 57 49 54 48 2d 47 52 4f 55 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c | ords...If.WITH-GROUP.is.non-nil, |
| 6ae0 | 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 72 65 67 65 78 70 | .enclose.the.parts.of.the.regexp |
| 6b00 | 20 74 68 61 74 0a 6d 61 74 63 68 20 74 68 65 20 61 63 74 75 61 6c 20 69 6e 69 74 69 61 6c 73 20 | .that.match.the.actual.initials. |
| 6b20 | 69 6e 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 73 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d | in.capture.groups,.so.that.the.m |
| 6b40 | 61 74 63 68 0a 64 61 74 61 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 68 69 67 68 6c 69 67 | atch.data.can.be.used.to.highlig |
| 6b60 | 68 74 20 74 68 65 20 69 6e 69 74 69 61 6c 73 20 6f 66 20 74 68 65 20 6d 61 74 63 68 2e 0a 0a 54 | ht.the.initials.of.the.match...T |
| 6b80 | 6f 20 69 6c 6c 75 73 74 72 61 74 65 2c 20 5c 22 46 69 46 69 41 74 5c 22 20 6d 61 74 63 68 65 73 | o.illustrate,.\"FiFiAt\".matches |
| 6ba0 | 20 5c 22 66 69 6e 64 2d 66 69 6c 65 2d 61 74 2d 70 6f 69 6e 74 5c 22 20 77 69 74 68 20 74 68 65 | .\"find-file-at-point\".with.the |
| 6bc0 | 0a 65 6e 74 69 72 65 20 6d 61 74 63 68 20 62 65 69 6e 67 20 5c 22 66 69 6c 65 2d 66 69 6e 64 2d | .entire.match.being.\"file-find- |
| 6be0 | 61 74 5c 22 20 61 6e 64 20 77 69 74 68 20 74 68 72 65 65 20 67 72 6f 75 70 73 0a 5c 22 66 69 6e | at\".and.with.three.groups.\"fin |
| 6c00 | 64 5c 22 2c 20 5c 22 66 69 6c 65 5c 22 2c 20 61 6e 64 20 5c 22 61 74 5c 22 2e 0a 0a 41 20 73 69 | d\",.\"file\",.and.\"at\"...A.si |
| 6c20 | 6d 69 6c 61 72 20 6d 61 74 63 68 20 63 61 6e 20 62 65 20 61 63 68 69 65 76 65 20 77 69 74 68 20 | milar.match.can.be.achieve.with. |
| 6c40 | 5c 22 66 69 2d 66 69 2d 61 74 5c 22 2c 20 6f 72 20 5c 22 46 46 41 5c 22 2c 0a 6f 72 20 5c 22 66 | \"fi-fi-at\",.or.\"FFA\",.or.\"f |
| 6c60 | 69 6e 64 2d 66 2d 61 5c 22 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 61 73 65 2d 66 6f 6c 64 2d 73 | ind-f-a\"."...(let.((case-fold-s |
| 6c80 | 65 61 72 63 68 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 65 78 70 72 20 28 69 66 20 77 69 74 | earch.nil).........(expr.(if.wit |
| 6ca0 | 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 28 5c 5c | h-group..................."\\(\\ |
| 6cc0 | 62 25 73 5c 5c 29 5b 5e 5c 5c 2f 5d 2a 3f 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | b%s\\)[^\\/]*?"................. |
| 6ce0 | 22 5c 5c 62 25 73 5b 5e 5c 5c 2f 5d 2a 3f 22 29 29 29 0a 20 20 20 20 28 72 65 70 6c 61 63 65 2d | "\\b%s[^\\/]*?"))).....(replace- |
| 6d00 | 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 22 5b 5b 3a 75 70 70 65 72 3a | regexp-in-string......"[[:upper: |
| 6d20 | 5d 5d 5b 5b 3a 6c 6f 77 65 72 3a 5d 5d 2a 5c 5c 7c 5c 5c 57 5b 5b 3a 6c 6f 77 65 72 3a 5d 5d 2a | ]][[:lower:]]*\\|\\W[[:lower:]]* |
| 6d40 | 5c 5c 7c 5b 5b 3a 6c 6f 77 65 72 3a 5d 5d 2b 22 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 | \\|[[:lower:]]+"......(lambda.(s |
| 6d60 | 29 20 28 66 6f 72 6d 61 74 20 65 78 70 72 20 28 72 65 67 65 78 70 2d 71 75 6f 74 65 20 28 64 6f | ).(format.expr.(regexp-quote.(do |
| 6d80 | 77 6e 63 61 73 65 20 73 29 29 29 29 0a 20 20 20 20 20 71 75 65 72 79 0a 20 20 20 20 20 27 66 69 | wncase.s))))......query......'fi |
| 6da0 | 78 65 64 2d 63 61 73 65 0a 20 20 20 20 20 27 6c 69 74 65 72 61 6c 29 29 29 0a 0a 28 63 6c 2d 64 | xed-case......'literal)))..(cl-d |
| 6dc0 | 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 66 75 7a 7a 79 2d 72 65 67 65 78 70 20 28 71 75 65 | efun.prescient-fuzzy-regexp.(que |
| 6de0 | 72 79 20 26 6b 65 79 20 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | ry.&key.with-group.............. |
| 6e00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 61 6c 6c 6f | ...........................&allo |
| 6e20 | 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 72 65 67 65 78 70 | w-other-keys)..."Return.a.regexp |
| 6e40 | 20 66 6f 72 20 66 75 7a 7a 79 2d 6d 61 74 63 68 69 6e 67 20 51 55 45 52 59 2e 0a 54 68 69 73 20 | .for.fuzzy-matching.QUERY..This. |
| 6e60 | 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 72 65 67 65 78 70 20 77 69 6c 6c 20 6f 6e 6c 79 20 | means.that.the.regexp.will.only. |
| 6e80 | 6d 61 74 63 68 20 61 20 67 69 76 65 6e 20 73 74 72 69 6e 67 20 69 66 20 61 6c 6c 0a 63 68 61 72 | match.a.given.string.if.all.char |
| 6ea0 | 61 63 74 65 72 73 20 69 6e 20 51 55 45 52 59 20 61 72 65 20 70 72 65 73 65 6e 74 20 61 6e 79 77 | acters.in.QUERY.are.present.anyw |
| 6ec0 | 68 65 72 65 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 69 6e 20 74 68 65 0a 73 70 65 63 69 66 | here.in.the.string.in.the.specif |
| 6ee0 | 69 65 64 20 6f 72 64 65 72 2e 0a 0a 49 66 20 57 49 54 48 2d 47 52 4f 55 50 20 69 73 20 6e 6f 6e | ied.order...If.WITH-GROUP.is.non |
| 6f00 | 2d 6e 69 6c 2c 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 72 | -nil,.enclose.the.parts.of.the.r |
| 6f20 | 65 67 65 78 70 20 74 68 61 74 0a 6d 61 74 63 68 20 74 68 65 20 51 55 45 52 59 20 63 68 61 72 61 | egexp.that.match.the.QUERY.chara |
| 6f40 | 63 74 65 72 73 20 69 6e 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 73 2c 20 73 6f 20 74 68 61 74 | cters.in.capture.groups,.so.that |
| 6f60 | 20 74 68 65 20 6d 61 74 63 68 0a 64 61 74 61 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 68 | .the.match.data.can.be.used.to.h |
| 6f80 | 69 67 68 6c 69 67 68 74 20 74 68 65 20 6d 61 74 63 68 65 64 20 73 75 62 73 74 72 69 6e 67 73 2e | ighlight.the.matched.substrings. |
| 6fa0 | 22 0a 20 20 28 6c 65 74 20 28 28 63 68 61 72 73 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 | "...(let.((chars.(string-to-list |
| 6fc0 | 20 71 75 65 72 79 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 28 70 72 65 73 | .query))).....(concat......(pres |
| 6fe0 | 63 69 65 6e 74 2d 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 28 72 65 67 65 78 70 2d 71 | cient-with-group.......(regexp-q |
| 7000 | 75 6f 74 65 0a 20 20 20 20 20 20 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 63 61 72 | uote........(char-to-string.(car |
| 7020 | 20 63 68 61 72 73 29 29 29 0a 20 20 20 20 20 20 77 69 74 68 2d 67 72 6f 75 70 29 0a 20 20 20 20 | .chars))).......with-group)..... |
| 7040 | 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 68 61 72 29 | .(mapconcat.......(lambda.(char) |
| 7060 | 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 5b 5e 25 63 5c 6e 5d 2a 3f 25 73 22 20 63 | .........(format."[^%c\n]*?%s".c |
| 7080 | 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 77 | har.................(prescient-w |
| 70a0 | 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 | ith-group..................(rege |
| 70c0 | 78 70 2d 71 75 6f 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 68 61 72 | xp-quote...................(char |
| 70e0 | 2d 74 6f 2d 73 74 72 69 6e 67 20 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -to-string.char))............... |
| 7100 | 20 20 20 77 69 74 68 2d 67 72 6f 75 70 29 29 29 0a 20 20 20 20 20 20 28 63 64 72 20 63 68 61 72 | ...with-group))).......(cdr.char |
| 7120 | 73 29 20 22 22 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 70 | s).""))))..(cl-defun.prescient-p |
| 7140 | 72 65 66 69 78 2d 72 65 67 65 78 70 20 28 71 75 65 72 79 20 26 6b 65 79 20 77 69 74 68 2d 67 72 | refix-regexp.(query.&key.with-gr |
| 7160 | 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | oup............................. |
| 7180 | 20 20 20 20 20 20 20 20 20 20 20 20 20 26 61 6c 6c 6f 77 2d 6f 74 68 65 72 2d 6b 65 79 73 29 0a | .............&allow-other-keys). |
| 71a0 | 20 20 22 52 65 74 75 72 6e 20 61 20 72 65 67 65 78 70 20 66 6f 72 20 6d 61 74 63 68 69 6e 67 20 | .."Return.a.regexp.for.matching. |
| 71c0 | 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 73 20 6f 66 20 77 6f 72 64 73 20 69 6e 20 51 55 45 52 59 | the.beginnings.of.words.in.QUERY |
| 71e0 | 2e 0a 54 68 69 73 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 74 68 65 20 60 70 61 72 74 69 61 | ..This.is.similar.to.the.`partia |
| 7200 | 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 27 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 0a 70 | l-completion'.completion.style.p |
| 7220 | 72 6f 76 69 64 65 64 20 62 79 20 45 6d 61 63 73 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 6e 6f | rovided.by.Emacs,.except.that.no |
| 7240 | 6e 2d 77 6f 72 64 20 63 68 61 72 61 63 74 65 72 73 20 61 72 65 20 74 61 6b 65 6e 0a 6c 69 74 65 | n-word.characters.are.taken.lite |
| 7260 | 72 61 6c 6c 79 20 28 69 2e 65 2e 2c 20 6f 6e 65 20 63 61 6e 27 74 20 67 6c 6f 62 20 75 73 69 6e | rally.(i.e.,.one.can't.glob.usin |
| 7280 | 67 20 5c 22 2a 5c 22 29 2e 20 20 50 72 65 73 63 69 65 6e 74 20 61 6c 72 65 61 64 79 0a 63 6f 76 | g.\"*\")...Prescient.already.cov |
| 72a0 | 65 72 73 20 74 68 61 74 20 63 61 73 65 20 62 79 20 73 65 70 61 72 61 74 69 6e 67 20 71 75 65 72 | ers.that.case.by.separating.quer |
| 72c0 | 69 65 73 20 77 69 74 68 20 61 20 73 70 61 63 65 2e 0a 0a 49 66 20 51 55 45 52 59 20 63 6f 6e 74 | ies.with.a.space...If.QUERY.cont |
| 72e0 | 61 69 6e 73 20 6e 6f 6e 2d 77 6f 72 64 20 63 68 61 72 61 63 74 65 72 73 2c 20 74 68 65 6e 20 74 | ains.non-word.characters,.then.t |
| 7300 | 68 69 73 20 6d 61 74 63 68 65 73 0a 67 72 65 65 64 69 6c 79 2e 20 4f 74 68 65 72 77 69 73 65 2c | his.matches.greedily..Otherwise, |
| 7320 | 20 69 74 20 6d 61 74 63 68 65 73 20 6e 6f 6e 2d 67 72 65 65 64 69 6c 79 2e 20 46 6f 72 20 65 78 | .it.matches.non-greedily..For.ex |
| 7340 | 61 6d 70 6c 65 2c 0a 0a 2d 20 5c 22 73 74 72 2d 72 5c 22 20 66 75 6c 6c 79 20 6d 61 74 63 68 65 | ample,..-.\"str-r\".fully.matche |
| 7360 | 73 20 5c 22 73 74 72 69 6e 67 2d 72 65 70 65 61 74 5c 22 0a 0a 2d 20 5c 22 72 65 5c 22 20 64 6f | s.\"string-repeat\"..-.\"re\".do |
| 7380 | 65 73 20 6e 6f 74 20 66 75 6c 6c 79 20 6d 61 74 63 68 20 74 68 65 20 77 6f 72 64 20 5c 22 72 65 | es.not.fully.match.the.word.\"re |
| 73a0 | 70 65 72 74 6f 69 72 65 5c 22 2c 20 6f 6e 6c 79 20 74 68 65 0a 20 20 5c 22 72 65 5c 22 20 61 74 | pertoire\",.only.the...\"re\".at |
| 73c0 | 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 77 6f 72 64 0a 0a 2d 20 5c 22 | .the.beginning.of.the.word..-.\" |
| 73e0 | 2e 67 5c 22 20 66 75 6c 6c 79 20 6d 61 74 63 68 65 73 20 5c 22 2e 67 69 74 5c 22 0a 0a 54 68 69 | .g\".fully.matches.\".git\"..Thi |
| 7400 | 73 20 62 65 68 61 76 69 6f 72 20 69 73 20 6d 65 61 6e 74 20 74 6f 20 77 6f 72 6b 20 62 65 74 74 | s.behavior.is.meant.to.work.bett |
| 7420 | 65 72 20 77 69 74 68 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 60 70 72 65 73 63 69 65 6e 74 2d | er.with.the.function.`prescient- |
| 7440 | 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 27 20 61 6e 64 20 74 6f 20 | sort-full-matches-first'.and.to. |
| 7460 | 61 76 6f 69 64 20 69 6e 74 65 72 70 72 65 74 69 6e 67 20 61 6e 0a 69 6e 69 74 69 61 6c 69 73 6d | avoid.interpreting.an.initialism |
| 7480 | 20 61 73 20 61 20 70 72 65 66 69 78 2e 0a 0a 49 66 20 57 49 54 48 2d 47 52 4f 55 50 20 69 73 20 | .as.a.prefix...If.WITH-GROUP.is. |
| 74a0 | 6e 6f 6e 2d 6e 69 6c 2c 20 65 6e 63 6c 6f 73 65 20 74 68 65 20 70 61 72 74 73 20 6f 66 20 74 68 | non-nil,.enclose.the.parts.of.th |
| 74c0 | 65 20 72 65 67 65 78 70 20 74 68 61 74 0a 6d 61 74 63 68 20 74 68 65 20 51 55 45 52 59 20 63 68 | e.regexp.that.match.the.QUERY.ch |
| 74e0 | 61 72 61 63 74 65 72 73 20 69 6e 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 73 2c 20 73 6f 20 74 | aracters.in.capture.groups,.so.t |
| 7500 | 68 61 74 20 74 68 65 20 6d 61 74 63 68 0a 64 61 74 61 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 | hat.the.match.data.can.be.used.t |
| 7520 | 6f 20 68 69 67 68 6c 69 67 68 74 20 74 68 65 20 6d 61 74 63 68 65 64 20 73 75 62 73 74 72 69 6e | o.highlight.the.matched.substrin |
| 7540 | 67 73 2e 22 0a 20 20 28 63 6f 6e 63 61 74 20 28 77 68 65 6e 20 28 65 71 6c 20 30 20 28 73 74 72 | gs."...(concat.(when.(eql.0.(str |
| 7560 | 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5b 5b 3a 77 6f 72 64 3a 5d 5d 22 20 71 75 65 72 79 29 29 | ing-match-p."[[:word:]]".query)) |
| 7580 | 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 51 55 45 52 59 20 62 65 67 69 6e 73 20 | .............;;.If.QUERY.begins. |
| 75a0 | 77 69 74 68 20 61 20 77 6f 72 64 20 63 68 61 72 61 63 74 65 72 2c 20 6d 61 6b 65 20 73 75 72 65 | with.a.word.character,.make.sure |
| 75c0 | 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 72 65 74 75 72 6e 65 64 20 72 65 67 | .the.............;;.returned.reg |
| 75e0 | 65 78 70 20 64 6f 65 73 6e 27 74 20 73 74 61 72 74 20 6d 61 74 63 68 69 6e 67 20 69 6e 20 74 68 | exp.doesn't.start.matching.in.th |
| 7600 | 65 20 6d 69 64 64 6c 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 61 20 77 6f 72 | e.middle.of.............;;.a.wor |
| 7620 | 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 3c 22 29 0a 20 20 20 20 20 20 20 20 20 20 | d.............."\\<")........... |
| 7640 | 28 72 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 | (replace-regexp-in-string....... |
| 7660 | 20 20 20 20 20 22 5b 5b 3a 77 6f 72 64 3a 5d 5d 2b 22 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b | ....."[[:word:]]+"............;; |
| 7680 | 20 43 68 6f 6f 73 65 20 77 68 65 74 68 65 72 20 74 6f 20 77 72 61 70 20 73 65 71 75 65 6e 63 65 | .Choose.whether.to.wrap.sequence |
| 76a0 | 73 20 6f 66 20 77 6f 72 64 20 63 68 61 72 61 63 74 65 72 73 2e 0a 20 20 20 20 20 20 20 20 20 20 | s.of.word.characters............ |
| 76c0 | 20 28 63 6f 6e 63 61 74 20 28 69 66 20 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 | .(concat.(if.with-group......... |
| 76e0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 5c 5c 28 5c 5c 26 5c 5c 5c 5c 29 5b 5b 3a | ..............."\\\\(\\&\\\\)[[: |
| 7700 | 77 6f 72 64 3a 5d 5d 2a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 | word:]]*"......................" |
| 7720 | 5c 5c 26 5b 5b 3a 77 6f 72 64 3a 5d 5d 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | \\&[[:word:]]*")................ |
| 7740 | 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5b 5e 5b | ....(unless.(string-match-p."[^[ |
| 7760 | 3a 77 6f 72 64 3a 5d 5d 22 20 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | :word:]]".query)................ |
| 7780 | 20 20 20 20 20 20 22 3f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 51 75 6f 74 65 20 | ......"?"))............;;.Quote. |
| 77a0 | 6e 6f 6e 2d 77 6f 72 64 20 63 68 61 72 61 63 74 65 72 73 20 73 6f 20 74 68 61 74 20 74 68 65 79 | non-word.characters.so.that.they |
| 77c0 | 27 72 65 20 74 61 6b 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6c 69 74 65 72 61 6c 6c | 're.taken............;;.literall |
| 77e0 | 79 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e | y.............(replace-regexp-in |
| 7800 | 2d 73 74 72 69 6e 67 20 22 5b 5e 5b 3a 77 6f 72 64 3a 5d 5d 22 0a 20 20 20 20 20 20 20 20 20 20 | -string."[^[:word:]]"........... |
| 7820 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 65 67 | ...........................#'reg |
| 7840 | 65 78 70 2d 71 75 6f 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | exp-quote....................... |
| 7860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 75 65 72 79 20 27 66 69 78 65 64 2d 63 61 73 65 | ...............query.'fixed-case |
| 7880 | 20 27 6c 69 74 65 72 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 27 66 69 78 65 64 2d 63 61 73 | .'literal)............'fixed-cas |
| 78a0 | 65 29 29 29 0a 0a 3b 3b 3b 3b 20 53 6f 72 74 69 6e 67 20 61 6e 64 20 66 69 6c 74 65 72 69 6e 67 | e)))..;;;;.Sorting.and.filtering |
| 78c0 | 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 | ..(defun.prescient-filter-regexp |
| 78e0 | 73 20 28 71 75 65 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 77 69 74 68 2d 67 72 6f 75 70 20 73 65 | s.(query.&optional.with-group.se |
| 7900 | 70 61 72 61 74 65 64 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 51 55 45 52 59 20 74 6f 20 6c 69 73 | parated)..."Convert.QUERY.to.lis |
| 7920 | 74 20 6f 66 20 72 65 67 65 78 70 73 2e 0a 45 61 63 68 20 72 65 67 65 78 70 20 6d 75 73 74 20 6d | t.of.regexps..Each.regexp.must.m |
| 7940 | 61 74 63 68 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 20 69 6e 20 6f 72 64 65 72 20 66 6f 72 20 | atch.the.candidate.in.order.for. |
| 7960 | 61 20 63 61 6e 64 69 64 61 74 65 20 74 6f 0a 6d 61 74 63 68 20 74 68 65 20 51 55 45 52 59 2e 0a | a.candidate.to.match.the.QUERY.. |
| 7980 | 0a 49 66 20 57 49 54 48 2d 47 52 4f 55 50 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 6e 63 6c 6f | .If.WITH-GROUP.is.non-nil,.enclo |
| 79a0 | 73 65 20 74 68 65 20 69 6e 69 74 69 61 6c 73 20 69 6e 20 69 6e 69 74 69 61 6c 69 73 6d 73 0a 77 | se.the.initials.in.initialisms.w |
| 79c0 | 69 74 68 20 63 61 70 74 75 72 65 20 67 72 6f 75 70 73 2e 20 49 66 20 69 74 20 69 73 20 74 68 65 | ith.capture.groups..If.it.is.the |
| 79e0 | 20 73 79 6d 62 6f 6c 20 60 61 6c 6c 27 2c 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 0a 65 6e 63 6c | .symbol.`all',.additionally.encl |
| 7a00 | 6f 73 65 20 6c 69 74 65 72 61 6c 20 73 75 62 73 74 72 69 6e 67 73 20 77 69 74 68 20 63 61 70 74 | ose.literal.substrings.with.capt |
| 7a20 | 75 72 65 20 67 72 6f 75 70 73 2e 0a 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 74 68 69 73 20 66 75 | ure.groups...By.default,.this.fu |
| 7a40 | 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 | nction.returns.a.list.containing |
| 7a60 | 20 6f 6e 65 20 72 65 67 65 78 70 0a 66 6f 72 20 65 61 63 68 20 73 70 61 63 65 2d 73 65 70 61 72 | .one.regexp.for.each.space-separ |
| 7a80 | 61 74 65 64 20 73 75 62 2d 71 75 65 72 79 20 69 6e 20 51 55 45 52 59 2c 20 69 6e 20 77 68 69 63 | ated.sub-query.in.QUERY,.in.whic |
| 7aa0 | 68 20 65 61 63 68 0a 73 75 62 2d 71 75 65 72 79 27 73 20 72 65 67 65 78 70 20 69 73 20 61 20 63 | h.each.sub-query's.regexp.is.a.c |
| 7ac0 | 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 72 65 67 65 78 70 73 20 70 72 6f 64 75 63 | ombination.of.the.regexps.produc |
| 7ae0 | 65 64 20 62 79 0a 74 68 65 20 66 69 6c 74 65 72 20 6d 65 74 68 6f 64 73 20 66 6f 72 20 74 68 61 | ed.by.the.filter.methods.for.tha |
| 7b00 | 74 20 73 75 62 2d 71 75 65 72 79 2c 20 6a 6f 69 6e 65 64 20 62 79 20 5c 22 5c 5c 7c 5c 22 2e 20 | t.sub-query,.joined.by.\"\\|\".. |
| 7b20 | 49 66 0a 53 45 50 41 52 41 54 45 44 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 69 73 20 66 75 | If.SEPARATED.is.non-nil,.this.fu |
| 7b40 | 6e 63 74 69 6f 6e 20 69 6e 73 74 65 61 64 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 | nction.instead.returns.a.list.of |
| 7b60 | 20 61 6c 6c 0a 72 65 67 65 78 70 73 20 70 72 6f 64 75 63 65 64 20 62 79 20 74 68 65 20 66 69 6c | .all.regexps.produced.by.the.fil |
| 7b80 | 74 65 72 20 6d 65 74 68 6f 64 73 2c 20 77 69 74 68 6f 75 74 20 63 6f 6d 62 69 6e 69 6e 67 20 74 | ter.methods,.without.combining.t |
| 7ba0 | 68 65 6d 0a 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 72 65 67 65 78 70 20 66 6f 72 20 65 61 63 | hem.into.a.single.regexp.for.eac |
| 7bc0 | 68 20 73 75 62 2d 71 75 65 72 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 69 73 74 2d 6f 66 2d 6c | h.sub-query."...(let.((list-of-l |
| 7be0 | 69 73 74 73 0a 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 | ists..........(cl-loop.......... |
| 7c00 | 20 77 69 74 68 20 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 73 0a 20 20 20 20 20 20 20 20 20 20 3d | .with.filter-methods...........= |
| 7c20 | 20 28 70 63 61 73 65 20 28 69 66 20 28 66 75 6e 63 74 69 6f 6e 70 20 70 72 65 73 63 69 65 6e 74 | .(pcase.(if.(functionp.prescient |
| 7c40 | 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | -filter-method)................. |
| 7c60 | 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 | .......(funcall.prescient-filter |
| 7c80 | 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 | -method)......................pr |
| 7ca0 | 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 | escient-filter-method).......... |
| 7cc0 | 20 20 20 20 20 3b 3b 20 57 65 20 73 75 70 70 6f 72 74 20 60 6c 69 74 65 72 61 6c 2b 69 6e 69 74 | .....;;.We.support.`literal+init |
| 7ce0 | 69 61 6c 69 73 6d 27 20 66 6f 72 20 62 61 63 6b 77 61 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 | ialism'.for.backwards........... |
| 7d00 | 20 20 20 20 3b 3b 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2e 0a 20 20 20 20 20 20 20 20 20 20 | ....;;.compatibility............ |
| 7d20 | 20 20 20 20 28 60 6c 69 74 65 72 61 6c 2b 69 6e 69 74 69 61 6c 69 73 6d 20 27 28 6c 69 74 65 72 | ....(`literal+initialism.'(liter |
| 7d40 | 61 6c 20 69 6e 69 74 69 61 6c 69 73 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 | al.initialism))...............(( |
| 7d60 | 61 6e 64 20 28 70 72 65 64 20 6c 69 73 74 70 29 20 78 29 20 78 29 0a 20 20 20 20 20 20 20 20 20 | and.(pred.listp).x).x).......... |
| 7d80 | 20 20 20 20 20 28 78 20 28 6c 69 73 74 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 | .....(x.(list.x)))...........for |
| 7da0 | 20 73 75 62 71 75 65 72 79 20 69 6e 20 28 70 72 65 73 63 69 65 6e 74 2d 73 70 6c 69 74 2d 71 75 | .subquery.in.(prescient-split-qu |
| 7dc0 | 65 72 79 20 71 75 65 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 73 75 62 71 75 65 72 | ery.query)...........for.subquer |
| 7de0 | 79 2d 6e 75 6d 62 65 72 20 66 72 6f 6d 20 30 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 | y-number.from.0...........collec |
| 7e00 | 74 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 77 69 74 68 20 74 65 6d 70 2d 72 | t...........(cl-loop.with.temp-r |
| 7e20 | 65 67 65 78 70 20 3d 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 | egexp.=.nil....................f |
| 7e40 | 6f 72 20 6d 65 74 68 6f 64 20 69 6e 20 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 73 0a 20 20 20 20 | or.method.in.filter-methods..... |
| 7e60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 66 75 6e 63 20 3d 20 28 61 6c 69 73 74 | ...............for.func.=.(alist |
| 7e80 | 2d 67 65 74 20 6d 65 74 68 6f 64 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 61 6c 69 | -get.method.prescient-filter-ali |
| 7ea0 | 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 6e 75 6c 6c 20 | st)....................if.(null. |
| 7ec0 | 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 6d 65 73 | func)....................do.(mes |
| 7ee0 | 73 61 67 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 22 4e 6f 20 | sage........................"No. |
| 7f00 | 66 75 6e 63 74 69 6f 6e 20 69 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 61 6c | function.in.`prescient-filter-al |
| 7f20 | 69 73 74 27 20 66 6f 72 20 6d 65 74 68 6f 64 3a 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 | ist'.for.method:.%s"............ |
| 7f40 | 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | ............method)............. |
| 7f60 | 20 20 20 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b | .......else....................; |
| 7f80 | 3b 20 43 61 6e 27 74 20 75 73 65 20 22 66 6f 72 20 3d 22 20 68 65 72 65 2e 0a 20 20 20 20 20 20 | ;.Can't.use."for.=".here........ |
| 7fa0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 65 74 71 20 74 65 6d 70 2d 72 65 67 65 78 | .............do.(setq.temp-regex |
| 7fc0 | 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 | p.............................(f |
| 7fe0 | 75 6e 63 61 6c 6c 20 66 75 6e 63 20 73 75 62 71 75 65 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 | uncall.func.subquery............ |
| 8000 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 77 69 74 68 2d | ..........................:with- |
| 8020 | 67 72 6f 75 70 20 77 69 74 68 2d 67 72 6f 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | group.with-group................ |
| 8040 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 75 62 71 75 65 72 79 2d | ......................:subquery- |
| 8060 | 6e 75 6d 62 65 72 20 73 75 62 71 75 65 72 79 2d 6e 75 6d 62 65 72 29 29 0a 20 20 20 20 20 20 20 | number.subquery-number))........ |
| 8080 | 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 69 66 20 74 65 6d 70 2d 72 65 67 65 78 70 20 63 | ............and.if.temp-regexp.c |
| 80a0 | 6f 6c 6c 65 63 74 20 74 65 6d 70 2d 72 65 67 65 78 70 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 | ollect.temp-regexp.end.......... |
| 80c0 | 20 20 20 20 20 20 20 20 20 20 65 6e 64 29 29 29 29 0a 20 20 20 20 28 69 66 20 73 65 70 61 72 61 | ..........end)))).....(if.separa |
| 80e0 | 74 65 64 0a 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 61 70 70 65 6e 64 20 6c 69 73 74 | ted.........(apply.#'append.list |
| 8100 | 2d 6f 66 2d 6c 69 73 74 73 29 0a 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 | -of-lists).......(mapcar.(lambda |
| 8120 | 20 28 6c 69 73 74 29 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 6c 69 73 74 20 22 5c 5c 7c 22 29 | .(list).(string-join.list."\\|") |
| 8140 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 2d 6f 66 2d 6c 69 73 74 73 29 29 29 | )...............list-of-lists))) |
| 8160 | 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 | )..;;;###autoload.(defun.prescie |
| 8180 | 6e 74 2d 66 69 6c 74 65 72 20 28 71 75 65 72 79 20 63 61 6e 64 69 64 61 74 65 73 20 26 6f 70 74 | nt-filter.(query.candidates.&opt |
| 81a0 | 69 6f 6e 61 6c 20 70 72 65 64 29 0a 20 20 22 55 73 65 20 51 55 45 52 59 20 74 6f 20 66 69 6c 74 | ional.pred)..."Use.QUERY.to.filt |
| 81c0 | 65 72 20 6c 69 73 74 20 6f 66 20 43 41 4e 44 49 44 41 54 45 53 2e 0a 0a 43 41 4e 44 49 44 41 54 | er.list.of.CANDIDATES...CANDIDAT |
| 81e0 | 45 53 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 74 61 62 6c 65 2c 20 73 75 63 68 20 61 | ES.is.a.completion.table,.such.a |
| 8200 | 73 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 0a 6f 72 20 61 20 66 75 6e 63 74 69 6f | s.a.list.of.strings.or.a.functio |
| 8220 | 6e 20 61 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 49 6e 66 6f 20 6e 6f 64 65 0a 60 28 | n.as.defined.in.the.Info.node.`( |
| 8240 | 65 6c 69 73 70 29 50 72 6f 67 72 61 6d 6d 65 64 20 43 6f 6d 70 6c 65 74 69 6f 6e 27 2e 0a 0a 51 | elisp)Programmed.Completion'...Q |
| 8260 | 55 45 52 59 20 69 73 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 | UERY.is.a.string.containing.the. |
| 8280 | 73 75 62 2d 71 75 65 72 69 65 73 2c 20 77 68 69 63 68 20 61 72 65 20 67 6f 74 74 65 6e 0a 75 73 | sub-queries,.which.are.gotten.us |
| 82a0 | 69 6e 67 20 60 70 72 65 73 63 69 65 6e 74 2d 73 70 6c 69 74 2d 71 75 65 72 79 27 2e 20 45 61 63 | ing.`prescient-split-query'..Eac |
| 82c0 | 68 20 73 75 62 2d 71 75 65 72 79 20 69 73 20 75 73 65 64 20 74 6f 20 70 72 6f 64 75 63 65 0a 61 | h.sub-query.is.used.to.produce.a |
| 82e0 | 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 61 63 63 6f 72 64 69 6e 67 20 74 6f | .regular.expression.according.to |
| 8300 | 20 74 68 65 20 66 69 6c 74 65 72 20 6d 65 74 68 6f 64 73 20 6c 69 73 74 65 64 20 69 6e 0a 60 70 | .the.filter.methods.listed.in.`p |
| 8320 | 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 27 2e 20 41 20 63 61 6e 64 69 | rescient-filter-method'..A.candi |
| 8340 | 64 61 74 65 20 6d 75 73 74 20 6d 61 74 63 68 20 65 76 65 72 79 20 72 65 67 75 6c 61 72 0a 65 78 | date.must.match.every.regular.ex |
| 8360 | 70 72 65 73 73 69 6f 6e 20 6d 61 64 65 20 66 72 6f 6d 20 74 68 65 20 73 75 62 2d 71 75 65 72 69 | pression.made.from.the.sub-queri |
| 8380 | 65 73 20 74 6f 20 62 65 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 6c 69 73 74 0a 6f 66 | es.to.be.included.in.the.list.of |
| 83a0 | 20 72 65 74 75 72 6e 65 64 20 63 61 6e 64 69 64 61 74 65 73 2e 0a 0a 50 52 45 44 20 69 73 20 74 | .returned.candidates...PRED.is.t |
| 83c0 | 68 65 20 70 72 65 64 69 63 61 74 65 20 75 73 65 64 20 77 69 74 68 20 74 68 65 20 63 6f 6d 70 6c | he.predicate.used.with.the.compl |
| 83e0 | 65 74 69 6f 6e 20 74 61 62 6c 65 2c 20 61 73 0a 64 65 73 63 72 69 62 65 64 20 69 6e 20 74 68 65 | etion.table,.as.described.in.the |
| 8400 | 20 61 62 6f 76 65 20 49 6e 66 6f 20 6e 6f 64 65 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e | .above.Info.node...This.function |
| 8420 | 20 64 6f 65 73 20 6e 6f 74 20 6d 6f 64 69 66 79 20 43 41 4e 44 49 44 41 54 45 53 3b 20 69 74 20 | .does.not.modify.CANDIDATES;.it. |
| 8440 | 61 6c 77 61 79 73 20 6d 61 6b 65 20 61 20 6e 65 77 0a 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 | always.make.a.new.copy.of.the.li |
| 8460 | 73 74 2e 22 0a 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 0a 20 20 20 20 20 20 28 28 60 28 2c 70 72 | st."...(pcase-let*.......((`(,pr |
| 8480 | 65 66 69 78 20 2e 20 2c 70 61 74 74 65 72 6e 29 0a 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 | efix...,pattern).........(presci |
| 84a0 | 65 6e 74 2d 2d 70 72 65 66 69 78 2d 61 6e 64 2d 70 61 74 74 65 72 6e 20 71 75 65 72 79 20 63 61 | ent--prefix-and-pattern.query.ca |
| 84c0 | 6e 64 69 64 61 74 65 73 20 70 72 65 64 29 29 0a 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 | ndidates.pred))........(completi |
| 84e0 | 6f 6e 2d 72 65 67 65 78 70 2d 6c 69 73 74 20 28 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 | on-regexp-list.(prescient-filter |
| 8500 | 2d 72 65 67 65 78 70 73 20 70 61 74 74 65 72 6e 29 29 0a 20 20 20 20 20 20 20 28 63 6f 6d 70 6c | -regexps.pattern))........(compl |
| 8520 | 65 74 69 6f 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 20 28 70 72 65 73 63 69 65 6e 74 2d 69 67 6e | etion-ignore-case.(prescient-ign |
| 8540 | 6f 72 65 2d 63 61 73 65 2d 70 20 70 61 74 74 65 72 6e 29 29 29 0a 0a 20 20 20 20 3b 3b 20 41 64 | ore-case-p.pattern)))......;;.Ad |
| 8560 | 64 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 66 6f 72 20 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 | d.information.for.`prescient-sor |
| 8580 | 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 27 2e 20 57 65 0a 20 20 20 20 3b 3b | t-full-matches-first'..We.....;; |
| 85a0 | 20 77 61 6e 74 20 74 6f 20 61 64 64 20 74 68 65 73 65 20 70 72 6f 70 65 72 74 69 65 73 20 65 76 | .want.to.add.these.properties.ev |
| 85c0 | 65 6e 20 69 66 20 77 65 20 63 61 6e 27 74 20 6d 6f 64 69 66 79 20 74 61 62 6c 65 0a 20 20 20 20 | en.if.we.can't.modify.table..... |
| 85e0 | 3b 3b 20 6d 65 74 61 64 61 74 61 2c 20 73 69 6e 63 65 20 61 20 75 73 65 72 20 6d 69 67 68 74 20 | ;;.metadata,.since.a.user.might. |
| 8600 | 62 65 20 61 62 6c 65 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 74 68 65 69 72 0a 20 20 20 20 3b | be.able.to.configure.their.....; |
| 8620 | 3b 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 55 49 20 77 69 74 68 20 61 20 63 75 73 74 6f 6d 20 73 6f | ;.completion.UI.with.a.custom.so |
| 8640 | 72 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 77 6f 75 6c 64 20 75 73 65 0a 20 20 | rting.function.that.would.use... |
| 8660 | 20 20 3b 3b 20 74 68 69 73 20 69 6e 66 6f 2e 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 54 68 | ..;;.this.info......;;.....;;.Th |
| 8680 | 65 72 65 20 69 73 20 61 20 71 75 65 73 74 69 6f 6e 20 6f 66 20 68 6f 77 20 74 6f 20 68 61 6e 64 | ere.is.a.question.of.how.to.hand |
| 86a0 | 6c 65 20 70 72 65 66 69 78 65 73 20 66 6f 72 20 69 64 65 6e 74 69 66 79 69 6e 67 0a 20 20 20 20 | le.prefixes.for.identifying..... |
| 86c0 | 3b 3b 20 66 75 6c 6c 79 20 6d 61 74 63 68 65 64 20 63 61 6e 64 69 64 61 74 65 73 2e 20 50 72 65 | ;;.fully.matched.candidates..Pre |
| 86e0 | 66 69 78 65 73 20 61 72 65 20 75 73 65 64 20 69 6e 3a 0a 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b | fixes.are.used.in:.....;;.....;; |
| 8700 | 20 2d 20 60 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 27 2c 20 61 | .-.`completing-read-multiple',.a |
| 8720 | 73 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 20 68 61 76 65 0a 20 20 20 20 3b | s.the.candidates.that.have.....; |
| 8740 | 3b 20 20 20 61 6c 72 65 61 64 79 20 62 65 65 6e 20 73 65 6c 65 63 74 65 64 0a 20 20 20 20 3b 3b | ;...already.been.selected.....;; |
| 8760 | 0a 20 20 20 20 3b 3b 20 2d 20 66 69 6c 65 2d 6e 61 6d 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 2c 20 | .....;;.-.file-name.completion,. |
| 8780 | 61 73 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 70 72 65 63 65 65 64 69 6e 67 20 74 68 65 20 | as.the.directory.preceeding.the. |
| 87a0 | 66 69 6c 65 0a 20 20 20 20 3b 3b 20 20 20 6e 61 6d 65 2c 20 74 68 6f 75 67 68 20 74 68 69 73 20 | file.....;;...name,.though.this. |
| 87c0 | 73 65 65 6d 73 20 74 6f 20 6f 6e 6c 79 20 68 61 70 70 65 6e 20 77 68 65 6e 20 74 68 65 72 65 20 | seems.to.only.happen.when.there. |
| 87e0 | 69 73 20 6e 6f 0a 20 20 20 20 3b 3b 20 20 20 6d 61 74 63 68 20 69 6e 20 73 6f 6d 65 20 55 49 73 | is.no.....;;...match.in.some.UIs |
| 8800 | 20 28 49 63 6f 6d 70 6c 65 74 65 2c 20 62 75 74 20 6e 6f 74 20 53 65 6c 65 63 74 72 75 6d 29 0a | .(Icomplete,.but.not.Selectrum). |
| 8820 | 20 20 20 20 3b 3b 0a 20 20 20 20 3b 3b 20 49 74 20 6d 69 67 68 74 20 74 75 72 6e 20 6f 75 74 20 | ....;;.....;;.It.might.turn.out. |
| 8840 | 74 68 61 74 20 66 6f 72 20 66 69 6c 65 20 6e 61 6d 65 73 20 77 65 20 6e 65 65 64 20 74 6f 20 61 | that.for.file.names.we.need.to.a |
| 8860 | 64 6a 75 73 74 20 74 68 65 0a 20 20 20 20 3b 3b 20 72 65 67 65 78 70 73 20 74 6f 20 62 65 20 22 | djust.the.....;;.regexps.to.be." |
| 8880 | 5c 28 3f 3a 51 55 4f 54 45 44 2d 50 52 45 46 49 58 5c 29 4d 45 54 48 4f 44 2d 52 45 47 45 58 50 | \(?:QUOTED-PREFIX\)METHOD-REGEXP |
| 88a0 | 22 2c 20 62 75 74 20 74 68 69 73 0a 20 20 20 20 3b 3b 20 69 73 6e 27 74 20 65 76 69 64 65 6e 74 | ",.but.this.....;;.isn't.evident |
| 88c0 | 20 79 65 74 2e 20 57 65 20 6a 75 73 74 20 64 6f 20 74 68 65 20 62 65 6c 6f 77 20 74 6f 20 62 65 | .yet..We.just.do.the.below.to.be |
| 88e0 | 20 70 72 6f 61 63 74 69 76 65 2e 0a 20 20 20 20 28 63 6c 2d 66 6c 65 74 20 28 28 6d 61 79 62 65 | .proactive......(cl-flet.((maybe |
| 8900 | 2d 61 64 64 2d 70 72 65 66 69 78 20 28 72 65 67 65 78 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 | -add-prefix.(regexps)........... |
| 8920 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 | ......................(if.(and.( |
| 8940 | 6e 6f 74 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 70 72 65 66 69 78 29 29 0a 20 20 20 | not.(string-empty-p.prefix)).... |
| 8960 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 8980 | 20 20 20 20 20 20 6d 69 6e 69 62 75 66 66 65 72 2d 63 6f 6d 70 6c 65 74 69 6e 67 2d 66 69 6c 65 | ......minibuffer-completing-file |
| 89a0 | 2d 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 20 20 20 20 20 | -name).......................... |
| 89c0 | 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 72 65 67 65 78 70 20 69 | ...........(cl-loop.for.regexp.i |
| 89e0 | 6e 20 72 65 67 65 78 70 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | n.regexps....................... |
| 8a00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 | .......................collect.( |
| 8a20 | 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | concat.......................... |
| 8a40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c | ............................."\\ |
| 8a60 | 28 3f 3a 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | (?:"............................ |
| 8a80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 | ...........................(rege |
| 8aa0 | 78 70 2d 71 75 6f 74 65 20 70 72 65 66 69 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | xp-quote.prefix)................ |
| 8ac0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 8ae0 | 20 20 20 20 20 20 20 22 5c 5c 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ......."\\)".................... |
| 8b00 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 8b20 | 20 20 20 72 65 67 65 78 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ...regexp))..................... |
| 8b40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 67 65 78 70 73 29 29 29 0a 20 20 20 20 20 20 28 | ..............regexps))).......( |
| 8b60 | 70 72 65 73 63 69 65 6e 74 2d 2d 61 64 64 2d 73 6f 72 74 2d 69 6e 66 6f 0a 20 20 20 20 20 20 20 | prescient--add-sort-info........ |
| 8b80 | 28 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 70 72 65 66 69 78 20 63 61 6e 64 69 64 61 74 | (all-completions.prefix.candidat |
| 8ba0 | 65 73 20 70 72 65 64 29 0a 20 20 20 20 20 20 20 3a 70 72 65 73 63 69 65 6e 74 2d 6d 61 74 63 68 | es.pred)........:prescient-match |
| 8bc0 | 2d 72 65 67 65 78 70 73 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 67 65 78 70 2d 6c 69 73 74 0a | -regexps.completion-regexp-list. |
| 8be0 | 20 20 20 20 20 20 20 3a 70 72 65 73 63 69 65 6e 74 2d 61 6c 6c 2d 72 65 67 65 78 70 73 20 28 6d | .......:prescient-all-regexps.(m |
| 8c00 | 61 79 62 65 2d 61 64 64 2d 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | aybe-add-prefix................. |
| 8c20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 | ...............(prescient-filter |
| 8c40 | 2d 72 65 67 65 78 70 73 20 70 61 74 74 65 72 6e 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 20 | -regexps.pattern.nil.t))........ |
| 8c60 | 3a 70 72 65 73 63 69 65 6e 74 2d 69 67 6e 6f 72 65 2d 63 61 73 65 20 63 6f 6d 70 6c 65 74 69 6f | :prescient-ignore-case.completio |
| 8c80 | 6e 2d 69 67 6e 6f 72 65 2d 63 61 73 65 0a 20 20 20 20 20 20 20 3a 70 72 65 73 63 69 65 6e 74 2d | n-ignore-case........:prescient- |
| 8ca0 | 71 75 65 72 79 20 71 75 65 72 79 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 70 72 65 73 63 | query.query))))..(defmacro.presc |
| 8cc0 | 69 65 6e 74 2d 2d 73 6f 72 74 2d 63 6f 6d 70 61 72 65 20 28 29 0a 20 20 22 48 61 63 6b 20 75 73 | ient--sort-compare.()..."Hack.us |
| 8ce0 | 65 64 20 74 6f 20 63 61 75 73 65 20 74 68 65 20 62 79 74 65 2d 63 6f 6d 70 69 6c 65 72 20 74 6f | ed.to.cause.the.byte-compiler.to |
| 8d00 | 20 70 72 6f 64 75 63 65 20 66 61 73 74 65 72 20 63 6f 64 65 2e 0a 4e 6f 74 65 20 74 68 61 74 20 | .produce.faster.code..Note.that. |
| 8d20 | 74 68 69 73 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20 75 73 65 64 20 77 69 74 68 20 73 65 76 | this.macro.must.be.used.with.sev |
| 8d40 | 65 72 61 6c 20 76 61 72 69 61 62 6c 65 73 20 69 6e 0a 6c 65 78 69 63 61 6c 20 73 63 6f 70 65 2e | eral.variables.in.lexical.scope. |
| 8d60 | 22 0a 20 20 60 28 70 72 6f 67 6e 0a 20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 31 20 28 67 65 74 | "...`(progn......(let*.((p1.(get |
| 8d80 | 68 61 73 68 20 63 31 20 68 69 73 74 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 | hash.c1.hist.len)).............( |
| 8da0 | 70 32 20 28 67 65 74 68 61 73 68 20 63 32 20 68 69 73 74 20 6c 65 6e 29 29 29 0a 20 20 20 20 20 | p2.(gethash.c2.hist.len)))...... |
| 8dc0 | 20 20 28 6f 72 20 28 3c 20 70 31 20 70 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 | ..(or.(<.p1.p2)............(and. |
| 8de0 | 28 65 71 20 70 31 20 70 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a | (eq.p1.p2).................(let* |
| 8e00 | 20 28 28 66 31 20 28 67 65 74 68 61 73 68 20 63 31 20 66 72 65 71 20 30 29 29 0a 20 20 20 20 20 | .((f1.(gethash.c1.freq.0))...... |
| 8e20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 32 20 28 67 65 74 68 61 73 68 20 63 | ..................(f2.(gethash.c |
| 8e40 | 32 20 66 72 65 71 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f | 2.freq.0)))...................(o |
| 8e60 | 72 20 28 3e 20 66 31 20 66 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | r.(>.f1.f2)..................... |
| 8e80 | 20 20 28 61 6e 64 20 28 65 71 20 66 31 20 66 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ..(and.(eq.f1.f2)............... |
| 8ea0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 74 69 65 62 72 65 61 6b 65 72 0a 20 20 20 20 | .............(if.tiebreaker..... |
| 8ec0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 66 | ...........................(<.(f |
| 8ee0 | 75 6e 63 61 6c 6c 20 74 69 65 62 72 65 61 6b 65 72 20 63 31 20 63 32 29 20 30 29 0a 20 20 20 20 | uncall.tiebreaker.c1.c2).0)..... |
| 8f00 | 20 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 6e 64 0a 20 20 | .........................(and... |
| 8f20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 65 6e 2d | ............................len- |
| 8f40 | 65 6e 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | enable.......................... |
| 8f60 | 20 20 20 20 20 28 3c 20 28 6c 65 6e 67 74 68 20 63 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .....(<.(length.c1)............. |
| 8f80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 63 32 29 | .....................(length.c2) |
| 8fa0 | 29 29 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 73 6f | )))))))))))..(defun.prescient-so |
| 8fc0 | 72 74 2d 63 6f 6d 70 61 72 65 20 28 63 31 20 63 32 29 0a 20 20 22 43 6f 6d 70 61 72 65 20 63 61 | rt-compare.(c1.c2)..."Compare.ca |
| 8fe0 | 6e 64 69 64 61 74 65 73 20 43 31 20 61 6e 64 20 43 32 20 62 79 20 75 73 61 67 65 20 61 6e 64 20 | ndidates.C1.and.C2.by.usage.and. |
| 9000 | 6c 65 6e 67 74 68 2e 0a 0a 49 66 20 60 70 72 65 73 63 69 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d | length...If.`prescient-persist-m |
| 9020 | 6f 64 65 27 20 69 73 20 65 6e 61 62 6c 65 64 2c 20 74 68 65 6e 20 65 6e 73 75 72 65 20 74 68 61 | ode'.is.enabled,.then.ensure.tha |
| 9040 | 74 20 75 73 61 67 65 0a 64 61 74 61 20 68 61 73 20 62 65 65 6e 20 6c 6f 61 64 65 64 20 66 72 6f | t.usage.data.has.been.loaded.fro |
| 9060 | 6d 20 60 70 72 65 73 63 69 65 6e 74 2d 73 61 76 65 2d 66 69 6c 65 27 20 62 65 66 6f 72 65 20 63 | m.`prescient-save-file'.before.c |
| 9080 | 6f 6d 70 61 72 69 6e 67 2e 0a 4c 6f 61 64 69 6e 67 20 77 69 6c 6c 20 6f 6e 6c 79 20 62 65 20 61 | omparing..Loading.will.only.be.a |
| 90a0 | 74 74 65 6d 70 74 65 64 20 6f 6e 63 65 2c 20 6e 6f 74 20 62 65 66 6f 72 65 20 65 76 65 72 79 0a | ttempted.once,.not.before.every. |
| 90c0 | 63 6f 6d 70 61 72 69 73 6f 6e 2e 0a 0a 49 66 20 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d | comparison...If.`prescient-sort- |
| 90e0 | 6c 65 6e 67 74 68 2d 65 6e 61 62 6c 65 27 20 69 73 20 6e 69 6c 2c 20 74 68 65 6e 20 64 6f 20 6e | length-enable'.is.nil,.then.do.n |
| 9100 | 6f 74 20 73 6f 72 74 20 62 79 0a 6c 65 6e 67 74 68 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 | ot.sort.by.length."...(when.(and |
| 9120 | 20 70 72 65 73 63 69 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 20 28 6e 6f 74 20 70 72 65 | .prescient-persist-mode.(not.pre |
| 9140 | 73 63 69 65 6e 74 2d 2d 63 61 63 68 65 2d 6c 6f 61 64 65 64 29 29 0a 20 20 20 20 28 70 72 65 73 | scient--cache-loaded)).....(pres |
| 9160 | 63 69 65 6e 74 2d 2d 6c 6f 61 64 29 29 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 20 70 72 65 73 | cient--load))...(let.((hist.pres |
| 9180 | 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 28 6c 65 6e 20 70 72 65 | cient--history).........(len.pre |
| 91a0 | 73 63 69 65 6e 74 2d 68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 28 | scient-history-length).........( |
| 91c0 | 66 72 65 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 29 0a 20 20 20 20 20 | freq.prescient--frequency)...... |
| 91e0 | 20 20 20 28 6c 65 6e 2d 65 6e 61 62 6c 65 20 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 6c 65 | ...(len-enable.prescient-sort-le |
| 9200 | 6e 67 74 68 2d 65 6e 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 28 74 69 65 62 72 65 61 6b 65 72 | ngth-enable).........(tiebreaker |
| 9220 | 20 70 72 65 73 63 69 65 6e 74 2d 74 69 65 62 72 65 61 6b 65 72 29 29 0a 20 20 20 20 28 70 72 65 | .prescient-tiebreaker)).....(pre |
| 9240 | 73 63 69 65 6e 74 2d 2d 73 6f 72 74 2d 63 6f 6d 70 61 72 65 29 29 29 0a 0a 28 64 65 66 76 61 72 | scient--sort-compare)))..(defvar |
| 9260 | 20 70 72 65 73 63 69 65 6e 74 2d 71 75 65 72 79 20 6e 69 6c 0a 20 20 22 54 68 65 20 6f 72 69 67 | .prescient-query.nil..."The.orig |
| 9280 | 69 6e 61 6c 20 71 75 65 72 79 20 66 72 6f 6d 20 74 68 65 20 75 73 65 72 2c 20 69 66 20 61 76 61 | inal.query.from.the.user,.if.ava |
| 92a0 | 69 6c 61 62 6c 65 2e 0a 59 6f 75 20 63 61 6e 20 75 73 65 20 74 68 69 73 20 69 6e 20 79 6f 75 72 | ilable..You.can.use.this.in.your |
| 92c0 | 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 60 70 72 65 73 63 69 65 6e 74 2d 74 69 | .implementation.of.`prescient-ti |
| 92e0 | 65 62 72 65 61 6b 65 72 27 0a 74 6f 20 73 6f 72 74 20 63 61 6e 64 69 64 61 74 65 73 20 64 65 70 | ebreaker'.to.sort.candidates.dep |
| 9300 | 65 6e 64 69 6e 67 20 6f 6e 20 74 68 65 20 75 73 65 72 27 73 20 71 75 65 72 79 2e 20 54 68 69 73 | ending.on.the.user's.query..This |
| 9320 | 20 6d 69 67 68 74 20 62 65 0a 6e 69 6c 20 69 66 20 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 | .might.be.nil.if.`prescient-sort |
| 9340 | 2d 63 6f 6d 70 61 72 65 27 20 69 73 20 69 6e 76 6f 6b 65 64 20 64 69 72 65 63 74 6c 79 2c 20 6f | -compare'.is.invoked.directly,.o |
| 9360 | 72 20 69 66 0a 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 27 20 69 73 20 69 6e 76 6f 6b 65 64 | r.if.`prescient-sort'.is.invoked |
| 9380 | 20 77 69 74 68 6f 75 74 20 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 27 20 68 61 76 69 | .without.`prescient-filter'.havi |
| 93a0 | 6e 67 0a 62 65 65 6e 20 72 75 6e 20 66 69 72 73 74 2c 20 73 6f 20 79 6f 75 20 73 68 6f 75 6c 64 | ng.been.run.first,.so.you.should |
| 93c0 | 20 68 61 6e 64 6c 65 20 74 68 61 74 20 63 61 73 65 20 74 6f 6f 2e 22 29 0a 0a 28 64 65 66 75 6e | .handle.that.case.too.")..(defun |
| 93e0 | 20 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 20 28 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 22 | .prescient-sort.(candidates)..." |
| 9400 | 53 6f 72 74 20 43 41 4e 44 49 44 41 54 45 53 20 75 73 69 6e 67 20 66 72 65 71 75 65 6e 63 79 20 | Sort.CANDIDATES.using.frequency. |
| 9420 | 64 61 74 61 2e 0a 52 65 74 75 72 6e 20 74 68 65 20 73 6f 72 74 65 64 20 6c 69 73 74 2e 20 54 68 | data..Return.the.sorted.list..Th |
| 9440 | 65 20 6f 72 69 67 69 6e 61 6c 20 69 73 20 6d 6f 64 69 66 69 65 64 20 64 65 73 74 72 75 63 74 69 | e.original.is.modified.destructi |
| 9460 | 76 65 6c 79 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 60 70 | vely...See.also.the.functions.`p |
| 9480 | 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 | rescient-sort-full-matches-first |
| 94a0 | 27 20 61 6e 64 0a 60 70 72 65 73 63 69 65 6e 74 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 6f 72 74 | '.and.`prescient-completion-sort |
| 94c0 | 27 2e 20 42 6f 74 68 20 61 72 65 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 75 73 65 64 20 61 66 74 | '..Both.are.meant.to.be.used.aft |
| 94e0 | 65 72 0a 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 27 2e 22 0a 20 20 28 77 68 65 6e 20 | er.`prescient-filter'."...(when. |
| 9500 | 28 61 6e 64 20 70 72 65 73 63 69 65 6e 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 20 28 6e 6f 74 | (and.prescient-persist-mode.(not |
| 9520 | 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 61 63 68 65 2d 6c 6f 61 64 65 64 29 29 0a 20 20 20 20 28 | .prescient--cache-loaded)).....( |
| 9540 | 70 72 65 73 63 69 65 6e 74 2d 2d 6c 6f 61 64 29 29 0a 20 20 3b 3b 20 50 65 72 66 6f 72 6d 61 6e | prescient--load))...;;.Performan |
| 9560 | 63 65 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 72 65 76 65 61 6c 65 64 20 74 68 61 74 20 72 65 | ce.optimization.revealed.that.re |
| 9580 | 61 64 69 6e 67 20 64 79 6e 61 6d 69 63 20 76 61 72 69 61 62 6c 65 73 0a 20 20 3b 3b 20 6d 75 6c | ading.dynamic.variables...;;.mul |
| 95a0 | 74 69 70 6c 65 20 74 69 6d 65 73 20 77 61 73 20 61 20 62 6f 74 74 6c 65 6e 65 63 6b 20 28 79 65 | tiple.times.was.a.bottleneck.(ye |
| 95c0 | 73 2c 20 72 65 61 6c 6c 79 29 2c 20 61 6e 64 20 62 79 20 72 65 61 64 69 6e 67 0a 20 20 3b 3b 20 | s,.really),.and.by.reading...;;. |
| 95e0 | 74 68 65 6d 20 69 6e 74 6f 20 6c 65 78 69 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 77 68 69 63 | them.into.lexical.variables.whic |
| 9600 | 68 20 61 72 65 20 6d 75 63 68 20 66 61 73 74 65 72 20 74 6f 20 61 63 63 65 73 73 2c 20 77 65 0a | h.are.much.faster.to.access,.we. |
| 9620 | 20 20 3b 3b 20 69 6d 70 72 6f 76 65 20 74 68 65 20 73 70 65 65 64 20 6f 66 20 60 70 72 65 73 63 | ..;;.improve.the.speed.of.`presc |
| 9640 | 69 65 6e 74 2d 73 6f 72 74 27 20 6f 6e 20 6c 61 72 67 65 20 63 61 6e 64 69 64 61 74 65 20 6c 69 | ient-sort'.on.large.candidate.li |
| 9660 | 73 74 73 20 62 79 0a 20 20 3b 3b 20 32 78 2e 0a 20 20 28 6c 65 74 20 28 28 68 69 73 74 20 70 72 | sts.by...;;.2x....(let.((hist.pr |
| 9680 | 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 28 6c 65 6e 20 70 | escient--history).........(len.p |
| 96a0 | 72 65 73 63 69 65 6e 74 2d 68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 | rescient-history-length)........ |
| 96c0 | 20 28 66 72 65 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 29 0a 20 20 20 | .(freq.prescient--frequency).... |
| 96e0 | 20 20 20 20 20 28 6c 65 6e 2d 65 6e 61 62 6c 65 20 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d | .....(len-enable.prescient-sort- |
| 9700 | 6c 65 6e 67 74 68 2d 65 6e 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 28 74 69 65 62 72 65 61 6b | length-enable).........(tiebreak |
| 9720 | 65 72 20 70 72 65 73 63 69 65 6e 74 2d 74 69 65 62 72 65 61 6b 65 72 29 0a 20 20 20 20 20 20 20 | er.prescient-tiebreaker)........ |
| 9740 | 20 28 70 72 65 73 63 69 65 6e 74 2d 71 75 65 72 79 20 28 70 6c 69 73 74 2d 67 65 74 20 28 70 72 | .(prescient-query.(plist-get.(pr |
| 9760 | 65 73 63 69 65 6e 74 2d 2d 67 65 74 2d 73 6f 72 74 2d 69 6e 66 6f 20 63 61 6e 64 69 64 61 74 65 | escient--get-sort-info.candidate |
| 9780 | 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | s).............................. |
| 97a0 | 20 20 20 20 20 20 20 3a 70 72 65 73 63 69 65 6e 74 2d 71 75 65 72 79 29 29 29 0a 20 20 20 20 28 | .......:prescient-query))).....( |
| 97c0 | 73 6f 72 74 0a 20 20 20 20 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 28 6c 61 6d 62 64 | sort......candidates......(lambd |
| 97e0 | 61 20 28 63 31 20 63 32 29 0a 20 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 2d 73 6f 72 | a.(c1.c2)........(prescient--sor |
| 9800 | 74 2d 63 6f 6d 70 61 72 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 | t-compare)))))..(defun.prescient |
| 9820 | 2d 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 20 28 63 61 6e 64 69 64 | -sort-full-matches-first.(candid |
| 9840 | 61 74 65 73 20 72 65 67 65 78 70 73 20 69 67 6e 6f 72 65 2d 63 61 73 65 29 0a 20 20 22 53 6f 72 | ates.regexps.ignore-case)..."Sor |
| 9860 | 74 20 66 75 6c 6c 79 20 6d 61 74 63 68 65 64 20 73 74 72 69 6e 67 73 20 69 6e 20 43 41 4e 44 49 | t.fully.matched.strings.in.CANDI |
| 9880 | 44 41 54 45 53 20 62 65 66 6f 72 65 20 6f 74 68 65 72 20 63 61 6e 64 69 64 61 74 65 73 2e 0a 0a | DATES.before.other.candidates... |
| 98a0 | 52 45 47 45 58 50 53 20 61 72 65 20 74 68 65 20 72 65 67 65 78 70 73 20 70 72 65 73 63 69 65 6e | REGEXPS.are.the.regexps.prescien |
| 98c0 | 74 2e 65 6c 20 75 73 65 64 20 74 6f 20 66 69 6c 74 65 72 20 74 68 65 20 63 61 6e 64 69 64 61 74 | t.el.used.to.filter.the.candidat |
| 98e0 | 65 73 2e 0a 49 47 4e 4f 52 45 2d 43 41 53 45 20 69 73 20 77 68 65 74 68 65 72 20 63 61 73 65 20 | es..IGNORE-CASE.is.whether.case. |
| 9900 | 77 61 73 20 69 67 6e 6f 72 65 64 20 77 68 65 6e 20 66 69 6c 74 65 72 69 6e 67 2e 0a 0a 41 73 20 | was.ignored.when.filtering...As. |
| 9920 | 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6d 65 61 6e 74 20 74 6f 20 62 65 20 75 73 65 | this.function.is.meant.to.be.use |
| 9940 | 64 20 61 66 74 65 72 20 66 69 6c 74 65 72 69 6e 67 2c 20 61 6c 6c 20 6f 66 20 74 68 65 0a 63 61 | d.after.filtering,.all.of.the.ca |
| 9960 | 6e 64 69 64 61 74 65 73 20 69 6e 20 43 41 4e 44 49 44 41 54 45 53 20 73 68 6f 75 6c 64 20 6d 61 | ndidates.in.CANDIDATES.should.ma |
| 9980 | 74 63 68 20 61 6c 6c 20 6f 66 20 74 68 65 20 72 65 67 65 78 70 73 20 69 6e 0a 52 45 47 45 58 50 | tch.all.of.the.regexps.in.REGEXP |
| 99a0 | 53 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 63 61 6e 64 69 64 61 74 65 73 | S."...(cond....((null.candidates |
| 99c0 | 29 20 6e 69 6c 29 0a 20 20 20 28 28 6e 75 6c 6c 20 72 65 67 65 78 70 73 29 20 63 61 6e 64 69 64 | ).nil)....((null.regexps).candid |
| 99e0 | 61 74 65 73 29 0a 20 20 20 28 74 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 | ates)....(t.(save-match-data.... |
| 9a00 | 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 77 69 74 68 20 70 72 69 6f | .....(cl-loop..........with.prio |
| 9a20 | 72 69 74 69 7a 65 64 2d 63 61 6e 64 69 64 61 74 65 73 20 3d 20 6e 69 6c 0a 20 20 20 20 20 20 20 | ritized-candidates.=.nil........ |
| 9a40 | 20 20 61 6e 64 20 72 65 6d 61 69 6e 69 6e 67 2d 63 61 6e 64 69 64 61 74 65 73 20 3d 20 6e 69 6c | ..and.remaining-candidates.=.nil |
| 9a60 | 0a 20 20 20 20 20 20 20 20 20 61 6e 64 20 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 3d | ..........and.case-fold-search.= |
| 9a80 | 20 69 67 6e 6f 72 65 2d 63 61 73 65 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 63 61 6e 64 20 69 | .ignore-case..........for.cand.i |
| 9aa0 | 6e 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6c 2d 6c 6f 6f | n.candidates..........if.(cl-loo |
| 9ac0 | 70 20 66 6f 72 20 72 65 67 65 78 70 20 69 6e 20 72 65 67 65 78 70 73 0a 20 20 20 20 20 20 20 20 | p.for.regexp.in.regexps......... |
| 9ae0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 72 65 69 73 20 28 61 6e 64 20 28 73 74 72 69 6e | .............thereis.(and.(strin |
| 9b00 | 67 2d 6d 61 74 63 68 20 72 65 67 65 78 70 20 63 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 | g-match.regexp.cand)............ |
| 9b20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 6c 65 6e 67 74 | .......................(=.(lengt |
| 9b40 | 68 20 63 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | h.cand)......................... |
| 9b60 | 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 0a 20 20 | .............(-.(match-end.0)... |
| 9b80 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ................................ |
| 9ba0 | 20 20 20 20 20 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 29 29 29 0a 20 20 | ......(match-beginning.0)))))... |
| 9bc0 | 20 20 20 20 20 20 20 64 6f 20 28 70 75 73 68 20 63 61 6e 64 20 70 72 69 6f 72 69 74 69 7a 65 64 | .......do.(push.cand.prioritized |
| 9be0 | 2d 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 64 6f 20 28 70 | -candidates)..........else.do.(p |
| 9c00 | 75 73 68 20 63 61 6e 64 20 72 65 6d 61 69 6e 69 6e 67 2d 63 61 6e 64 69 64 61 74 65 73 29 0a 20 | ush.cand.remaining-candidates).. |
| 9c20 | 20 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 28 6e 63 6f 6e 63 20 28 6e | ........finally.return.(nconc.(n |
| 9c40 | 72 65 76 65 72 73 65 20 70 72 69 6f 72 69 74 69 7a 65 64 2d 63 61 6e 64 69 64 61 74 65 73 29 0a | reverse.prioritized-candidates). |
| 9c60 | 20 20 20 20 20 20 20 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 | ...............................( |
| 9c80 | 6e 72 65 76 65 72 73 65 20 72 65 6d 61 69 6e 69 6e 67 2d 63 61 6e 64 69 64 61 74 65 73 29 29 29 | nreverse.remaining-candidates))) |
| 9ca0 | 29 29 29 29 0a 0a 3b 3b 3b 3b 20 43 61 6e 64 69 64 61 74 65 20 73 65 6c 65 63 74 69 6f 6e 0a 0a | ))))..;;;;.Candidate.selection.. |
| 9cc0 | 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 72 65 6d 65 6d 62 65 72 20 28 63 61 6e 64 69 | (defun.prescient-remember.(candi |
| 9ce0 | 64 61 74 65 29 0a 20 20 22 52 65 63 6f 72 64 20 43 41 4e 44 49 44 41 54 45 20 69 6e 20 60 70 72 | date)..."Record.CANDIDATE.in.`pr |
| 9d00 | 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 27 20 61 6e 64 20 60 70 72 65 73 63 69 65 6e 74 | escient--history'.and.`prescient |
| 9d20 | 2d 2d 66 72 65 71 75 65 6e 63 79 27 2e 22 0a 20 20 28 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 | --frequency'."...(setq.candidate |
| 9d40 | 20 28 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 63 61 6e 64 69 64 | .(substring-no-properties.candid |
| 9d60 | 61 74 65 29 29 0a 20 20 3b 3b 20 41 64 64 20 74 6f 20 60 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 | ate))...;;.Add.to.`prescient--hi |
| 9d80 | 73 74 6f 72 79 27 2e 0a 20 20 28 6c 65 74 20 28 28 74 68 69 73 2d 70 6f 73 20 28 67 65 74 68 61 | story'....(let.((this-pos.(getha |
| 9da0 | 73 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6e 64 69 64 61 74 65 20 | sh....................candidate. |
| 9dc0 | 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 20 70 72 65 73 63 69 65 6e 74 2d 68 69 73 | prescient--history.prescient-his |
| 9de0 | 74 6f 72 79 2d 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 63 61 6e | tory-length))).....;;.If.the.can |
| 9e00 | 64 69 64 61 74 65 20 77 61 73 20 61 6c 72 65 61 64 79 20 69 6e 20 74 68 65 20 68 69 73 74 6f 72 | didate.was.already.in.the.histor |
| 9e20 | 79 2c 20 74 68 65 6e 20 70 72 65 70 61 72 65 20 66 6f 72 0a 20 20 20 20 3b 3b 20 6d 6f 76 69 6e | y,.then.prepare.for.....;;.movin |
| 9e40 | 67 20 69 74 20 74 6f 20 74 68 65 20 66 72 6f 6e 74 20 62 79 20 69 6e 63 72 65 6d 65 6e 74 69 6e | g.it.to.the.front.by.incrementin |
| 9e60 | 67 20 74 68 65 20 69 6e 64 69 63 65 73 20 6f 66 20 6f 74 68 65 72 0a 20 20 20 20 3b 3b 20 63 61 | g.the.indices.of.other.....;;.ca |
| 9e80 | 6e 64 69 64 61 74 65 73 2e 0a 20 20 20 20 28 6d 61 70 68 61 73 68 0a 20 20 20 20 20 28 6c 61 6d | ndidates......(maphash......(lam |
| 9ea0 | 62 64 61 20 28 6f 74 68 65 72 2d 63 61 6e 64 69 64 61 74 65 20 6f 74 68 65 72 2d 70 6f 73 29 0a | bda.(other-candidate.other-pos). |
| 9ec0 | 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 6f | .......(cond.........;;.If.the.o |
| 9ee0 | 74 68 65 72 20 63 61 6e 64 69 64 61 74 65 20 63 61 6d 65 20 65 61 72 6c 69 65 72 20 69 6e 20 74 | ther.candidate.came.earlier.in.t |
| 9f00 | 68 65 20 68 69 73 74 6f 72 79 2c 20 74 68 65 6e 0a 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 63 72 | he.history,.then.........;;.incr |
| 9f20 | 65 6d 65 6e 74 20 69 74 73 20 69 6e 64 65 78 2e 0a 20 20 20 20 20 20 20 20 28 28 3c 20 6f 74 68 | ement.its.index..........((<.oth |
| 9f40 | 65 72 2d 70 6f 73 20 74 68 69 73 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 | er-pos.this-pos)..........(putha |
| 9f60 | 73 68 20 6f 74 68 65 72 2d 63 61 6e 64 69 64 61 74 65 20 28 31 2b 20 6f 74 68 65 72 2d 70 6f 73 | sh.other-candidate.(1+.other-pos |
| 9f80 | 29 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 3b | ).prescient--history)).........; |
| 9fa0 | 3b 20 45 6c 73 65 2c 20 69 66 20 69 74 27 73 20 61 6c 72 65 61 64 79 20 70 61 73 74 20 74 68 65 | ;.Else,.if.it's.already.past.the |
| 9fc0 | 20 65 6e 64 20 6f 66 20 74 68 65 20 68 69 73 74 6f 72 79 20 28 74 68 69 73 0a 20 20 20 20 20 20 | .end.of.the.history.(this....... |
| 9fe0 | 20 20 3b 3b 20 77 6f 75 6c 64 20 68 61 70 70 65 6e 20 69 66 20 60 70 72 65 73 63 69 65 6e 74 2d | ..;;.would.happen.if.`prescient- |
| a000 | 68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 68 27 20 77 65 72 65 20 64 65 63 72 65 61 73 65 64 29 2c | history-length'.were.decreased), |
| a020 | 0a 20 20 20 20 20 20 20 20 3b 3b 20 6f 72 20 69 66 20 69 74 27 73 20 61 74 20 74 68 65 20 76 65 | .........;;.or.if.it's.at.the.ve |
| a040 | 72 79 20 65 6e 64 20 61 6e 64 20 61 20 6e 65 77 20 63 61 6e 64 69 64 61 74 65 20 77 61 73 20 61 | ry.end.and.a.new.candidate.was.a |
| a060 | 64 64 65 64 2c 0a 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 6e 20 72 65 6d 6f 76 65 20 69 74 20 | dded,.........;;.then.remove.it. |
| a080 | 66 72 6f 6d 20 74 68 65 20 68 69 73 74 6f 72 79 2e 0a 20 20 20 20 20 20 20 20 28 28 6f 72 20 28 | from.the.history..........((or.( |
| a0a0 | 3e 3d 20 6f 74 68 65 72 2d 70 6f 73 20 70 72 65 73 63 69 65 6e 74 2d 68 69 73 74 6f 72 79 2d 6c | >=.other-pos.prescient-history-l |
| a0c0 | 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3d 20 6f 74 68 65 | ength)..............(and.(=.othe |
| a0e0 | 72 2d 70 6f 73 20 28 31 2d 20 70 72 65 73 63 69 65 6e 74 2d 68 69 73 74 6f 72 79 2d 6c 65 6e 67 | r-pos.(1-.prescient-history-leng |
| a100 | 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 74 68 69 73 2d 70 | th))...................(=.this-p |
| a120 | 6f 73 20 70 72 65 73 63 69 65 6e 74 2d 68 69 73 74 6f 72 79 2d 6c 65 6e 67 74 68 29 29 29 0a 20 | os.prescient-history-length))).. |
| a140 | 20 20 20 20 20 20 20 20 28 72 65 6d 68 61 73 68 20 6f 74 68 65 72 2d 63 61 6e 64 69 64 61 74 65 | ........(remhash.other-candidate |
| a160 | 20 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 29 29 29 29 0a 20 20 20 20 20 70 72 65 | .prescient--history))))......pre |
| a180 | 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 3b 3b 20 4e 6f 77 20 61 64 64 20 | scient--history).....;;.Now.add. |
| a1a0 | 74 68 65 20 6e 65 77 20 63 61 6e 64 69 64 61 74 65 20 74 6f 20 74 68 65 20 62 65 67 69 6e 6e 69 | the.new.candidate.to.the.beginni |
| a1c0 | 6e 67 2e 0a 20 20 20 20 28 70 75 74 68 61 73 68 20 63 61 6e 64 69 64 61 74 65 20 30 20 70 72 65 | ng......(puthash.candidate.0.pre |
| a1e0 | 73 63 69 65 6e 74 2d 2d 68 69 73 74 6f 72 79 29 29 0a 20 20 3b 3b 20 41 64 64 20 74 6f 20 60 70 | scient--history))...;;.Add.to.`p |
| a200 | 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 27 2e 0a 20 20 28 70 75 74 68 61 73 68 | rescient--frequency'....(puthash |
| a220 | 20 63 61 6e 64 69 64 61 74 65 20 28 31 2b 20 28 67 65 74 68 61 73 68 20 63 61 6e 64 69 64 61 74 | .candidate.(1+.(gethash.candidat |
| a240 | 65 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 20 30 29 29 0a 20 20 20 20 20 | e.prescient--frequency.0))...... |
| a260 | 20 20 20 20 20 20 70 72 65 73 63 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 29 0a 20 20 3b 3b | ......prescient--frequency)...;; |
| a280 | 20 52 65 6d 6f 76 65 20 6f 6c 64 20 65 6e 74 72 69 65 73 20 66 72 6f 6d 20 60 70 72 65 73 63 69 | .Remove.old.entries.from.`presci |
| a2a0 | 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 27 2e 0a 20 20 28 6d 61 70 68 61 73 68 20 28 6c 61 6d | ent--frequency'....(maphash.(lam |
| a2c0 | 62 64 61 20 28 63 61 6e 64 20 6f 6c 64 2d 66 72 65 71 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 | bda.(cand.old-freq)............. |
| a2e0 | 20 28 6c 65 74 20 28 28 6e 65 77 2d 66 72 65 71 20 28 2a 20 6f 6c 64 2d 66 72 65 71 20 70 72 65 | .(let.((new-freq.(*.old-freq.pre |
| a300 | 73 63 69 65 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 64 65 63 61 79 29 29 29 0a 20 20 20 20 20 20 | scient-frequency-decay)))....... |
| a320 | 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 6e 65 77 2d 66 72 65 71 20 70 72 65 73 63 69 65 | .........(if.(<.new-freq.prescie |
| a340 | 6e 74 2d 66 72 65 71 75 65 6e 63 79 2d 74 68 72 65 73 68 6f 6c 64 29 0a 20 20 20 20 20 20 20 20 | nt-frequency-threshold)......... |
| a360 | 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 68 61 73 68 20 63 61 6e 64 20 70 72 65 73 63 69 65 | ...........(remhash.cand.prescie |
| a380 | 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | nt--frequency).................. |
| a3a0 | 28 70 75 74 68 61 73 68 20 63 61 6e 64 20 6e 65 77 2d 66 72 65 71 20 70 72 65 73 63 69 65 6e 74 | (puthash.cand.new-freq.prescient |
| a3c0 | 2d 2d 66 72 65 71 75 65 6e 63 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 70 72 65 73 63 | --frequency))))............presc |
| a3e0 | 69 65 6e 74 2d 2d 66 72 65 71 75 65 6e 63 79 29 0a 20 20 3b 3b 20 55 70 64 61 74 65 20 73 65 72 | ient--frequency)...;;.Update.ser |
| a400 | 69 61 6c 20 6e 75 6d 62 65 72 2e 0a 20 20 28 63 6c 2d 69 6e 63 66 20 70 72 65 73 63 69 65 6e 74 | ial.number....(cl-incf.prescient |
| a420 | 2d 2d 73 65 72 69 61 6c 2d 6e 75 6d 62 65 72 29 0a 20 20 3b 3b 20 53 61 76 65 20 74 68 65 20 63 | --serial-number)...;;.Save.the.c |
| a440 | 61 63 68 65 20 64 61 74 61 2e 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 70 72 65 73 63 69 65 6e | ache.data....(when.(and.prescien |
| a460 | 74 2d 70 65 72 73 69 73 74 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 73 | t-persist-mode..............pres |
| a480 | 63 69 65 6e 74 2d 61 67 67 72 65 73 73 69 76 65 2d 66 69 6c 65 2d 73 61 76 65 29 0a 20 20 20 20 | cient-aggressive-file-save)..... |
| a4a0 | 28 70 72 65 73 63 69 65 6e 74 2d 2d 73 61 76 65 29 29 29 0a 0a 3b 3b 3b 3b 20 43 6f 6d 70 6c 65 | (prescient--save)))..;;;;.Comple |
| a4c0 | 74 69 6f 6e 20 53 74 79 6c 65 0a 0a 3b 3b 20 54 68 69 73 20 73 65 63 74 69 6f 6e 20 63 6f 6e 74 | tion.Style..;;.This.section.cont |
| a4e0 | 61 69 6e 73 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 20 | ains.functions.for.implementing. |
| a500 | 74 68 65 20 60 70 72 65 73 63 69 65 6e 74 27 0a 3b 3b 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 | the.`prescient'.;;.completion.st |
| a520 | 79 6c 65 2e 20 54 68 69 73 20 66 65 61 74 75 72 65 20 69 73 20 62 61 73 65 64 20 6f 6e 20 4f 72 | yle..This.feature.is.based.on.Or |
| a540 | 64 65 72 6c 65 73 73 2e 65 6c 2e 0a 3b 3b 20 53 65 65 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 | derless.el..;;.See:.https://gith |
| a560 | 75 62 2e 63 6f 6d 2f 6f 61 6e 74 6f 6c 69 6e 2f 6f 72 64 65 72 6c 65 73 73 0a 0a 28 64 65 66 76 | ub.com/oantolin/orderless..(defv |
| a580 | 61 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 29 0a 28 64 65 66 76 61 | ar.completion-lazy-hilit).(defva |
| a5a0 | 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 29 0a 0a 3b 3b 3b | r.completion-lazy-hilit-fn)..;;; |
| a5c0 | 3b 3b 20 53 6f 72 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f | ;;.Sorting.functions..;;;###auto |
| a5e0 | 6c 6f 61 64 0a 28 63 6c 2d 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 63 6f 6d 70 6c 65 74 | load.(cl-defun.prescient-complet |
| a600 | 69 6f 6e 2d 73 6f 72 74 20 28 63 61 6e 64 69 64 61 74 65 73 29 0a 20 20 22 53 6f 72 74 20 74 68 | ion-sort.(candidates)..."Sort.th |
| a620 | 65 20 66 69 6c 74 65 72 65 64 20 43 41 4e 44 49 44 41 54 45 53 2e 0a 0a 54 68 69 73 20 66 75 6e | e.filtered.CANDIDATES...This.fun |
| a640 | 63 74 69 6f 6e 20 77 69 6c 6c 20 61 6c 77 61 79 73 20 73 6f 72 74 20 63 61 6e 64 69 64 61 74 65 | ction.will.always.sort.candidate |
| a660 | 73 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 60 70 72 65 73 63 69 65 6e 74 2d | s.using.the.function.`prescient- |
| a680 | 73 6f 72 74 27 2e 20 57 68 65 6e 20 43 41 4e 44 49 44 41 54 45 53 20 68 61 73 20 62 65 65 6e 20 | sort'..When.CANDIDATES.has.been. |
| a6a0 | 66 69 6c 74 65 72 65 64 20 75 73 69 6e 67 20 74 68 65 0a 60 70 72 65 73 63 69 65 6e 74 27 20 63 | filtered.using.the.`prescient'.c |
| a6c0 | 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 2c 20 69 74 20 63 61 6e 20 6f 70 74 69 6f 6e 61 6c | ompletion.style,.it.can.optional |
| a6e0 | 6c 79 20 61 6c 73 6f 20 73 6f 72 74 20 74 68 65 6d 0a 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 | ly.also.sort.them.using.the.func |
| a700 | 74 69 6f 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 | tion.`prescient-sort-full-matche |
| a720 | 73 2d 66 69 72 73 74 27 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 20 | s-first'...This.function.checks. |
| a740 | 66 6f 72 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 60 70 72 65 73 63 69 65 6e 74 2d 72 65 | for.the.properties.`prescient-re |
| a760 | 67 65 78 70 73 27 20 61 6e 64 0a 60 70 72 65 73 63 69 65 6e 74 2d 69 67 6e 6f 72 65 2d 63 61 73 | gexps'.and.`prescient-ignore-cas |
| a780 | 65 27 20 6f 6e 20 61 6e 79 20 63 61 6e 64 69 64 61 74 65 20 69 6e 20 43 41 4e 44 49 44 41 54 45 | e'.on.any.candidate.in.CANDIDATE |
| a7a0 | 53 20 28 74 68 6f 75 67 68 0a 74 68 65 79 20 61 72 65 20 73 74 6f 72 65 64 20 6f 6e 20 74 68 65 | S.(though.they.are.stored.on.the |
| a7c0 | 20 66 69 72 73 74 20 63 61 6e 64 69 64 61 74 65 20 72 65 74 75 72 6e 65 64 20 62 79 0a 60 70 72 | .first.candidate.returned.by.`pr |
| a7e0 | 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 27 29 2e 20 54 68 65 73 65 20 70 72 6f 70 65 72 74 69 | escient-filter')..These.properti |
| a800 | 65 73 20 61 72 65 20 75 73 65 64 20 66 6f 72 20 69 6d 70 6c 65 6d 65 6e 74 69 6e 67 0a 74 68 65 | es.are.used.for.implementing.the |
| a820 | 20 75 73 65 72 20 6f 70 74 69 6f 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 66 75 6c | .user.option.`prescient-sort-ful |
| a840 | 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 27 2e 22 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 63 | l-matches-first'."...(if.(null.c |
| a860 | 61 6e 64 69 64 61 74 65 73 29 0a 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 3b 3b 20 60 70 72 65 | andidates).......nil.....;;.`pre |
| a880 | 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 27 20 61 64 64 73 20 74 68 65 20 70 72 6f 70 65 72 74 69 | scient-filter'.adds.the.properti |
| a8a0 | 65 73 20 6e 65 65 64 65 64 20 66 6f 72 0a 20 20 20 20 3b 3b 20 60 70 72 65 73 63 69 65 6e 74 2d | es.needed.for.....;;.`prescient- |
| a8c0 | 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 27 20 74 6f 20 74 68 65 20 | sort-full-matches-first'.to.the. |
| a8e0 | 66 69 72 73 74 20 63 61 6e 64 69 64 61 74 65 20 69 6e 0a 20 20 20 20 3b 3b 20 74 68 65 20 6c 69 | first.candidate.in.....;;.the.li |
| a900 | 73 74 20 69 74 20 72 65 74 75 72 6e 73 2e 20 49 66 20 77 65 27 72 65 20 72 65 63 65 69 76 69 6e | st.it.returns..If.we're.receivin |
| a920 | 67 20 74 68 65 20 66 69 6c 74 65 72 65 64 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 3b 3b | g.the.filtered.candidates.....;; |
| a940 | 20 64 69 72 65 63 74 6c 79 20 28 73 6f 2c 20 6e 6f 74 20 69 6e 20 60 63 6f 6d 70 61 6e 79 2d 70 | .directly.(so,.not.in.`company-p |
| a960 | 72 65 73 63 69 65 6e 74 2d 74 72 61 6e 73 66 6f 72 6d 65 72 27 29 20 74 68 65 6e 20 77 65 0a 20 | rescient-transformer').then.we.. |
| a980 | 20 20 20 3b 3b 20 73 68 6f 75 6c 64 20 62 65 20 63 68 65 63 6b 69 6e 67 20 66 6f 72 20 74 68 65 | ...;;.should.be.checking.for.the |
| a9a0 | 6d 20 62 65 66 6f 72 65 20 72 75 6e 6e 69 6e 67 20 60 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 | m.before.running.`prescient-sort |
| a9c0 | 27 2c 0a 20 20 20 20 3b 3b 20 77 68 69 63 68 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f | ',.....;;.which.destructively.mo |
| a9e0 | 64 69 66 69 65 73 20 43 41 4e 44 49 44 41 54 45 53 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 | difies.CANDIDATES......(let.((re |
| aa00 | 67 65 78 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 63 61 73 65 29 29 0a | gexps)...........(ignore-case)). |
| aa20 | 20 20 20 20 20 20 28 77 68 65 6e 20 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 2d 66 75 6c 6c 2d | ......(when.prescient-sort-full- |
| aa40 | 6d 61 74 63 68 65 73 2d 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 6f | matches-first.........(let.((pro |
| aa60 | 70 73 20 28 70 72 65 73 63 69 65 6e 74 2d 2d 67 65 74 2d 73 6f 72 74 2d 69 6e 66 6f 20 63 61 6e | ps.(prescient--get-sort-info.can |
| aa80 | 64 69 64 61 74 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 67 65 78 | didates)))...........(setq.regex |
| aaa0 | 70 73 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 73 20 3a 70 72 65 73 63 69 65 6e 74 2d 61 | ps.(plist-get.props.:prescient-a |
| aac0 | 6c 6c 2d 72 65 67 65 78 70 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 67 6e 6f | ll-regexps).................igno |
| aae0 | 72 65 2d 63 61 73 65 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 73 20 3a 70 72 65 73 63 69 | re-case.(plist-get.props.:presci |
| ab00 | 65 6e 74 2d 69 67 6e 6f 72 65 2d 63 61 73 65 29 29 29 29 0a 20 20 20 20 20 20 28 74 68 72 65 61 | ent-ignore-case)))).......(threa |
| ab20 | 64 2d 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 63 61 6e 64 69 64 61 74 65 73 0a 20 20 20 20 20 | d-first.........candidates...... |
| ab40 | 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 73 6f 72 74 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 49 | ...(prescient-sort).........;;.I |
| ab60 | 66 20 60 72 65 67 65 78 70 73 27 20 69 73 20 6e 69 6c 2c 20 74 68 69 73 20 6a 75 73 74 20 72 65 | f.`regexps'.is.nil,.this.just.re |
| ab80 | 74 75 72 6e 73 20 74 68 65 20 69 6e 70 75 74 2e 0a 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 | turns.the.input..........(presci |
| aba0 | 65 6e 74 2d 73 6f 72 74 2d 66 75 6c 6c 2d 6d 61 74 63 68 65 73 2d 66 69 72 73 74 20 72 65 67 65 | ent-sort-full-matches-first.rege |
| abc0 | 78 70 73 20 69 67 6e 6f 72 65 2d 63 61 73 65 29 29 29 29 29 0a 0a 3b 3b 3b 3b 3b 20 46 69 6c 74 | xps.ignore-case)))))..;;;;;.Filt |
| abe0 | 65 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a | ering.functions..;;;###autoload. |
| ac00 | 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 | (defun.prescient-all-completions |
| ac20 | 20 28 73 74 72 69 6e 67 20 74 61 62 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 20 5f 70 | .(string.table.&optional.pred._p |
| ac40 | 6f 69 6e 74 29 0a 20 20 22 60 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 27 20 75 73 69 6e 67 | oint)..."`all-completions'.using |
| ac60 | 20 70 72 65 73 63 69 65 6e 74 2e 65 6c 2e 0a 0a 53 54 52 49 4e 47 20 69 73 20 74 68 65 20 69 6e | .prescient.el...STRING.is.the.in |
| ac80 | 70 75 74 2e 20 54 41 42 4c 45 20 69 73 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 74 61 62 6c 65 | put..TABLE.is.a.completion.table |
| aca0 | 2e 20 50 52 45 44 20 69 73 20 61 0a 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 66 75 72 74 68 | ..PRED.is.a.predicate.that.furth |
| acc0 | 65 72 20 72 65 73 74 72 69 63 74 73 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 63 61 6e 64 69 64 | er.restricts.the.matching.candid |
| ace0 | 61 74 65 73 2e 20 50 4f 49 4e 54 0a 77 6f 75 6c 64 20 62 65 20 74 68 65 20 63 75 72 72 65 6e 74 | ates..POINT.would.be.the.current |
| ad00 | 20 70 6f 69 6e 74 2c 20 62 75 74 20 69 74 20 69 73 20 6e 6f 74 20 75 73 65 64 20 62 79 20 74 68 | .point,.but.it.is.not.used.by.th |
| ad20 | 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0a 53 65 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 60 61 | is.function..See.the.function.`a |
| ad40 | 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 | ll-completions'.for.more.informa |
| ad60 | 74 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6c | tion...This.function.returns.a.l |
| ad80 | 69 73 74 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 77 68 6f 73 65 20 66 69 6e 61 6c 20 60 | ist.of.completions.whose.final.` |
| ada0 | 63 64 72 27 20 69 73 0a 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 74 68 65 20 70 72 65 66 69 78 | cdr'.is.the.length.of.the.prefix |
| adc0 | 20 73 74 72 69 6e 67 20 75 73 65 64 20 66 6f 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 28 77 68 69 | .string.used.for.completion.(whi |
| ade0 | 63 68 20 6d 69 67 68 74 0a 62 65 20 61 6c 6c 20 6f 72 20 6a 75 73 74 20 70 61 72 74 20 6f 66 20 | ch.might.be.all.or.just.part.of. |
| ae00 | 53 54 52 49 4e 47 29 2e 0a 0a 57 68 65 6e 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d | STRING)...When.`completion-lazy- |
| ae20 | 68 69 6c 69 74 27 20 69 73 20 62 6f 75 6e 64 20 61 6e 64 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 | hilit'.is.bound.and.non-nil,.the |
| ae40 | 6e 20 74 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 60 63 6f 6d 70 6c 65 74 69 6f 6e | n.this.function.sets.`completion |
| ae60 | 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 27 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 69 66 0a 60 | -lazy-hilit-fn'..Otherwise,.if.` |
| ae80 | 70 72 65 73 63 69 65 6e 74 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 68 69 67 68 6c 69 67 68 74 2d 6d | prescient-completion-highlight-m |
| aea0 | 61 74 63 68 65 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 69 73 0a 66 75 6e 63 74 69 6f | atches'.is.non-nil,.this.functio |
| aec0 | 6e 20 70 72 6f 70 65 72 74 69 7a 65 73 20 61 6c 6c 20 6f 66 20 74 68 65 20 72 65 74 75 72 6e 65 | n.propertizes.all.of.the.returne |
| aee0 | 64 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 75 73 69 6e 67 20 74 68 65 0a 66 61 63 65 20 60 70 72 | d.completions.using.the.face.`pr |
| af00 | 65 73 63 69 65 6e 74 2d 70 72 69 6d 61 72 79 2d 68 69 67 68 6c 69 67 68 74 27 20 61 6e 64 20 74 | escient-primary-highlight'.and.t |
| af20 | 68 65 20 66 61 63 65 0a 60 70 72 65 73 63 69 65 6e 74 2d 73 65 63 6f 6e 64 61 72 79 2d 68 69 67 | he.face.`prescient-secondary-hig |
| af40 | 68 6c 69 67 68 74 27 2e 22 0a 20 20 3b 3b 20 60 70 6f 69 6e 74 27 20 69 73 20 61 20 72 65 71 75 | hlight'."...;;.`point'.is.a.requ |
| af60 | 69 72 65 64 20 61 72 67 75 6d 65 6e 74 2c 20 62 75 74 20 75 6e 6e 65 65 64 65 64 20 68 65 72 65 | ired.argument,.but.unneeded.here |
| af80 | 2e 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 28 70 72 65 | ....(when-let.((completions.(pre |
| afa0 | 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 20 73 74 72 69 6e 67 20 74 61 62 6c 65 20 70 72 65 64 29 | scient-filter.string.table.pred) |
| afc0 | 29 29 0a 20 20 20 20 28 70 63 61 73 65 2d 6c 65 74 2a 20 28 28 60 28 2c 70 72 65 66 69 78 20 2e | )).....(pcase-let*.((`(,prefix.. |
| afe0 | 20 2c 70 61 74 74 65 72 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 | .,pattern)...................(pr |
| b000 | 65 73 63 69 65 6e 74 2d 2d 70 72 65 66 69 78 2d 61 6e 64 2d 70 61 74 74 65 72 6e 20 73 74 72 69 | escient--prefix-and-pattern.stri |
| b020 | 6e 67 20 74 61 62 6c 65 20 70 72 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ng.table.pred))................. |
| b040 | 20 28 6d 61 79 62 65 2d 68 69 67 68 6c 69 67 68 74 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 | .(maybe-highlighted............. |
| b060 | 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | ......(cond....................( |
| b080 | 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a | (bound-and-true-p.completion-laz |
| b0a0 | 79 2d 68 69 6c 69 74 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 | y-hilit).....................(se |
| b0c0 | 74 71 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 0a 20 20 20 20 | tq.completion-lazy-hilit-fn..... |
| b0e0 | 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 2d 70 61 72 | ......................(apply-par |
| b100 | 74 69 61 6c 6c 79 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 | tially.......................... |
| b120 | 20 20 23 27 70 72 65 73 63 69 65 6e 74 2d 2d 68 69 67 68 6c 69 67 68 74 2d 63 61 6e 64 69 64 61 | ..#'prescient--highlight-candida |
| b140 | 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 | te............................(p |
| b160 | 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 72 65 67 65 78 70 73 20 70 61 74 74 65 72 6e 20 | rescient-filter-regexps.pattern. |
| b180 | 27 77 69 74 68 2d 67 72 6f 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | 'with-group).................... |
| b1a0 | 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 69 67 6e 6f 72 65 2d 63 61 73 65 2d 70 | ........(prescient-ignore-case-p |
| b1c0 | 20 70 61 74 74 65 72 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .pattern)))..................... |
| b1e0 | 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | completions).................... |
| b200 | 28 70 72 65 73 63 69 65 6e 74 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 68 69 67 68 6c 69 67 68 74 2d | (prescient-completion-highlight- |
| b220 | 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 | matches.....................(pre |
| b240 | 73 63 69 65 6e 74 2d 2d 68 69 67 68 6c 69 67 68 74 2d 63 61 6e 64 69 64 61 74 65 73 20 70 61 74 | scient--highlight-candidates.pat |
| b260 | 74 65 72 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | tern.completions)).............. |
| b280 | 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d | ......(t.....................com |
| b2a0 | 70 6c 65 74 69 6f 6e 73 29 29 29 29 0a 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 6d 61 79 62 65 2d | pletions)))).......(nconc.maybe- |
| b2c0 | 68 69 67 68 6c 69 67 68 74 65 64 20 28 6c 65 6e 67 74 68 20 70 72 65 66 69 78 29 29 29 29 29 0a | highlighted.(length.prefix))))). |
| b2e0 | 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 | .;;;###autoload.(defun.prescient |
| b300 | 2d 74 72 79 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 28 73 74 72 69 6e 67 20 74 61 62 6c 65 20 26 6f | -try-completion.(string.table.&o |
| b320 | 70 74 69 6f 6e 61 6c 20 70 72 65 64 20 70 6f 69 6e 74 29 0a 20 20 22 60 74 72 79 2d 63 6f 6d 70 | ptional.pred.point)..."`try-comp |
| b340 | 6c 65 74 69 6f 6e 27 20 75 73 69 6e 67 20 50 72 65 73 63 69 65 6e 74 2e 0a 0a 53 54 52 49 4e 47 | letion'.using.Prescient...STRING |
| b360 | 20 69 73 20 74 68 65 20 69 6e 70 75 74 2e 20 20 54 41 42 4c 45 20 69 73 20 61 20 63 6f 6d 70 6c | .is.the.input...TABLE.is.a.compl |
| b380 | 65 74 69 6f 6e 20 74 61 62 6c 65 2e 20 20 50 52 45 44 20 69 73 20 61 0a 70 72 65 64 69 63 61 74 | etion.table...PRED.is.a.predicat |
| b3a0 | 65 2e 20 20 50 4f 49 4e 54 20 69 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 2e 20 | e...POINT.is.the.current.point.. |
| b3c0 | 20 53 65 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 60 74 72 79 2d 63 6f 6d 70 6c 65 74 69 6f | .See.the.function.`try-completio |
| b3e0 | 6e 27 20 66 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 49 66 20 74 68 65 | n'.for.more.information...If.the |
| b400 | 72 65 20 61 72 65 20 6e 6f 20 6d 61 74 63 68 65 73 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e | re.are.no.matches,.this.function |
| b420 | 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 20 49 66 20 74 68 65 20 6f 6e 6c 79 0a 6d 61 74 63 68 20 | .returns.nil..If.the.only.match. |
| b440 | 65 71 75 61 6c 73 20 53 54 52 49 4e 47 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 | equals.STRING,.this.function.ret |
| b460 | 75 72 6e 73 20 74 2e 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 0a 66 75 6e 63 74 69 6f 6e | urns.t..Otherwise,.this.function |
| b480 | 20 72 65 74 75 72 6e 73 20 61 20 63 6f 6e 73 20 63 65 6c 6c 20 6f 66 20 74 68 65 20 63 6f 6d 70 | .returns.a.cons.cell.of.the.comp |
| b4a0 | 6c 65 74 65 64 20 73 74 72 69 6e 67 20 61 6e 64 20 69 74 73 0a 6c 65 6e 67 74 68 2e 20 49 66 20 | leted.string.and.its.length..If. |
| b4c0 | 74 68 65 72 65 20 69 73 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 6d 61 74 63 68 2c 20 74 68 | there.is.more.than.one.match,.th |
| b4e0 | 61 74 20 63 6f 6d 70 6c 65 74 65 64 20 73 74 72 69 6e 67 20 69 73 0a 61 63 74 75 61 6c 6c 79 20 | at.completed.string.is.actually. |
| b500 | 6a 75 73 74 20 74 68 65 20 69 6e 70 75 74 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 6e 6f | just.the.input,.in.which.case.no |
| b520 | 74 68 69 6e 67 20 68 61 70 70 65 6e 73 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 63 6f | thing.happens."...(when-let.((co |
| b540 | 6d 70 6c 65 74 69 6f 6e 73 20 28 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 20 73 74 72 69 | mpletions.(prescient-filter.stri |
| b560 | 6e 67 20 74 61 62 6c 65 20 70 72 65 64 29 29 29 0a 20 20 20 20 28 69 66 20 28 63 64 72 20 63 6f | ng.table.pred))).....(if.(cdr.co |
| b580 | 6d 70 6c 65 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 73 74 72 69 6e 67 20 | mpletions).........(cons.string. |
| b5a0 | 70 6f 69 6e 74 29 20 3b 20 4d 75 6c 74 69 70 6c 65 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20 20 | point).;.Multiple.matches....... |
| b5c0 | 28 6c 65 74 20 28 28 6d 61 74 63 68 20 28 63 61 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 29 29 29 | (let.((match.(car.completions))) |
| b5e0 | 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 73 74 72 69 6e 67 20 6d 61 74 63 68 | .........(if.(equal.string.match |
| b600 | 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 74 20 3b 20 4c 69 74 65 72 61 6c 20 69 6e 70 75 74 20 | ).............t.;.Literal.input. |
| b620 | 65 71 75 61 6c 73 20 6f 6e 6c 79 20 6d 61 74 63 68 2e 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | equals.only.match............;;. |
| b640 | 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 74 68 65 20 6d 61 74 63 68 20 61 6e 64 20 | Otherwise,.return.the.match.and. |
| b660 | 6d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 69 74 73 20 65 6e 64 2e 0a 20 20 20 20 20 20 20 20 20 | move.point.to.its.end........... |
| b680 | 20 28 6c 65 74 2a 20 28 28 70 72 65 66 69 78 20 28 63 61 72 20 28 70 72 65 73 63 69 65 6e 74 2d | .(let*.((prefix.(car.(prescient- |
| b6a0 | 2d 70 72 65 66 69 78 2d 61 6e 64 2d 70 61 74 74 65 72 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 | -prefix-and-pattern............. |
| b6c0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 20 74 61 62 6c 65 20 | ...................string.table. |
| b6e0 | 70 72 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6c 6c 20 28 | pred)))..................(full.( |
| b700 | 63 6f 6e 63 61 74 20 70 72 65 66 69 78 20 6d 61 74 63 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 | concat.prefix.match))).......... |
| b720 | 20 20 20 28 63 6f 6e 73 20 66 75 6c 6c 20 28 6c 65 6e 67 74 68 20 66 75 6c 6c 29 29 29 29 29 29 | ...(cons.full.(length.full)))))) |
| b740 | 29 29 0a 0a 3b 3b 3b 3b 3b 20 53 65 74 74 69 6e 67 20 75 70 20 74 68 65 20 63 6f 6d 70 6c 65 74 | ))..;;;;;.Setting.up.the.complet |
| b760 | 69 6f 6e 20 73 74 79 6c 65 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 61 64 64 2d 74 | ion.style..;;;###autoload.(add-t |
| b780 | 6f 2d 6c 69 73 74 0a 20 27 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 73 2d 61 6c 69 73 74 | o-list..'completion-styles-alist |
| b7a0 | 0a 20 27 28 20 70 72 65 73 63 69 65 6e 74 20 70 72 65 73 63 69 65 6e 74 2d 74 72 79 2d 63 6f 6d | ..'(.prescient.prescient-try-com |
| b7c0 | 70 6c 65 74 69 6f 6e 20 70 72 65 73 63 69 65 6e 74 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e | pletion.prescient-all-completion |
| b7e0 | 73 0a 20 20 20 20 22 46 69 6c 74 65 72 69 6e 67 20 75 73 69 6e 67 20 70 72 65 73 63 69 65 6e 74 | s....."Filtering.using.prescient |
| b800 | 2e 65 6c 2e 0a 46 6f 72 20 73 6f 72 74 69 6e 67 2c 20 73 65 65 20 74 68 65 20 66 75 6e 63 74 69 | .el..For.sorting,.see.the.functi |
| b820 | 6f 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 6f 72 74 27 2e 22 | on.`prescient-completion-sort'." |
| b840 | 29 29 0a 0a 3b 3b 3b 3b 3b 20 43 6f 6d 70 6f 6e 65 6e 74 20 66 75 6e 63 74 69 6f 6e 73 20 66 6f | ))..;;;;;.Component.functions.fo |
| b860 | 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 20 6d 69 6e 6f 72 20 6d 6f 64 65 73 0a 0a | r.completion-style.minor.modes.. |
| b880 | 3b 3b 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 69 | ;;.These.functions.are.used.to.i |
| b8a0 | 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 70 61 63 6b 61 67 65 | mplement.the.integration.package |
| b8c0 | 73 0a 3b 3b 20 66 6f 72 20 43 6f 72 66 75 20 61 6e 64 20 56 65 72 74 69 63 6f 2c 20 77 68 69 63 | s.;;.for.Corfu.and.Vertico,.whic |
| b8e0 | 68 20 75 73 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 73 2e 0a 0a 28 64 65 66 63 6f | h.use.completion.styles...(defco |
| b900 | 6e 73 74 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 63 6f 6d 6d | nst.prescient--completion-recomm |
| b920 | 65 6e 64 65 64 2d 73 74 79 6c 65 73 20 27 28 70 72 65 73 63 69 65 6e 74 20 62 61 73 69 63 29 0a | ended-styles.'(prescient.basic). |
| b940 | 20 20 22 52 65 63 6f 6d 6d 65 6e 64 65 64 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 73 74 79 6c 65 | .."Recommended.completions.style |
| b960 | 73 20 66 6f 72 20 75 73 69 6e 67 20 60 70 72 65 73 63 69 65 6e 74 27 2e 22 29 0a 0a 28 64 65 66 | s.for.using.`prescient'.")..(def |
| b980 | 63 6f 6e 73 74 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 63 6f | const.prescient--completion-reco |
| b9a0 | 6d 6d 65 6e 64 65 64 2d 6f 76 65 72 72 69 64 65 73 0a 20 20 27 28 3b 3b 20 49 6e 63 6c 75 64 65 | mmended-overrides...'(;;.Include |
| b9c0 | 20 60 70 61 72 74 69 61 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 27 20 74 6f 20 65 6e 61 62 6c 65 20 | .`partial-completion'.to.enable. |
| b9e0 | 77 69 6c 64 63 61 72 64 73 20 61 6e 64 0a 20 20 20 20 3b 3b 20 70 61 72 74 69 61 6c 20 70 61 74 | wildcards.and.....;;.partial.pat |
| ba00 | 68 73 2e 0a 20 20 20 20 28 66 69 6c 65 20 28 73 74 79 6c 65 73 20 62 61 73 69 63 20 70 61 72 74 | hs......(file.(styles.basic.part |
| ba20 | 69 61 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 29 29 0a 20 20 20 20 3b 3b 20 45 67 6c 6f 74 20 66 6f | ial-completion)).....;;.Eglot.fo |
| ba40 | 72 63 65 73 20 60 66 6c 65 78 27 20 62 79 20 64 65 66 61 75 6c 74 2e 0a 20 20 20 20 28 65 67 6c | rces.`flex'.by.default......(egl |
| ba60 | 6f 74 20 28 73 74 79 6c 65 73 20 70 72 65 73 63 69 65 6e 74 20 62 61 73 69 63 29 29 29 0a 20 20 | ot.(styles.prescient.basic)))... |
| ba80 | 22 52 65 63 6f 6d 6d 65 6e 64 65 64 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 | "Recommended.completion-category |
| baa0 | 20 6f 76 65 72 72 69 64 65 73 20 66 6f 72 20 75 73 69 6e 67 20 70 72 65 73 63 69 65 6e 74 2e 22 | .overrides.for.using.prescient." |
| bac0 | 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 | )..(defconst.prescient--completi |
| bae0 | 6f 6e 2d 73 65 74 74 69 6e 67 73 2d 76 61 72 73 0a 20 20 27 28 20 63 6f 6d 70 6c 65 74 69 6f 6e | on-settings-vars...'(.completion |
| bb00 | 2d 73 74 79 6c 65 73 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 | -styles.completion-category-over |
| bb20 | 72 69 64 65 73 0a 20 20 20 20 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 | rides......completion-category-d |
| bb40 | 65 66 61 75 6c 74 73 29 0a 20 20 22 56 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 61 72 65 20 63 | efaults)..."Variables.that.are.c |
| bb60 | 68 61 6e 67 65 64 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 66 69 6c 74 65 72 69 6e 67 2e 22 29 | hanged.to.configure.filtering.") |
| bb80 | 0a 0a 28 64 65 66 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d | ..(defvar.prescient--completion- |
| bba0 | 6f 6c 64 2d 73 74 79 6c 65 73 20 6e 69 6c 0a 20 20 22 50 72 65 76 69 6f 75 73 20 76 61 6c 75 65 | old-styles.nil..."Previous.value |
| bbc0 | 20 6f 66 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 73 27 2e 22 29 0a 0a 28 64 65 66 | .of.`completion-styles'.")..(def |
| bbe0 | 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 6f 76 | var.prescient--completion-old-ov |
| bc00 | 65 72 72 69 64 65 73 20 6e 69 6c 0a 20 20 22 50 72 65 76 69 6f 75 73 20 76 61 6c 75 65 20 6f 66 | errides.nil..."Previous.value.of |
| bc20 | 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 27 | .`completion-category-overrides' |
| bc40 | 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 | .")..(defvar.prescient--completi |
| bc60 | 6f 6e 2d 6f 6c 64 2d 64 65 66 61 75 6c 74 73 20 6e 69 6c 0a 20 20 22 50 72 65 76 69 6f 75 73 20 | on-old-defaults.nil..."Previous. |
| bc80 | 76 61 6c 75 65 20 6f 66 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 | value.of.`completion-category-de |
| bca0 | 66 61 75 6c 74 73 27 2e 22 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 65 73 63 69 65 6e 74 2d | faults'.")..(defconst.prescient- |
| bcc0 | 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 76 61 72 73 0a 20 20 27 28 20 70 72 65 73 63 69 | -completion-old-vars...'(.presci |
| bce0 | 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 73 74 79 6c 65 73 0a 20 20 20 20 20 | ent--completion-old-styles...... |
| bd00 | 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 6f 76 65 72 72 69 | prescient--completion-old-overri |
| bd20 | 64 65 73 0a 20 20 20 20 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f | des......prescient--completion-o |
| bd40 | 6c 64 2d 64 65 66 61 75 6c 74 73 29 0a 20 20 22 56 61 72 69 61 62 6c 65 73 20 75 73 65 64 20 74 | ld-defaults)..."Variables.used.t |
| bd60 | 6f 20 73 74 6f 72 65 20 6f 6c 64 20 73 65 74 74 69 6e 67 73 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 | o.store.old.settings.")..(cl-def |
| bd80 | 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 70 70 6c 79 2d 63 | un.prescient--completion-apply-c |
| bda0 | 6f 6d 70 6c 65 74 69 6f 6e 2d 73 65 74 74 69 6e 67 73 0a 20 20 20 20 28 26 6b 65 79 20 28 73 74 | ompletion-settings.....(&key.(st |
| bdc0 | 79 6c 65 73 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 63 6f 6d | yles.prescient--completion-recom |
| bde0 | 6d 65 6e 64 65 64 2d 73 74 79 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 72 69 | mended-styles)...........(overri |
| be00 | 64 65 73 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 63 6f 6d 6d | des.prescient--completion-recomm |
| be20 | 65 6e 64 65 64 2d 6f 76 65 72 72 69 64 65 73 29 29 0a 20 20 22 4d 6f 64 69 66 79 20 74 68 65 20 | ended-overrides))..."Modify.the. |
| be40 | 75 73 65 72 20 6f 70 74 69 6f 6e 73 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 53 54 59 | user.options.and.variables...STY |
| be60 | 4c 45 53 20 69 73 20 74 68 65 20 6e 65 77 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 | LES.is.the.new.`completion-style |
| be80 | 73 27 2e 20 4f 56 45 52 52 49 44 45 53 20 69 73 20 6e 65 77 0a 6f 76 65 72 72 69 64 65 73 20 66 | s'..OVERRIDES.is.new.overrides.f |
| bea0 | 6f 72 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 | or.`completion-category-override |
| bec0 | 73 27 2e 0a 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 66 61 75 6c 74 | s'..`completion-category-default |
| bee0 | 73 27 20 69 73 20 73 65 74 20 74 6f 20 6e 69 6c 2e 20 54 68 65 73 65 20 76 61 72 69 61 62 6c 65 | s'.is.set.to.nil..These.variable |
| bf00 | 73 0a 61 72 65 20 6c 69 73 74 65 64 20 69 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 | s.are.listed.in.`prescient--comp |
| bf20 | 6c 65 74 69 6f 6e 2d 73 65 74 74 69 6e 67 73 2d 76 61 72 73 27 2e 0a 0a 57 68 69 6c 65 20 74 68 | letion-settings-vars'...While.th |
| bf40 | 65 72 65 20 61 72 65 20 72 65 63 6f 6d 6d 65 6e 64 65 64 20 73 65 74 74 69 6e 67 73 2c 20 74 68 | ere.are.recommended.settings,.th |
| bf60 | 65 73 65 20 63 61 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 20 62 79 0a 75 73 65 72 20 6f 70 | ese.can.be.overridden.by.user.op |
| bf80 | 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 70 61 63 6b 61 67 65 73 2e | tions.in.the.extension.packages. |
| bfa0 | 22 0a 20 20 28 73 65 74 71 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 73 20 73 74 79 6c | "...(setq.completion-styles.styl |
| bfc0 | 65 73 0a 20 20 20 20 20 20 20 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 | es.........completion-category-d |
| bfe0 | 65 66 61 75 6c 74 73 20 6e 69 6c 29 0a 0a 20 20 28 63 6c 2d 73 79 6d 62 6f 6c 2d 6d 61 63 72 6f | efaults.nil)....(cl-symbol-macro |
| c000 | 6c 65 74 0a 20 20 20 20 20 20 28 28 63 61 74 65 67 6f 72 79 2d 73 65 74 74 69 6e 67 2d 6f 76 65 | let.......((category-setting-ove |
| c020 | 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 73 65 74 74 69 6e | rrides.........(alist-get.settin |
| c040 | 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 | g....................(alist-get. |
| c060 | 63 61 74 65 67 6f 72 79 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 | category.completion-category-ove |
| c080 | 72 72 69 64 65 73 29 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 63 61 74 | rrides)))).....(cl-loop.for.(cat |
| c0a0 | 65 67 6f 72 79 20 2e 20 6f 76 65 72 72 69 64 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 | egory...overrides).............. |
| c0c0 | 69 6e 20 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 63 6c | in.overrides..............do.(cl |
| c0e0 | 2d 6c 6f 6f 70 20 66 6f 72 20 28 73 65 74 74 69 6e 67 20 2e 20 76 61 6c 75 65 73 29 20 69 6e 20 | -loop.for.(setting...values).in. |
| c100 | 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | overrides....................... |
| c120 | 20 20 20 64 6f 20 28 73 65 74 66 20 63 61 74 65 67 6f 72 79 2d 73 65 74 74 69 6e 67 2d 6f 76 65 | ...do.(setf.category-setting-ove |
| c140 | 72 72 69 64 65 73 20 76 61 6c 75 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 | rrides.values)))))..(defun.presc |
| c160 | 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 61 76 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e | ient--completion-save-completion |
| c180 | 2d 73 65 74 74 69 6e 67 73 20 28 29 0a 20 20 22 53 61 76 65 20 74 68 65 20 6f 6c 64 20 63 6f 6d | -settings.()..."Save.the.old.com |
| c1a0 | 70 6c 65 74 69 6f 6e 20 66 69 6c 74 65 72 69 6e 67 20 73 65 74 74 69 6e 67 73 2e 0a 0a 56 61 6c | pletion.filtering.settings...Val |
| c1c0 | 75 65 73 20 61 72 65 20 73 61 76 65 64 20 69 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d | ues.are.saved.in.`prescient--com |
| c1e0 | 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 73 74 79 6c 65 73 27 2c 0a 60 70 72 65 73 63 69 65 6e 74 2d | pletion-old-styles',.`prescient- |
| c200 | 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 64 65 66 61 75 6c 74 73 27 2c 20 61 6e 64 0a 60 | -completion-old-defaults',.and.` |
| c220 | 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 6f 76 65 72 72 69 | prescient--completion-old-overri |
| c240 | 64 65 73 27 2c 20 77 68 69 63 68 20 61 72 65 20 6c 69 73 74 65 64 20 69 6e 0a 60 70 72 65 73 63 | des',.which.are.listed.in.`presc |
| c260 | 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 76 61 72 73 27 2e 22 0a 20 20 28 | ient--completion-old-vars'."...( |
| c280 | 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 73 | setq.prescient--completion-old-s |
| c2a0 | 74 79 6c 65 73 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 73 0a 20 20 20 20 20 20 20 20 | tyles.completion-styles......... |
| c2c0 | 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 64 65 66 61 75 6c | prescient--completion-old-defaul |
| c2e0 | 74 73 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 66 61 75 6c 74 73 29 | ts.completion-category-defaults) |
| c300 | 0a 0a 20 20 28 63 6c 2d 73 79 6d 62 6f 6c 2d 6d 61 63 72 6f 6c 65 74 0a 20 20 20 20 20 20 28 28 | ....(cl-symbol-macrolet.......(( |
| c320 | 63 61 74 65 67 6f 72 79 2d 73 65 74 74 69 6e 67 2d 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 | category-setting-overrides...... |
| c340 | 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 73 65 74 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 | ...(alist-get.setting........... |
| c360 | 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 63 61 74 65 67 6f 72 79 20 63 6f 6d | .........(alist-get.category.com |
| c380 | 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 29 29 29 29 0a 20 | pletion-category-overrides)))).. |
| c3a0 | 20 20 20 28 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f | ...(setq.prescient--completion-o |
| c3c0 | 6c 64 2d 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a | ld-overrides...........(cl-loop. |
| c3e0 | 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 63 61 74 65 67 6f 72 79 20 2e 20 6f 76 65 72 72 | ...........for.(category...overr |
| c400 | 69 64 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 69 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 | ides)............in.prescient--c |
| c420 | 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 63 6f 6d 6d 65 6e 64 65 64 2d 6f 76 65 72 72 69 64 65 73 0a | ompletion-recommended-overrides. |
| c440 | 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 60 28 | ...........collect............`( |
| c460 | 2c 63 61 74 65 67 6f 72 79 20 2c 40 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 20 20 | ,category.,@(cl-loop............ |
| c480 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 73 65 74 74 69 6e 67 20 2e 20 5f 29 | ...............for.(setting..._) |
| c4a0 | 20 69 6e 20 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | .in.overrides................... |
| c4c0 | 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ........collect................. |
| c4e0 | 20 20 20 20 20 20 20 20 20 20 60 28 2c 73 65 74 74 69 6e 67 20 2c 40 63 61 74 65 67 6f 72 79 2d | ..........`(,setting.,@category- |
| c500 | 73 65 74 74 69 6e 67 2d 6f 76 65 72 72 69 64 65 73 29 29 29 29 29 29 29 0a 0a 28 63 6c 2d 64 65 | setting-overrides)))))))..(cl-de |
| c520 | 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 73 74 6f 72 | fun.prescient--completion-restor |
| c540 | 65 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 65 74 74 69 6e 67 73 0a 20 20 20 20 28 26 6b 65 79 20 | e-completion-settings.....(&key. |
| c560 | 28 73 74 79 6c 65 73 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 | (styles.prescient--completion-re |
| c580 | 63 6f 6d 6d 65 6e 64 65 64 2d 73 74 79 6c 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 | commended-styles)...........(ove |
| c5a0 | 72 72 69 64 65 73 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 72 65 63 | rrides.prescient--completion-rec |
| c5c0 | 6f 6d 6d 65 6e 64 65 64 2d 6f 76 65 72 72 69 64 65 73 29 29 0a 20 20 22 52 65 73 74 6f 72 65 20 | ommended-overrides))..."Restore. |
| c5e0 | 74 68 65 20 6f 6c 64 20 73 65 74 74 69 6e 67 73 2e 0a 0a 53 54 59 4c 45 53 20 69 73 20 77 68 61 | the.old.settings...STYLES.is.wha |
| c600 | 74 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 73 27 20 77 61 73 20 63 68 61 6e 67 65 | t.`completion-styles'.was.change |
| c620 | 64 20 74 6f 2e 20 4f 56 45 52 52 49 44 45 53 20 61 72 65 0a 74 68 65 20 6f 76 65 72 72 69 64 65 | d.to..OVERRIDES.are.the.override |
| c640 | 73 20 74 68 61 74 20 77 65 72 65 20 63 68 61 6e 67 65 64 20 69 6e 20 60 63 6f 6d 70 6c 65 74 69 | s.that.were.changed.in.`completi |
| c660 | 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 27 2e 0a 0a 49 66 20 74 68 65 20 | on-category-overrides'...If.the. |
| c680 | 63 75 72 72 65 6e 74 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 73 65 74 74 69 6e 67 73 20 76 | current.values.of.the.settings.v |
| c6a0 | 61 72 69 61 62 6c 65 73 20 64 6f 20 6e 6f 74 20 6d 61 74 63 68 20 74 68 65 0a 63 68 61 6e 67 65 | ariables.do.not.match.the.change |
| c6c0 | 73 20 6d 61 64 65 20 62 79 20 60 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e | s.made.by.`prescient--completion |
| c6e0 | 2d 61 70 70 6c 79 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 65 74 74 69 6e 67 73 27 2c 0a 74 68 65 | -apply-completion-settings',.the |
| c700 | 6e 20 77 65 20 64 6f 6e 27 74 20 72 65 73 74 6f 72 65 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 | n.we.don't.restore.the.previous. |
| c720 | 76 61 6c 75 65 73 20 61 6e 64 20 69 6e 73 74 65 61 64 20 6f 6e 6c 79 20 74 72 79 20 74 6f 0a 72 | values.and.instead.only.try.to.r |
| c740 | 65 6d 6f 76 65 20 75 73 61 67 65 73 20 6f 66 20 74 68 65 20 60 70 72 65 73 63 69 65 6e 74 27 20 | emove.usages.of.the.`prescient'. |
| c760 | 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 2e 22 0a 20 20 3b 3b 20 54 72 79 20 74 6f 20 72 | completion.style."...;;.Try.to.r |
| c780 | 65 76 65 72 74 20 62 61 63 6b 20 74 6f 20 6f 6c 64 20 73 65 74 74 69 6e 67 73 2c 20 6f 72 20 61 | evert.back.to.old.settings,.or.a |
| c7a0 | 74 20 6c 65 61 73 74 20 6e 6f 74 20 75 73 65 20 74 68 65 0a 20 20 3b 3b 20 60 70 72 65 73 63 69 | t.least.not.use.the...;;.`presci |
| c7c0 | 65 6e 74 27 20 73 74 79 6c 65 2e 0a 20 20 28 69 66 20 28 65 71 75 61 6c 20 63 6f 6d 70 6c 65 74 | ent'.style....(if.(equal.complet |
| c7e0 | 69 6f 6e 2d 73 74 79 6c 65 73 20 73 74 79 6c 65 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 | ion-styles.styles).......(setq.c |
| c800 | 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 73 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 | ompletion-styles.prescient--comp |
| c820 | 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 73 74 79 6c 65 73 29 0a 20 20 20 20 28 63 6c 2d 63 61 6c 6c 66 | letion-old-styles).....(cl-callf |
| c840 | 32 20 72 65 6d 71 20 27 70 72 65 73 63 69 65 6e 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 | 2.remq.'prescient.completion-sty |
| c860 | 6c 65 73 29 29 0a 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 6b 65 79 20 2e 20 76 61 6c | les))....(cl-loop.for.(key...val |
| c880 | 29 20 69 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 64 | ).in.prescient--completion-old-d |
| c8a0 | 65 66 61 75 6c 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 75 6e 6c 65 73 73 20 28 61 6c 69 73 74 | efaults............unless.(alist |
| c8c0 | 2d 67 65 74 20 6b 65 79 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 66 | -get.key.completion-category-def |
| c8e0 | 61 75 6c 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 73 65 74 66 20 28 61 6c 69 73 | aults)............do.(setf.(alis |
| c900 | 74 2d 67 65 74 20 6b 65 79 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 | t-get.key.completion-category-de |
| c920 | 66 61 75 6c 74 73 29 20 76 61 6c 29 29 0a 0a 20 20 28 63 6c 2d 73 79 6d 62 6f 6c 2d 6d 61 63 72 | faults).val))....(cl-symbol-macr |
| c940 | 6f 6c 65 74 0a 20 20 20 20 20 20 28 28 63 61 74 65 67 6f 72 79 2d 73 65 74 74 69 6e 67 2d 6f 76 | olet.......((category-setting-ov |
| c960 | 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 0a 20 20 20 20 20 | errides.........(alist-get...... |
| c980 | 20 20 20 20 73 65 74 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 2d 67 65 74 20 | ....setting..........(alist-get. |
| c9a0 | 63 61 74 65 67 6f 72 79 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 | category.completion-category-ove |
| c9c0 | 72 72 69 64 65 73 29 29 29 29 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 3b 3b 20 | rrides)))).....(cl-loop......;;. |
| c9e0 | 54 68 65 73 65 20 74 77 6f 20 74 72 65 65 73 20 73 68 6f 75 6c 64 20 68 61 76 65 20 74 68 65 20 | These.two.trees.should.have.the. |
| ca00 | 73 61 6d 65 20 73 74 72 75 63 74 75 72 65 20 62 79 20 74 68 69 73 0a 20 20 20 20 20 3b 3b 20 70 | same.structure.by.this......;;.p |
| ca20 | 6f 69 6e 74 2e 20 57 65 20 77 61 6e 74 20 74 6f 20 74 72 79 20 74 6f 20 61 76 6f 69 64 20 75 6e | oint..We.want.to.try.to.avoid.un |
| ca40 | 64 6f 69 6e 67 20 61 6e 79 20 63 68 61 6e 67 65 73 20 74 68 61 74 20 77 65 72 65 0a 20 20 20 20 | doing.any.changes.that.were..... |
| ca60 | 20 3b 3b 20 6d 61 64 65 20 61 66 74 65 72 20 74 68 65 20 6d 6f 64 65 20 77 61 73 20 65 6e 61 62 | .;;.made.after.the.mode.was.enab |
| ca80 | 6c 65 64 2e 0a 20 20 20 20 20 66 6f 72 20 28 63 61 74 65 67 6f 72 79 20 2e 20 6e 65 77 2d 6f 76 | led.......for.(category...new-ov |
| caa0 | 65 72 72 69 64 65 73 29 0a 20 20 20 20 20 69 6e 20 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 | errides)......in.overrides...... |
| cac0 | 66 6f 72 20 28 5f 20 2e 20 6f 6c 64 2d 6f 76 65 72 72 69 64 65 73 29 0a 20 20 20 20 20 69 6e 20 | for.(_...old-overrides)......in. |
| cae0 | 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 6f 76 65 72 72 69 | prescient--completion-old-overri |
| cb00 | 64 65 73 0a 20 20 20 20 20 64 6f 20 28 63 6c 2d 6c 6f 6f 70 0a 20 20 20 20 20 20 20 20 20 66 6f | des......do.(cl-loop..........fo |
| cb20 | 72 20 28 73 65 74 74 69 6e 67 20 2e 20 6e 65 77 2d 76 61 6c 75 65 73 29 20 69 6e 20 6e 65 77 2d | r.(setting...new-values).in.new- |
| cb40 | 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 5f 20 2e 20 6f 6c 64 2d | overrides..........for.(_...old- |
| cb60 | 76 61 6c 75 65 73 29 20 69 6e 20 6f 6c 64 2d 6f 76 65 72 72 69 64 65 73 0a 20 20 20 20 20 20 20 | values).in.old-overrides........ |
| cb80 | 20 20 69 66 20 28 65 71 75 61 6c 20 63 61 74 65 67 6f 72 79 2d 73 65 74 74 69 6e 67 2d 6f 76 65 | ..if.(equal.category-setting-ove |
| cba0 | 72 72 69 64 65 73 20 6e 65 77 2d 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 20 20 20 64 6f 20 28 | rrides.new-values)..........do.( |
| cbc0 | 73 65 74 66 20 63 61 74 65 67 6f 72 79 2d 73 65 74 74 69 6e 67 2d 6f 76 65 72 72 69 64 65 73 20 | setf.category-setting-overrides. |
| cbe0 | 6f 6c 64 2d 76 61 6c 75 65 73 29 0a 20 20 20 20 20 20 20 20 20 65 6c 73 65 20 64 6f 20 28 63 6c | old-values)..........else.do.(cl |
| cc00 | 2d 63 61 6c 6c 66 32 20 72 65 6d 71 20 27 70 72 65 73 63 69 65 6e 74 20 63 61 74 65 67 6f 72 79 | -callf2.remq.'prescient.category |
| cc20 | 2d 73 65 74 74 69 6e 67 2d 6f 76 65 72 72 69 64 65 73 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 | -setting-overrides)))))..(defvar |
| cc40 | 2d 6c 6f 63 61 6c 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 76 61 72 | -local.prescient--completion-var |
| cc60 | 73 2d 61 6c 72 65 61 64 79 2d 6c 6f 63 61 6c 20 6e 69 6c 0a 20 20 22 56 61 72 69 61 62 6c 65 73 | s-already-local.nil..."Variables |
| cc80 | 20 6f 66 20 69 6e 74 65 72 65 73 74 20 74 68 61 74 20 77 65 72 65 20 61 6c 72 65 61 64 79 20 62 | .of.interest.that.were.already.b |
| cca0 | 75 66 66 65 72 20 6c 6f 63 61 6c 2e 0a 0a 45 78 74 65 6e 73 69 6f 6e 20 70 61 63 6b 61 67 65 73 | uffer.local...Extension.packages |
| ccc0 | 20 6d 69 67 68 74 20 77 69 73 68 20 74 6f 20 63 6f 6e 66 69 67 75 72 65 20 74 68 65 20 76 61 72 | .might.wish.to.configure.the.var |
| cce0 | 69 61 62 6c 65 73 20 6c 69 73 74 65 64 0a 69 6e 20 60 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d | iables.listed.in.`prescient--com |
| cd00 | 70 6c 65 74 69 6f 6e 2d 73 65 74 74 69 6e 67 73 2d 76 61 72 73 27 20 62 75 66 66 65 72 20 6c 6f | pletion-settings-vars'.buffer.lo |
| cd20 | 63 61 6c 6c 79 2c 20 77 68 6f 73 65 0a 6c 6f 63 61 6c 6e 65 73 73 20 73 68 6f 75 6c 64 20 62 65 | cally,.whose.localness.should.be |
| cd40 | 20 75 6e 64 6f 6e 65 20 77 68 65 6e 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 6d 6f 64 65 20 | .undone.when.the.extension.mode. |
| cd60 | 69 73 20 64 69 73 61 62 6c 65 64 2e 0a 54 68 69 73 20 6c 69 73 74 20 69 73 20 74 6f 20 70 72 65 | is.disabled..This.list.is.to.pre |
| cd80 | 76 65 6e 74 20 65 78 74 65 6e 73 69 6f 6e 20 6d 6f 64 65 73 20 66 72 6f 6d 20 6b 69 6c 6c 69 6e | vent.extension.modes.from.killin |
| cda0 | 67 20 76 61 72 69 61 62 6c 65 73 0a 74 68 61 74 20 77 65 72 65 20 61 6c 72 65 61 64 79 20 6c 6f | g.variables.that.were.already.lo |
| cdc0 | 63 61 6c 20 77 68 65 6e 20 74 68 65 20 6d 6f 64 65 20 77 61 73 20 65 6e 61 62 6c 65 64 2e 22 29 | cal.when.the.mode.was.enabled.") |
| cde0 | 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d | ..(defun.prescient--completion-m |
| ce00 | 61 6b 65 2d 76 61 72 73 2d 6c 6f 63 61 6c 20 28 29 0a 20 20 22 4d 61 6b 65 20 74 68 65 20 73 65 | ake-vars-local.()..."Make.the.se |
| ce20 | 74 74 69 6e 67 73 20 61 6e 64 20 72 65 73 74 6f 72 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 73 | ttings.and.restoration.variables |
| ce40 | 20 62 75 66 66 65 72 20 6c 6f 63 61 6c 2e 0a 0a 52 65 63 6f 72 64 20 77 68 65 74 68 65 72 20 61 | .buffer.local...Record.whether.a |
| ce60 | 20 73 65 74 74 69 6e 67 73 20 76 61 72 69 61 62 6c 65 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c | .settings.variable.(for.example, |
| ce80 | 0a 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 73 74 79 6c 65 73 27 29 20 77 61 73 20 61 6c 72 65 61 64 | .`completion-styles').was.alread |
| cea0 | 79 20 6c 6f 63 61 6c 20 69 6e 0a 60 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f | y.local.in.`prescient--completio |
| cec0 | 6e 2d 76 61 72 73 2d 61 6c 72 65 61 64 79 2d 6c 6f 63 61 6c 27 2e 0a 0a 54 68 69 73 20 6d 75 73 | n-vars-already-local'...This.mus |
| cee0 | 74 20 68 61 70 70 65 6e 20 62 65 66 6f 72 65 20 73 74 6f 72 69 6e 67 20 6f 6c 64 20 76 61 6c 75 | t.happen.before.storing.old.valu |
| cf00 | 65 73 2e 22 0a 20 20 28 6d 61 70 63 20 23 27 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 | es."...(mapc.#'make-local-variab |
| cf20 | 6c 65 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6f 6c 64 2d 76 61 72 | le.prescient--completion-old-var |
| cf40 | 73 29 0a 20 20 28 64 6f 6c 69 73 74 20 28 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d | s)...(dolist.(var.prescient--com |
| cf60 | 70 6c 65 74 69 6f 6e 2d 73 65 74 74 69 6e 67 73 2d 76 61 72 73 29 0a 20 20 20 20 28 69 66 20 28 | pletion-settings-vars).....(if.( |
| cf80 | 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 2d 70 20 76 61 72 29 0a 20 20 20 20 20 20 20 20 28 70 | local-variable-p.var).........(p |
| cfa0 | 75 73 68 20 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 76 61 | ush.var.prescient--completion-va |
| cfc0 | 72 73 2d 61 6c 72 65 61 64 79 2d 6c 6f 63 61 6c 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 6c 6f | rs-already-local).......(make-lo |
| cfe0 | 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 76 61 72 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 | cal-variable.var))))..(defun.pre |
| d000 | 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6b 69 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 | scient--completion-kill-local-va |
| d020 | 72 73 20 28 29 0a 20 20 22 4b 69 6c 6c 20 6c 6f 63 61 6c 20 73 65 74 74 69 6e 67 73 20 61 6e 64 | rs.()..."Kill.local.settings.and |
| d040 | 20 72 65 73 74 6f 72 61 74 69 6f 6e 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 44 6f 6e 27 74 20 6b | .restoration.variables...Don't.k |
| d060 | 69 6c 6c 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 69 66 20 74 68 65 79 20 61 72 65 20 6d 65 | ill.the.variables.if.they.are.me |
| d080 | 6d 62 65 72 73 20 6f 66 0a 60 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d | mbers.of.`prescient--completion- |
| d0a0 | 76 61 72 73 2d 61 6c 72 65 61 64 79 2d 6c 6f 63 61 6c 27 2e 0a 0a 54 68 69 73 20 6d 75 73 74 20 | vars-already-local'...This.must. |
| d0c0 | 68 61 70 70 65 6e 20 61 66 74 65 72 20 72 65 73 74 6f 72 69 6e 67 20 6f 6c 64 20 76 61 6c 75 65 | happen.after.restoring.old.value |
| d0e0 | 73 2e 22 0a 20 20 28 64 6f 6c 69 73 74 20 28 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f | s."...(dolist.(var.prescient--co |
| d100 | 6d 70 6c 65 74 69 6f 6e 2d 73 65 74 74 69 6e 67 73 2d 76 61 72 73 29 0a 20 20 20 20 28 75 6e 6c | mpletion-settings-vars).....(unl |
| d120 | 65 73 73 20 28 6d 65 6d 71 20 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 | ess.(memq.var.prescient--complet |
| d140 | 69 6f 6e 2d 76 61 72 73 2d 61 6c 72 65 61 64 79 2d 6c 6f 63 61 6c 29 0a 20 20 20 20 20 20 28 6b | ion-vars-already-local).......(k |
| d160 | 69 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 76 61 72 29 29 29 0a 20 20 28 73 65 74 | ill-local-variable.var)))...(set |
| d180 | 71 20 70 72 65 73 63 69 65 6e 74 2d 2d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 76 61 72 73 2d 61 6c 72 | q.prescient--completion-vars-alr |
| d1a0 | 65 61 64 79 2d 6c 6f 63 61 6c 20 6e 69 6c 29 29 0a 0a 3b 3b 3b 3b 20 54 6f 67 67 6c 69 6e 67 20 | eady-local.nil))..;;;;.Toggling. |
| d1c0 | 63 6f 6d 6d 61 6e 64 73 0a 3b 3b 20 54 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 61 72 65 20 6d | commands.;;.These.commands.are.m |
| d1e0 | 65 61 6e 74 20 74 6f 20 62 65 20 62 6f 75 6e 64 20 69 6e 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e | eant.to.be.bound.in.a.completion |
| d200 | 20 55 49 2c 20 69 6e 20 77 68 69 63 68 0a 3b 3b 20 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 | .UI,.in.which.;;.`prescient-filt |
| d220 | 65 72 2d 6d 65 74 68 6f 64 27 20 63 61 6e 20 62 65 20 62 6f 75 6e 64 20 62 75 66 66 65 72 20 6c | er-method'.can.be.bound.buffer.l |
| d240 | 6f 63 61 6c 6c 79 2e 0a 0a 28 64 65 66 63 6f 6e 73 74 20 70 72 65 73 63 69 65 6e 74 2d 2d 74 6f | ocally...(defconst.prescient--to |
| d260 | 67 67 6c 65 2d 76 61 72 73 0a 20 20 27 28 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d | ggle-vars...'(.prescient-filter- |
| d280 | 6d 65 74 68 6f 64 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 61 73 65 2d 66 6f 6c 64 69 6e | method.prescient-use-case-foldin |
| d2a0 | 67 0a 20 20 20 20 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e | g......prescient-use-char-foldin |
| d2c0 | 67 29 0a 20 20 22 56 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 63 61 6e 20 62 65 20 63 68 61 6e | g)..."Variables.that.can.be.chan |
| d2e0 | 67 65 64 20 6c 6f 63 61 6c 6c 79 20 62 79 20 74 6f 67 67 6c 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 | ged.locally.by.toggling.commands |
| d300 | 2e 0a 0a 41 6e 20 65 78 70 6c 69 63 69 74 20 6c 69 73 74 20 69 73 20 6e 65 65 64 65 64 20 66 6f | ...An.explicit.list.is.needed.fo |
| d320 | 72 20 43 6f 72 66 75 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 2d 74 | r.Corfu.")..(defvar.prescient--t |
| d340 | 6f 67 67 6c 65 2d 72 65 66 72 65 73 68 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 0a 20 20 22 46 | oggle-refresh-functions.nil..."F |
| d360 | 75 6e 63 74 69 6f 6e 73 20 74 6f 20 72 75 6e 20 74 6f 20 66 6f 72 63 65 20 72 65 66 72 65 73 68 | unctions.to.run.to.force.refresh |
| d380 | 69 6e 67 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 55 49 2e 0a 46 75 6e 63 74 69 6f 6e 73 | ing.the.completion.UI..Functions |
| d3a0 | 20 61 72 65 20 61 64 64 65 64 20 62 79 20 74 68 65 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 70 61 | .are.added.by.the.integration.pa |
| d3c0 | 63 6b 61 67 65 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 2d 74 6f 67 | ckages.")..(defun.prescient--tog |
| d3e0 | 67 6c 65 2d 72 65 66 72 65 73 68 20 28 29 0a 20 20 22 52 75 6e 20 74 68 65 20 55 49 20 72 65 66 | gle-refresh.()..."Run.the.UI.ref |
| d400 | 72 65 73 68 20 66 75 6e 63 74 69 6f 6e 73 2e 22 0a 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 70 | resh.functions."...(run-hooks.'p |
| d420 | 72 65 73 63 69 65 6e 74 2d 2d 74 6f 67 67 6c 65 2d 72 65 66 72 65 73 68 2d 66 75 6e 63 74 69 6f | rescient--toggle-refresh-functio |
| d440 | 6e 73 29 29 0a 0a 28 64 65 66 76 61 72 20 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 6c 65 2d 6d | ns))..(defvar.prescient-toggle-m |
| d460 | 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 0a 20 20 22 54 6f 67 67 6c | ap.(make-sparse-keymap)..."Toggl |
| d480 | 69 6e 67 20 63 6f 6d 6d 61 6e 64 73 20 66 6f 72 20 60 70 72 65 73 63 69 65 6e 74 2e 65 6c 27 20 | ing.commands.for.`prescient.el'. |
| d4a0 | 66 69 6c 74 65 72 73 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 20 63 6f 6d 70 6c 65 74 69 6f 6e | filters.in.minibuffer.completion |
| d4c0 | 2e 0a 54 68 69 73 20 6d 61 70 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 62 6f 75 6e | ..This.map.is.automatically.boun |
| d4e0 | 64 20 62 79 20 74 68 65 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 70 61 63 6b 61 67 65 73 2e 22 29 | d.by.the.integration.packages.") |
| d500 | 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 6d 61 63 72 6f 20 70 72 65 73 63 | ..;;;###autoload.(defmacro.presc |
| d520 | 69 65 6e 74 2d 63 72 65 61 74 65 2d 61 6e 64 2d 62 69 6e 64 2d 74 6f 67 67 6c 65 2d 63 6f 6d 6d | ient-create-and-bind-toggle-comm |
| d540 | 61 6e 64 0a 20 20 20 20 28 66 69 6c 74 65 72 2d 74 79 70 65 20 6b 62 64 2d 73 74 72 69 6e 67 29 | and.....(filter-type.kbd-string) |
| d560 | 0a 20 20 22 43 72 65 61 74 65 20 61 6e 64 20 62 69 6e 64 20 61 20 63 6f 6d 6d 61 6e 64 20 74 6f | ..."Create.and.bind.a.command.to |
| d580 | 20 74 6f 67 67 6c 65 20 74 68 65 20 75 73 65 20 6f 66 20 61 20 66 69 6c 74 65 72 20 6d 65 74 68 | .toggle.the.use.of.a.filter.meth |
| d5a0 | 6f 64 2e 0a 0a 54 68 65 20 63 72 65 61 74 65 64 20 63 6f 6d 6d 61 6e 64 20 74 6f 67 67 6c 65 73 | od...The.created.command.toggles |
| d5c0 | 20 74 68 65 20 46 49 4c 54 45 52 2d 54 59 50 45 20 6d 65 74 68 6f 64 20 6f 6e 0a 6f 72 20 6f 66 | .the.FILTER-TYPE.method.on.or.of |
| d5e0 | 66 20 62 75 66 66 65 72 20 6c 6f 63 61 6c 6c 79 2c 20 61 6e 64 20 64 6f 65 73 6e 27 74 20 61 66 | f.buffer.locally,.and.doesn't.af |
| d600 | 66 65 63 74 20 74 68 65 20 64 65 66 61 75 6c 74 0a 62 65 68 61 76 69 6f 72 20 28 64 65 74 65 72 | fect.the.default.behavior.(deter |
| d620 | 6d 69 6e 65 64 20 62 79 20 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f | mined.by.`prescient-filter-metho |
| d640 | 64 27 29 2e 0a 0a 54 68 65 20 63 72 65 61 74 65 64 20 63 6f 6d 6d 61 6e 64 20 69 73 20 62 6f 75 | d')...The.created.command.is.bou |
| d660 | 6e 64 20 74 6f 20 4b 42 44 2d 53 54 52 49 4e 47 20 69 6e 0a 60 70 72 65 73 63 69 65 6e 74 2d 74 | nd.to.KBD-STRING.in.`prescient-t |
| d680 | 6f 67 67 6c 65 2d 6d 61 70 27 2e 20 54 68 69 73 20 6d 61 70 20 69 73 20 69 74 73 65 6c 66 20 62 | oggle-map'..This.map.is.itself.b |
| d6a0 | 6f 75 6e 64 20 74 6f 20 60 4d 2d 73 27 0a 69 6e 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 | ound.to.`M-s'.in.the.completion. |
| d6c0 | 62 75 66 66 65 72 20 77 68 65 6e 20 60 73 65 6c 65 63 74 72 75 6d 2d 70 72 65 73 63 69 65 6e 74 | buffer.when.`selectrum-prescient |
| d6e0 | 2d 6d 6f 64 65 27 20 6f 72 0a 60 76 65 72 74 69 63 6f 2d 70 72 65 73 63 69 65 6e 74 2d 6d 6f 64 | -mode'.or.`vertico-prescient-mod |
| d700 | 65 27 20 61 72 65 20 65 6e 61 62 6c 65 64 2e 0a 0a 46 49 4c 54 45 52 2d 54 59 50 45 20 69 73 20 | e'.are.enabled...FILTER-TYPE.is. |
| d720 | 61 6e 20 75 6e 71 75 6f 74 65 64 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 | an.unquoted.symbol.that.can.be.u |
| d740 | 73 65 64 20 69 6e 0a 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 27 | sed.in.`prescient-filter-method' |
| d760 | 2e 20 4b 42 44 2d 53 54 52 49 4e 47 20 69 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 63 61 | ..KBD-STRING.is.a.string.that.ca |
| d780 | 6e 20 62 65 0a 70 61 73 73 65 64 20 74 6f 20 60 6b 62 64 27 2e 22 0a 20 20 28 6c 65 74 2a 20 28 | n.be.passed.to.`kbd'."...(let*.( |
| d7a0 | 28 66 69 6c 74 65 72 2d 74 79 70 65 2d 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 | (filter-type-name.(symbol-name.f |
| d7c0 | 69 6c 74 65 72 2d 74 79 70 65 29 29 29 0a 20 20 20 20 60 28 64 65 66 69 6e 65 2d 6b 65 79 20 70 | ilter-type))).....`(define-key.p |
| d7e0 | 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 6c 65 2d 6d 61 70 20 28 6b 62 64 20 2c 6b 62 64 2d 73 74 | rescient-toggle-map.(kbd.,kbd-st |
| d800 | 72 69 6e 67 29 0a 20 20 20 20 20 20 20 28 64 65 66 75 6e 20 2c 28 69 6e 74 65 72 6e 20 28 63 6f | ring)........(defun.,(intern.(co |
| d820 | 6e 63 61 74 20 22 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 6c 65 2d 22 20 66 69 6c 74 65 72 2d | ncat."prescient-toggle-".filter- |
| d840 | 74 79 70 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 29 20 20 20 20 | type-name))............(arg).... |
| d860 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 41 72 67 20 6c 69 73 74 0a 20 20 20 20 20 | ................;.Arg.list...... |
| d880 | 20 20 20 20 2c 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 22 54 6f 67 67 6c 65 20 | ....,(format............"Toggle. |
| d8a0 | 74 68 65 20 5c 22 25 73 5c 22 20 66 69 6c 74 65 72 20 6f 6e 20 6f 72 20 6f 66 66 2e 20 57 69 74 | the.\"%s\".filter.on.or.off..Wit |
| d8c0 | 68 20 41 52 47 2c 20 75 73 65 20 6f 6e 6c 79 20 74 68 69 73 20 66 69 6c 74 65 72 2e 0a 54 68 69 | h.ARG,.use.only.this.filter..Thi |
| d8e0 | 73 20 74 6f 67 67 6c 69 6e 67 20 6f 6e 6c 79 20 61 66 66 65 63 74 73 20 66 69 6c 74 65 72 69 6e | s.toggling.only.affects.filterin |
| d900 | 67 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 0a 62 75 66 66 | g.in.the.current.completion.buff |
| d920 | 65 72 2e 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 61 66 66 65 63 74 20 74 68 65 20 64 65 66 61 75 | er..It.does.not.affect.the.defau |
| d940 | 6c 74 20 62 65 68 61 76 69 6f 72 20 28 64 65 74 65 72 6d 69 6e 65 64 20 62 79 0a 60 70 72 65 73 | lt.behavior.(determined.by.`pres |
| d960 | 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 27 29 2e 22 20 20 66 69 6c 74 65 72 2d | cient-filter-method')."..filter- |
| d980 | 74 79 70 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 | type-name)..........(interactive |
| d9a0 | 20 22 50 22 29 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 61 6b 65 20 60 70 72 65 73 63 69 65 | ."P")...........;;.Make.`prescie |
| d9c0 | 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 27 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 69 | nt-filter-method'.buffer-local.i |
| d9e0 | 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 62 75 66 | n.the..........;;.completion.buf |
| da00 | 66 65 72 2e 20 57 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 20 61 63 63 69 64 65 6e 74 61 6c | fer..We.don't.want.to.accidental |
| da20 | 6c 79 20 63 68 61 6e 67 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 75 73 65 72 27 73 | ly.change.the..........;;.user's |
| da40 | 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 28 6d 61 6b | .default.behavior...........(mak |
| da60 | 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 | e-local-variable.'prescient-filt |
| da80 | 65 72 2d 6d 65 74 68 6f 64 29 0a 0a 20 20 20 20 20 20 20 20 20 28 69 66 20 61 72 67 0a 20 20 20 | er-method)...........(if.arg.... |
| daa0 | 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 75 73 65 72 20 70 72 6f 76 69 64 65 73 20 61 20 | ..........;;.If.user.provides.a. |
| dac0 | 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 2c 20 73 65 74 20 66 69 6c 74 65 72 69 6e 67 20 74 | prefix.argument,.set.filtering.t |
| dae0 | 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 6f | o..............;;.be.a.list.of.o |
| db00 | 6e 6c 79 20 6f 6e 65 20 66 69 6c 74 65 72 20 74 79 70 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 | nly.one.filter.type............. |
| db20 | 20 20 28 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 20 | ..(setq.prescient-filter-method. |
| db40 | 27 28 2c 66 69 6c 74 65 72 2d 74 79 70 65 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 | '(,filter-type)).............;;. |
| db60 | 4f 74 68 65 72 77 69 73 65 2c 20 69 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 65 74 74 69 6e | Otherwise,.if.the.current.settin |
| db80 | 67 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 0a 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 | g.is.a.function,............;;.e |
| dba0 | 76 61 6c 75 61 74 65 20 69 74 20 74 6f 20 67 65 74 20 74 68 65 20 76 61 6c 75 65 2e 0a 20 20 20 | valuate.it.to.get.the.value..... |
| dbc0 | 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 74 69 6f 6e 70 20 70 72 65 73 63 69 65 | ........(when.(functionp.prescie |
| dbe0 | 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 | nt-filter-method)..............( |
| dc00 | 73 65 74 71 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 0a 20 20 20 | setq.prescient-filter-method.... |
| dc20 | 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 70 72 65 73 63 69 65 | ................(funcall.prescie |
| dc40 | 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 | nt-filter-method)))............. |
| dc60 | 3b 3b 20 49 66 20 77 65 20 6e 65 65 64 20 74 6f 20 61 64 64 20 6f 72 20 72 65 6d 6f 76 65 20 66 | ;;.If.we.need.to.add.or.remove.f |
| dc80 | 72 6f 6d 20 74 68 65 20 6c 69 73 74 2c 20 6d 61 6b 65 20 73 75 72 65 0a 20 20 20 20 20 20 20 20 | rom.the.list,.make.sure......... |
| dca0 | 20 20 20 3b 3b 20 69 74 27 73 20 61 63 74 75 61 6c 6c 79 20 61 20 6c 69 73 74 20 61 6e 64 20 6e | ...;;.it's.actually.a.list.and.n |
| dcc0 | 6f 74 20 6a 75 73 74 20 61 20 73 79 6d 62 6f 6c 2e 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 | ot.just.a.symbol.............(wh |
| dce0 | 65 6e 20 28 73 79 6d 62 6f 6c 70 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 | en.(symbolp.prescient-filter-met |
| dd00 | 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 72 65 73 63 69 65 6e | hod)..............(setq.prescien |
| dd20 | 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | t-filter-method................. |
| dd40 | 20 20 20 28 6c 69 73 74 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 | ...(list.prescient-filter-method |
| dd60 | 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 70 72 65 73 63 | ))).............(if.(equal.presc |
| dd80 | 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 20 27 28 2c 66 69 6c 74 65 72 2d 74 79 70 | ient-filter-method.'(,filter-typ |
| dda0 | 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4d 61 6b 65 20 73 75 72 65 20 | e))................;;.Make.sure. |
| ddc0 | 74 68 65 20 75 73 65 72 20 64 6f 65 73 6e 27 74 20 61 63 63 69 64 65 6e 74 61 6c 6c 79 20 64 69 | the.user.doesn't.accidentally.di |
| dde0 | 73 61 62 6c 65 20 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 69 6c 74 | sable.all................;;.filt |
| de00 | 65 72 69 6e 67 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f | ering.................(user-erro |
| de20 | 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 | r.................,(concat...... |
| de40 | 20 20 20 20 20 20 20 20 20 20 20 20 20 22 50 72 65 73 63 69 65 6e 74 2e 65 6c 3a 20 43 61 6e 27 | ............."Prescient.el:.Can' |
| de60 | 74 20 74 6f 67 67 6c 65 20 6f 66 66 20 6f 6e 6c 79 20 61 63 74 69 76 65 20 66 69 6c 74 65 72 20 | t.toggle.off.only.active.filter. |
| de80 | 6d 65 74 68 6f 64 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 74 | method:."...................filt |
| dea0 | 65 72 2d 74 79 70 65 2d 6e 61 6d 65 29 29 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 | er-type-name))...............(se |
| dec0 | 74 71 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 0a 20 20 20 20 20 | tq.prescient-filter-method...... |
| dee0 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 71 20 27 2c 66 69 6c 74 65 72 | ..............(if.(memq.',filter |
| df00 | 2d 74 79 70 65 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 29 0a 20 | -type.prescient-filter-method).. |
| df20 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 76 65 6e 20 77 68 | ......................;;.Even.wh |
| df40 | 65 6e 20 72 75 6e 6e 69 6e 67 20 60 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 27 | en.running.`make-local-variable' |
| df60 | 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 74 20 73 | ,........................;;.it.s |
| df80 | 65 65 6d 73 20 60 64 65 6c 71 27 20 6d 69 67 68 74 20 73 74 69 6c 6c 20 6d 6f 64 69 66 79 20 74 | eems.`delq'.might.still.modify.t |
| dfa0 | 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 67 6c 6f | he........................;;.glo |
| dfc0 | 62 61 6c 20 76 61 6c 75 65 2c 20 73 6f 20 77 65 20 75 73 65 20 60 72 65 6d 71 27 20 68 65 72 65 | bal.value,.so.we.use.`remq'.here |
| dfe0 | 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 71 20 27 | .........................(remq.' |
| e000 | 2c 66 69 6c 74 65 72 2d 74 79 70 65 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 | ,filter-type.prescient-filter-me |
| e020 | 74 68 6f 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 | thod)......................(cons |
| e040 | 20 27 2c 66 69 6c 74 65 72 2d 74 79 70 65 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d | .',filter-type.prescient-filter- |
| e060 | 6d 65 74 68 6f 64 29 29 29 29 29 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 41 66 74 65 72 20 63 | method)))))...........;;.After.c |
| e080 | 68 61 6e 67 69 6e 67 20 60 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 68 6f 64 | hanging.`prescient-filter-method |
| e0a0 | 27 2c 20 74 65 6c 6c 20 74 68 65 20 75 73 65 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 | ',.tell.the.user..........;;.the |
| e0c0 | 20 6e 65 77 20 76 61 6c 75 65 20 61 6e 64 20 75 70 64 61 74 65 20 74 68 65 20 55 49 27 73 20 64 | .new.value.and.update.the.UI's.d |
| e0e0 | 69 73 70 6c 61 79 2e 0a 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 50 72 65 73 63 | isplay...........(message."Presc |
| e100 | 69 65 6e 74 2e 65 6c 20 66 69 6c 74 65 72 20 69 73 20 6e 6f 77 20 25 73 22 0a 20 20 20 20 20 20 | ient.el.filter.is.now.%s"....... |
| e120 | 20 20 20 20 20 20 20 20 20 20 20 20 70 72 65 73 63 69 65 6e 74 2d 66 69 6c 74 65 72 2d 6d 65 74 | ............prescient-filter-met |
| e140 | 68 6f 64 29 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 43 61 6c 6c 20 22 65 78 68 69 62 69 74 22 | hod)...........;;.Call."exhibit" |
| e160 | 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 2d | .function...........(prescient-- |
| e180 | 74 6f 67 67 6c 65 2d 72 65 66 72 65 73 68 29 29 29 29 29 0a 0a 28 70 72 65 73 63 69 65 6e 74 2d | toggle-refresh)))))..(prescient- |
| e1a0 | 63 72 65 61 74 65 2d 61 6e 64 2d 62 69 6e 64 2d 74 6f 67 67 6c 65 2d 63 6f 6d 6d 61 6e 64 20 61 | create-and-bind-toggle-command.a |
| e1c0 | 6e 63 68 6f 72 65 64 20 22 61 22 29 0a 28 70 72 65 73 63 69 65 6e 74 2d 63 72 65 61 74 65 2d 61 | nchored."a").(prescient-create-a |
| e1e0 | 6e 64 2d 62 69 6e 64 2d 74 6f 67 67 6c 65 2d 63 6f 6d 6d 61 6e 64 20 66 75 7a 7a 79 20 22 66 22 | nd-bind-toggle-command.fuzzy."f" |
| e200 | 29 0a 28 70 72 65 73 63 69 65 6e 74 2d 63 72 65 61 74 65 2d 61 6e 64 2d 62 69 6e 64 2d 74 6f 67 | ).(prescient-create-and-bind-tog |
| e220 | 67 6c 65 2d 63 6f 6d 6d 61 6e 64 20 69 6e 69 74 69 61 6c 69 73 6d 20 22 69 22 29 0a 28 70 72 65 | gle-command.initialism."i").(pre |
| e240 | 73 63 69 65 6e 74 2d 63 72 65 61 74 65 2d 61 6e 64 2d 62 69 6e 64 2d 74 6f 67 67 6c 65 2d 63 6f | scient-create-and-bind-toggle-co |
| e260 | 6d 6d 61 6e 64 20 6c 69 74 65 72 61 6c 20 22 6c 22 29 0a 28 70 72 65 73 63 69 65 6e 74 2d 63 72 | mmand.literal."l").(prescient-cr |
| e280 | 65 61 74 65 2d 61 6e 64 2d 62 69 6e 64 2d 74 6f 67 67 6c 65 2d 63 6f 6d 6d 61 6e 64 20 6c 69 74 | eate-and-bind-toggle-command.lit |
| e2a0 | 65 72 61 6c 2d 70 72 65 66 69 78 20 22 50 22 29 0a 28 70 72 65 73 63 69 65 6e 74 2d 63 72 65 61 | eral-prefix."P").(prescient-crea |
| e2c0 | 74 65 2d 61 6e 64 2d 62 69 6e 64 2d 74 6f 67 67 6c 65 2d 63 6f 6d 6d 61 6e 64 20 70 72 65 66 69 | te-and-bind-toggle-command.prefi |
| e2e0 | 78 20 22 70 22 29 0a 28 70 72 65 73 63 69 65 6e 74 2d 63 72 65 61 74 65 2d 61 6e 64 2d 62 69 6e | x."p").(prescient-create-and-bin |
| e300 | 64 2d 74 6f 67 67 6c 65 2d 63 6f 6d 6d 61 6e 64 20 72 65 67 65 78 70 20 22 72 22 29 0a 0a 28 64 | d-toggle-command.regexp."r")..(d |
| e320 | 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 6c 65 2d 63 68 61 72 2d 66 6f 6c 64 20 | efun.prescient-toggle-char-fold. |
| e340 | 28 29 0a 20 20 22 54 6f 67 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 66 6f 6c 64 69 6e 67 20 69 | ()..."Toggle.character.folding.i |
| e360 | 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 62 75 66 66 65 72 2e | n.the.current.completion.buffer. |
| e380 | 0a 0a 53 65 65 20 74 68 65 20 75 73 65 72 20 6f 70 74 69 6f 6e 20 60 70 72 65 73 63 69 65 6e 74 | ..See.the.user.option.`prescient |
| e3a0 | 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 | -use-char-folding'."...(interact |
| e3c0 | 69 76 65 29 0a 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 | ive)...(setq-local.prescient-use |
| e3e0 | 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 | -char-folding...............(not |
| e400 | 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 29 29 0a 20 20 | .prescient-use-char-folding))... |
| e420 | 28 6d 65 73 73 61 67 65 20 22 43 68 61 72 61 63 74 65 72 20 66 6f 6c 64 69 6e 67 20 74 6f 67 67 | (message."Character.folding.togg |
| e440 | 6c 65 64 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 72 65 73 63 69 65 6e 74 | led.%s"............(if.prescient |
| e460 | 2d 75 73 65 2d 63 68 61 72 2d 66 6f 6c 64 69 6e 67 20 22 6f 6e 22 20 22 6f 66 66 22 29 29 0a 20 | -use-char-folding."on"."off")).. |
| e480 | 20 28 70 72 65 73 63 69 65 6e 74 2d 2d 74 6f 67 67 6c 65 2d 72 65 66 72 65 73 68 29 29 0a 0a 3b | .(prescient--toggle-refresh))..; |
| e4a0 | 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 62 69 6e 64 69 6e 67 20 75 73 65 64 20 | ;.This.is.the.same.binding.used. |
| e4c0 | 62 79 20 60 69 73 65 61 72 63 68 2d 74 6f 67 67 6c 65 2d 63 68 61 72 2d 66 6f 6c 64 27 2e 0a 28 | by.`isearch-toggle-char-fold'..( |
| e4e0 | 64 65 66 69 6e 65 2d 6b 65 79 20 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 6c 65 2d 6d 61 70 20 | define-key.prescient-toggle-map. |
| e500 | 28 6b 62 64 20 22 27 22 29 0a 20 20 23 27 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 6c 65 2d 63 | (kbd."'")...#'prescient-toggle-c |
| e520 | 68 61 72 2d 66 6f 6c 64 29 0a 0a 28 64 65 66 75 6e 20 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 | har-fold)..(defun.prescient-togg |
| e540 | 6c 65 2d 63 61 73 65 2d 66 6f 6c 64 20 28 29 0a 20 20 22 54 6f 67 67 6c 65 20 63 61 73 65 20 66 | le-case-fold.()..."Toggle.case.f |
| e560 | 6f 6c 64 69 6e 67 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 63 6f 6d 70 6c 65 74 69 6f 6e | olding.in.the.current.completion |
| e580 | 20 62 75 66 66 65 72 2e 0a 0a 49 66 20 60 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 61 73 65 | .buffer...If.`prescient-use-case |
| e5a0 | 2d 66 6f 6c 64 69 6e 67 27 20 69 73 20 73 65 74 20 74 6f 20 60 73 6d 61 72 74 27 2c 20 74 68 65 | -folding'.is.set.to.`smart',.the |
| e5c0 | 6e 20 74 68 69 73 0a 74 6f 67 67 6c 65 73 20 77 68 65 74 68 65 72 20 74 6f 20 75 73 65 20 73 6d | n.this.toggles.whether.to.use.sm |
| e5e0 | 61 72 74 20 63 61 73 65 20 66 6f 6c 64 69 6e 67 20 6f 72 20 6e 6f 20 63 61 73 65 20 66 6f 6c 64 | art.case.folding.or.no.case.fold |
| e600 | 69 6e 67 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 74 68 69 73 20 74 6f 67 67 6c 65 73 20 62 65 74 | ing..Otherwise,.this.toggles.bet |
| e620 | 77 65 65 6e 20 6e 6f 72 6d 61 6c 20 63 61 73 65 20 66 6f 6c 64 69 6e 67 20 61 6e 64 20 6e 6f 20 | ween.normal.case.folding.and.no. |
| e640 | 63 61 73 65 0a 66 6f 6c 64 69 6e 67 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 | case.folding."...(interactive).. |
| e660 | 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 61 73 65 2d | .(setq-local.prescient-use-case- |
| e680 | 66 6f 6c 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 | folding...............(cond..... |
| e6a0 | 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 61 73 65 2d 66 | ...........(prescient-use-case-f |
| e6c0 | 6f 6c 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 | olding.................(message. |
| e6e0 | 22 43 61 73 65 20 66 6f 6c 64 69 6e 67 20 74 6f 67 67 6c 65 64 20 6f 66 66 22 29 0a 20 20 20 20 | "Case.folding.toggled.off")..... |
| e700 | 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ............nil)................ |
| e720 | 28 28 65 71 20 28 64 65 66 61 75 6c 74 2d 74 6f 70 6c 65 76 65 6c 2d 76 61 6c 75 65 20 27 70 72 | ((eq.(default-toplevel-value.'pr |
| e740 | 65 73 63 69 65 6e 74 2d 75 73 65 2d 63 61 73 65 2d 66 6f 6c 64 69 6e 67 29 0a 20 20 20 20 20 20 | escient-use-case-folding)....... |
| e760 | 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 73 6d 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 | ..............'smart)........... |
| e780 | 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 53 6d 61 72 74 20 63 61 73 65 20 66 6f 6c 64 69 | ......(message."Smart.case.foldi |
| e7a0 | 6e 67 20 74 6f 67 67 6c 65 64 20 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 | ng.toggled.on")................. |
| e7c0 | 27 73 6d 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 | 'smart)................(t....... |
| e7e0 | 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 61 73 65 20 66 6f 6c 64 69 6e 67 | ..........(message."Case.folding |
| e800 | 20 74 6f 67 67 6c 65 64 20 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 | .toggled.on").................t) |
| e820 | 29 29 0a 20 20 28 70 72 65 73 63 69 65 6e 74 2d 2d 74 6f 67 67 6c 65 2d 72 65 66 72 65 73 68 29 | ))...(prescient--toggle-refresh) |
| e840 | 29 0a 0a 3b 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 73 61 6d 65 20 62 69 6e 64 69 6e 67 20 75 | )..;;.This.is.the.same.binding.u |
| e860 | 73 65 64 20 62 79 20 60 69 73 65 61 72 63 68 2d 74 6f 67 67 6c 65 2d 63 61 73 65 2d 66 6f 6c 64 | sed.by.`isearch-toggle-case-fold |
| e880 | 27 2e 0a 28 64 65 66 69 6e 65 2d 6b 65 79 20 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 6c 65 2d | '..(define-key.prescient-toggle- |
| e8a0 | 6d 61 70 20 28 6b 62 64 20 22 63 22 29 0a 20 20 23 27 70 72 65 73 63 69 65 6e 74 2d 74 6f 67 67 | map.(kbd."c")...#'prescient-togg |
| e8c0 | 6c 65 2d 63 61 73 65 2d 66 6f 6c 64 29 0a 0a 0a 3b 3b 3b 3b 20 43 6c 6f 73 69 6e 67 20 72 65 6d | le-case-fold)...;;;;.Closing.rem |
| e8e0 | 61 72 6b 73 0a 28 70 72 6f 76 69 64 65 20 27 70 72 65 73 63 69 65 6e 74 29 0a 0a 3b 3b 3b 20 70 | arks.(provide.'prescient)..;;;.p |
| e900 | 72 65 73 63 69 65 6e 74 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 | rescient.el.ends.here........... |
| e920 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e940 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e960 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e980 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e9a0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e9c0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| e9e0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ea80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eaa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eac0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eae0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eb00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eb20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eb40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eb60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eb80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eba0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ebc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ebe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ec80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eca0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ecc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ece0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ed80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eda0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| edc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ede0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ee80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eea0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eec0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| eee0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef00 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef20 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef40 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef60 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| ef80 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| efa0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| efc0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |
| efe0 | 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 | ................................ |