summaryrefslogtreecommitdiff
path: root/.localrepo/dwim-shell-command-20250218.1720.tar
blob: 928a9f7e016b9bba0954d6618c1fce805de38aa1 (plain)
ofshex dumpascii
0000 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 32 30 32 35 30 32 31 38 2e 31 37 32 30 dwim-shell-command-20250218.1720
0020 2f 00 00 00 00 00 00 00 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 34 34 36 37 00 20 35 00 00 00 0000000.00000000000.014467..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 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 32 30 32 35 30 32 31 38 2e 31 37 32 30 dwim-shell-command-20250218.1720
0220 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 /dwim-shell-command-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 34 35 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 31 32 35 35 00 20 30 00 00 00 0000455.00000000000.021255..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 6c 65 78 69 63 ;;.-*-.no-byte-compile:.t;.lexic
0420 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 6e 69 6c 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b al-binding:.nil.-*-.(define-pack
0440 61 67 65 20 22 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 22 20 22 32 30 32 35 30 32 age."dwim-shell-command"."202502
0460 31 38 2e 31 37 32 30 22 0a 20 20 22 53 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 77 69 74 68 20 18.1720"..."Shell.commands.with.
0480 44 57 49 4d 20 62 65 68 61 76 69 6f 75 72 2e 22 0a 20 20 27 28 28 65 6d 61 63 73 20 22 32 38 2e DWIM.behaviour."...'((emacs."28.
04a0 31 22 29 29 0a 20 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 1"))...:url."https://github.com/
04c0 78 65 6e 6f 64 69 75 6d 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 22 0a 20 20 3a xenodium/dwim-shell-command"...:
04e0 63 6f 6d 6d 69 74 20 22 34 62 30 37 37 34 33 32 61 39 34 38 37 33 65 35 66 35 30 35 63 38 66 35 commit."4b077432a94873e5f505c8f5
0500 36 39 37 34 33 63 66 64 39 38 34 65 65 62 62 31 22 0a 20 20 3a 72 65 76 64 65 73 63 20 22 34 62 69743cfd984eebb1"...:revdesc."4b
0520 30 37 37 34 33 32 61 39 34 38 22 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 077432a948")....................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 32 30 32 35 30 32 31 38 2e 31 37 32 30 dwim-shell-command-20250218.1720
0620 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2e 65 6c 00 00 00 00 00 00 00 00 00 00 /dwim-shell-command.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 33 33 34 32 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 35 30 32 00 20 30 00 00 00 0133425.00000000000.020502..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 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2e 65 6c 20 2d 2d 2d 20 53 68 ;;;.dwim-shell-command.el.---.Sh
0820 65 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 77 69 74 68 20 44 57 49 4d 20 62 65 68 61 76 69 6f 75 72 ell.commands.with.DWIM.behaviour
0840 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b .-*-.lexical-binding:.t;.-*-..;;
0860 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 32 20 41 6c 76 61 72 6f 20 52 61 6d 69 72 .Copyright.(C).2022.Alvaro.Ramir
0880 65 7a 20 68 74 74 70 73 3a 2f 2f 78 65 6e 6f 64 69 75 6d 2e 63 6f 6d 0a 0a 3b 3b 20 41 75 74 68 ez.https://xenodium.com..;;.Auth
08a0 6f 72 3a 20 41 6c 76 61 72 6f 20 52 61 6d 69 72 65 7a 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 or:.Alvaro.Ramirez.;;.Package-Re
08c0 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 38 2e 31 22 29 29 0a 3b 3b 20 55 52 4c 3a quires:.((emacs."28.1")).;;.URL:
08e0 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 78 65 6e 6f 64 69 75 6d 2f 64 77 69 .https://github.com/xenodium/dwi
0900 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 m-shell-command.;;.Package-Versi
0920 6f 6e 3a 20 32 30 32 35 30 32 31 38 2e 31 37 32 30 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 76 on:.20250218.1720.;;.Package-Rev
0940 69 73 69 6f 6e 3a 20 34 62 30 37 37 34 33 32 61 39 34 38 0a 0a 3b 3b 20 54 68 69 73 20 70 61 63 ision:.4b077432a948..;;.This.pac
0960 6b 61 67 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 kage.is.free.software;.you.can.r
0980 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 edistribute.it.and/or.modify.;;.
09a0 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 it.under.the.terms.of.the.GNU.Ge
09c0 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 neral.Public.License.as.publishe
09e0 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 d.by.;;.the.Free.Software.Founda
0a00 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 2c 20 6f 72 20 28 61 74 20 79 tion;.either.version.3,.or.(at.y
0a20 6f 75 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e our.option).;;.any.later.version
0a40 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 ...;;.This.package.is.distribute
0a60 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 d.in.the.hope.that.it.will.be.us
0a80 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 eful,.;;.but.WITHOUT.ANY.WARRANT
0aa0 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 Y;.without.even.the.implied.warr
0ac0 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 anty.of.;;.MERCHANTABILITY.or.FI
0ae0 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 TNESS.FOR.A.PARTICULAR.PURPOSE..
0b00 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c .See.the.;;.GNU.General.Public.L
0b20 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 icense.for.more.details...;;.You
0b40 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 .should.have.received.a.copy.of.
0b60 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b the.GNU.General.Public.License.;
0b80 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61 63 73 2e 20 20 49 66 20 6e 6f 74 2c ;.along.with.GNU.Emacs...If.not,
0ba0 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 .see.<https://www.gnu.org/licens
0bc0 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 50 72 6f 76 69 es/>...;;;.Commentary:..;;.Provi
0be0 64 65 73 20 60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 73 20 61 6e 20 6f des.`dwim-shell-command'.as.an.o
0c00 70 69 6e 69 6f 6e 61 74 65 64 20 44 57 49 4d 20 61 6c 74 65 72 6e 61 74 69 76 65 20 74 6f 0a 3b pinionated.DWIM.alternative.to.;
0c20 3b 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 2e 0a 3b 3b 0a 3b 3b 20 55 73 65 20 60 64 77 ;.`shell-command'..;;.;;.Use.`dw
0c40 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 im-shell-command-on-marked-files
0c60 27 20 74 6f 20 63 72 65 61 74 65 20 79 6f 75 72 20 6f 77 6e 20 63 6f 6d 6d 61 6e 64 0a 3b 3b 20 '.to.create.your.own.command.;;.
0c80 6c 69 6e 65 20 75 74 69 6c 69 74 69 65 73 2c 20 69 6e 76 6f 6b 65 64 20 76 69 61 20 4d 2d 78 2e line.utilities,.invoked.via.M-x.
0ca0 0a 3b 3b 0a 3b 3b 20 53 65 65 20 65 78 61 6d 70 6c 65 73 20 61 74 20 68 74 74 70 73 3a 2f 2f 67 .;;.;;.See.examples.at.https://g
0cc0 69 74 68 75 62 2e 63 6f 6d 2f 78 65 6e 6f 64 69 75 6d 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ithub.com/xenodium/dwim-shell-co
0ce0 6d 6d 61 6e 64 2f 62 6c 6f 62 2f 6d 61 69 6e 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 mmand/blob/main/dwim-shell-comma
0d00 6e 64 73 2e 65 6c 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d nds.el..;;;.Code:..(require.'cl-
0d20 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 63 6f 6d 69 6e 74 29 0a 28 72 65 71 75 69 72 65 20 lib).(require.'comint).(require.
0d40 27 64 69 72 65 64 29 0a 28 72 65 71 75 69 72 65 20 27 64 69 72 65 64 2d 61 75 78 29 0a 28 72 65 'dired).(require.'dired-aux).(re
0d60 71 75 69 72 65 20 27 6d 61 70 29 0a 28 72 65 71 75 69 72 65 20 27 73 65 71 29 0a 28 72 65 71 75 quire.'map).(require.'seq).(requ
0d80 69 72 65 20 27 73 69 6d 70 6c 65 29 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 28 ire.'simple).(require.'subr-x).(
0da0 72 65 71 75 69 72 65 20 27 76 69 65 77 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 77 69 6d 2d require.'view)..(defcustom.dwim-
0dc0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 70 72 6f 6d 70 74 0a 20 20 22 44 57 49 4d 20 73 68 65 shell-command-prompt..."DWIM.she
0de0 6c 6c 20 63 6f 6d 6d 61 6e 64 20 28 3c 3c 66 3e 3e 20 3c 3c 66 6e 65 3e 3e 20 3c 3c 65 3e 3e 29 ll.command.(<<f>>.<<fne>>.<<e>>)
0e00 3a 20 22 0a 20 20 22 60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 70 72 6f 6d :."..."`dwim-shell-command'.prom
0e20 70 74 2e 20 20 4d 6f 64 69 66 79 20 69 66 20 73 68 6f 72 74 65 72 20 69 73 20 70 72 65 66 65 72 pt...Modify.if.shorter.is.prefer
0e40 72 65 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 red."...:type.'string...:group.'
0e60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 dwim-shell-command)..(defcustom.
0e80 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 64 65 66 61 75 6c 74 2d 63 6f 6d 6d 61 dwim-shell-command-default-comma
0ea0 6e 64 0a 20 20 22 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 22 53 65 74 20 74 6f 20 6e 69 6c 20 69 66 nd...".'<<f>>'"..."Set.to.nil.if
0ec0 20 6e 6f 20 64 65 66 61 75 6c 74 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 77 61 6e 74 65 64 .no.default.shell.command.wanted
0ee0 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 64 77 69 ."...:type.'string...:group.'dwi
0f00 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 77 69 m-shell-command)..(defcustom.dwi
0f20 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 62 75 66 66 65 72 2d 6e 61 6d 65 0a 20 20 22 44 m-shell-command-buffer-name..."D
0f40 57 49 4d 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 22 0a 20 20 22 60 64 77 69 6d 2d 73 68 65 6c WIM.shell.command"..."`dwim-shel
0f60 6c 2d 63 6f 6d 6d 61 6e 64 27 20 62 75 66 66 65 72 20 6e 61 6d 65 2e 20 20 4d 6f 64 69 66 79 20 l-command'.buffer.name...Modify.
0f80 69 66 20 73 68 6f 72 74 65 72 20 69 73 20 70 72 65 66 65 72 72 65 64 2e 22 0a 20 20 3a 74 79 70 if.shorter.is.preferred."...:typ
0fa0 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 70 20 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 e.'string...:group.'dwim-shell-c
0fc0 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ommand)..(defcustom.dwim-shell-c
0fe0 6f 6d 6d 61 6e 64 2d 70 72 6f 6d 70 74 2d 6f 6e 2d 65 72 72 6f 72 20 6e 69 6c 0a 20 20 22 49 66 ommand-prompt-on-error.nil..."If
1000 20 74 2c 20 70 72 6f 6d 70 74 20 75 73 65 72 20 74 6f 20 66 6f 63 75 73 20 62 75 66 66 65 72 20 .t,.prompt.user.to.focus.buffer.
1020 6f 6e 20 70 72 6f 63 65 73 73 20 65 72 72 6f 72 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 61 75 74 on.process.error..Otherwise,.aut
1040 6f 6d 61 74 69 63 61 6c 6c 79 20 66 6f 63 75 73 20 62 75 66 66 65 72 20 6f 6e 20 70 72 6f 63 65 omatically.focus.buffer.on.proce
1060 73 73 20 65 72 72 6f 72 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 ss.error."...:type.'boolean...:g
1080 72 6f 75 70 20 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 roup.'dwim-shell-command)..(defc
10a0 75 73 74 6f 6d 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 75 73 65 2d 61 62 73 ustom.dwim-shell-command-use-abs
10c0 6f 6c 75 74 65 2d 70 61 74 68 73 20 6e 69 6c 0a 20 20 22 49 66 20 74 2c 20 67 65 6e 65 72 61 74 olute-paths.nil..."If.t,.generat
10e0 65 20 61 62 73 6f 6c 75 74 65 20 70 61 74 68 73 20 69 6e 20 74 65 6d 70 6c 61 74 65 73 2e 20 20 e.absolute.paths.in.templates...
1100 52 65 6c 61 74 69 76 65 20 6f 74 68 65 72 77 69 73 65 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f Relative.otherwise."...:type.'bo
1120 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 olean...:group.'dwim-shell-comma
1140 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 nd)..(defcustom.dwim-shell-comma
1160 6e 64 2d 73 68 65 6c 6c 2d 75 74 69 6c 20 6e 69 6c 0a 20 20 22 53 68 65 6c 6c 20 75 74 69 6c 2c nd-shell-util.nil..."Shell.util,
1180 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a 20 5c 22 7a 73 68 5c 22 20 6f 72 20 5c 22 62 61 73 68 5c .for.example:.\"zsh\".or.\"bash\
11a0 22 2e 0a 53 65 74 20 74 6f 20 6e 69 6c 20 74 6f 20 75 73 65 20 60 73 68 65 6c 6c 2d 66 69 6c 65 "..Set.to.nil.to.use.`shell-file
11c0 2d 6e 61 6d 65 27 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 0a 20 20 3a 67 72 6f 75 -name'."...:type.'string...:grou
11e0 70 20 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 p.'dwim-shell-command)..(defcust
1200 6f 6d 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 68 65 6c 6c 2d 61 72 67 73 om.dwim-shell-command-shell-args
1220 20 6e 69 6c 0a 20 20 22 53 68 65 6c 6c 20 75 74 69 6c 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 3a .nil..."Shell.util,.for.example:
1240 20 27 28 5c 22 2d 78 5c 22 20 5c 22 2d 63 5c 22 29 2e 0a 53 65 74 20 74 6f 20 6e 69 6c 20 74 6f .'(\"-x\".\"-c\")..Set.to.nil.to
1260 20 75 73 65 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 77 69 74 63 68 27 2e 22 0a 20 20 .use.`shell-command-switch'."...
1280 3a 74 79 70 65 20 27 28 72 65 70 65 61 74 20 73 74 72 69 6e 67 29 0a 20 20 3a 67 72 6f 75 70 20 :type.'(repeat.string)...:group.
12a0 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 'dwim-shell-command)..(defcustom
12c0 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 68 65 6c 6c 2d 74 72 61 63 65 20 .dwim-shell-command-shell-trace.
12e0 6e 69 6c 0a 20 20 22 41 74 74 65 6d 70 74 20 74 6f 20 61 64 64 20 2d 2d 78 74 72 61 63 65 20 74 nil..."Attempt.to.add.--xtrace.t
1300 6f 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 64 65 62 75 67 2e 22 0a 20 20 3a 74 79 o.shell.command.to.debug."...:ty
1320 70 65 20 27 62 6f 6f 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 64 77 69 6d 2d 73 68 65 6c 6c pe.'boolean...:group.'dwim-shell
1340 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 77 69 6d 2d 73 68 65 6c 6c -command)..(defcustom.dwim-shell
1360 2d 63 6f 6d 6d 61 6e 64 2d 64 6f 6e 65 2d 62 75 66 66 65 72 2d 6e 61 6d 65 0a 20 20 28 6c 61 6d -command-done-buffer-name...(lam
1380 62 64 61 20 28 6e 61 6d 65 29 0a 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 25 73 22 20 6e bda.(name).....(format."%s.%s".n
13a0 61 6d 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 64 6f 6e 65 22 20 27 66 61 63 65 20 27 73 75 ame.(propertize."done".'face.'su
13c0 63 63 65 73 73 29 29 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 66 6f 72 6d 61 74 20 62 ccess)))..."Function.to.format.b
13e0 75 66 66 65 72 20 6e 61 6d 65 20 6f 6e 20 73 75 63 63 65 73 73 2e 0a 55 73 65 20 60 69 64 65 6e uffer.name.on.success..Use.`iden
1400 74 69 66 79 27 20 74 6f 20 72 65 6d 6f 76 65 20 66 6f 72 6d 61 74 74 69 6e 67 2e 22 0a 20 20 3a tify'.to.remove.formatting."...:
1420 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 20 3a 67 72 6f 75 70 20 27 64 77 69 6d 2d 73 68 type.'function...:group.'dwim-sh
1440 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 64 77 69 6d 2d 73 68 ell-command)..(defcustom.dwim-sh
1460 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 65 72 72 6f 72 2d 62 75 66 66 65 72 2d 6e 61 6d 65 0a 20 20 ell-command-error-buffer-name...
1480 28 6c 61 6d 62 64 61 20 28 6e 61 6d 65 29 0a 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 25 (lambda.(name).....(format."%s.%
14a0 73 22 20 6e 61 6d 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 22 65 72 72 6f 72 22 20 27 66 61 63 s".name.(propertize."error".'fac
14c0 65 20 27 65 72 72 6f 72 29 29 29 0a 20 20 22 46 75 6e 63 74 69 6f 6e 20 74 6f 20 66 6f 72 6d 61 e.'error)))..."Function.to.forma
14e0 74 20 62 75 66 66 65 72 20 6e 61 6d 65 20 6f 6e 20 65 72 72 6f 72 2e 0a 55 73 65 20 60 69 64 65 t.buffer.name.on.error..Use.`ide
1500 6e 74 69 66 79 27 20 74 6f 20 72 65 6d 6f 76 65 20 66 6f 72 6d 61 74 74 69 6e 67 2e 22 0a 20 20 ntify'.to.remove.formatting."...
1520 3a 74 79 70 65 20 27 66 75 6e 63 74 69 6f 6e 0a 20 20 3a 67 72 6f 75 70 20 27 64 77 69 6d 2d 73 :type.'function...:group.'dwim-s
1540 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 28 64 65 66 76 61 72 20 64 77 69 6d 2d 73 68 65 6c hell-command)..(defvar.dwim-shel
1560 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 73 20 6e 69 6c 20 22 41 6c 6c 20 63 6f 6d l-command--commands.nil."All.com
1580 6d 61 6e 64 73 20 69 6e 20 70 72 6f 67 72 65 73 73 2e 22 29 0a 0a 28 63 6c 2d 64 65 66 73 74 72 mands.in.progress.")..(cl-defstr
15a0 75 63 74 0a 20 20 20 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d uct.....dwim-shell-command--comm
15c0 61 6e 64 0a 20 20 22 44 65 73 63 72 69 62 65 73 20 61 20 63 6f 6d 6d 61 6e 64 20 69 6e 20 70 72 and..."Describes.a.command.in.pr
15e0 6f 67 72 65 73 73 2e 22 0a 20 20 73 63 72 69 70 74 0a 20 20 70 72 6f 63 65 73 73 0a 20 20 6e 61 ogress."...script...process...na
1600 6d 65 0a 20 20 63 61 6c 6c 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 72 65 70 6f 72 74 65 72 0a 20 me...calling-buffer...reporter..
1620 20 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 66 69 6c 65 73 2d 62 65 66 6f 72 65 0a 20 20 .on-completion...files-before...
1640 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 0a 20 20 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 silent-success...error-autofocus
1660 0a 20 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 ...monitor-directory)..;;;###aut
1680 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 oload.(defun.dwim-shell-command.
16a0 28 70 72 65 66 69 78 29 0a 20 20 22 45 78 65 63 75 74 65 20 44 57 49 4d 20 73 68 65 6c 6c 20 63 (prefix)..."Execute.DWIM.shell.c
16c0 6f 6d 6d 61 6e 64 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 75 73 69 6e 67 20 6e 6f 77 65 ommand.asynchronously.using.nowe
16e0 62 20 74 65 6d 70 6c 61 74 65 73 2e 0a 0a 57 68 69 63 68 20 66 69 6c 65 73 0a 0a 20 20 60 64 77 b.templates...Which.files....`dw
1700 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 74 74 65 6d 70 74 73 20 74 6f 20 67 75 im-shell-command'.attempts.to.gu
1720 65 73 73 20 77 68 69 63 68 20 66 69 6c 65 28 73 29 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 0a 20 ess.which.file(s).you.may.want..
1740 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 74 6f 20 6f 70 65 72 61 74 65 20 6f 6e 2e 0a 0a 20 20 31 .the.command.to.operate.on.....1
1760 2e 20 49 66 20 76 69 73 69 74 69 6e 67 20 61 20 60 64 69 72 65 64 27 20 62 75 66 66 65 72 2c 20 ..If.visiting.a.`dired'.buffer,.
1780 64 72 61 77 20 74 68 65 20 6d 61 72 6b 65 64 20 66 69 6c 65 28 73 29 2e 0a 20 20 32 2e 20 49 66 draw.the.marked.file(s)....2..If
17a0 20 76 69 73 69 74 69 6e 67 20 61 6e 79 20 6f 74 68 65 72 20 62 75 66 66 65 72 20 77 69 74 68 20 .visiting.any.other.buffer.with.
17c0 61 6e 20 61 73 73 6f 63 69 61 74 65 64 20 66 69 6c 65 2c 20 75 73 65 20 74 68 61 74 2e 0a 0a 54 an.associated.file,.use.that...T
17e0 65 6d 70 6c 61 74 65 73 0a 0a 20 20 4f 70 65 72 61 74 65 20 6f 6e 20 64 72 61 77 6e 20 66 69 6c emplates....Operate.on.drawn.fil
1800 65 73 20 75 73 69 6e 67 20 65 69 74 68 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a es.using.either.the.following:..
1820 20 20 20 20 3c 3c 66 3e 3e 20 28 66 69 6c 65 20 70 61 74 68 29 0a 20 20 20 20 3c 3c 66 6e 65 3e ....<<f>>.(file.path).....<<fne>
1840 3e 20 28 66 69 6c 65 20 70 61 74 68 20 77 69 74 68 6f 75 74 20 65 78 74 65 6e 73 69 6f 6e 29 0a >.(file.path.without.extension).
1860 20 20 20 20 3c 3c 65 3e 3e 20 28 65 78 74 65 6e 73 69 6f 6e 29 0a 20 20 20 20 3c 3c 74 64 3e 3e ....<<e>>.(extension).....<<td>>
1880 20 28 67 65 6e 65 72 61 74 65 20 61 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 .(generate.a.temporary.directory
18a0 29 0a 20 20 20 20 3c 3c 2a 3e 3e 20 28 61 6c 6c 20 66 69 6c 65 73 20 6a 6f 69 6e 65 64 29 0a 20 ).....<<*>>.(all.files.joined)..
18c0 20 20 20 3c 3c 63 62 3e 3e 20 28 63 6c 69 70 62 6f 61 72 64 29 0a 20 20 20 20 3c 3c 6e 3e 3e 2c ...<<cb>>.(clipboard).....<<n>>,
18e0 20 3c 3c 31 6e 3e 3e 2c 20 6f 72 20 3c 3c 41 6e 3e 3e 20 28 66 6f 72 20 63 75 72 72 65 6e 74 20 .<<1n>>,.or.<<An>>.(for.current.
1900 69 74 65 72 61 74 69 6f 6e 29 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 iteration)....For.example:......
1920 57 69 74 68 20 64 72 61 77 6e 20 66 69 6c 65 73 20 27 28 5c 22 70 61 74 68 2f 74 6f 2f 69 6d 61 With.drawn.files.'(\"path/to/ima
1940 67 65 31 2e 70 6e 67 5c 22 20 5c 22 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 5c 22 ge1.png\".\"path/to/image2.png\"
1960 29 0a 0a 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e ).....\"convert.'<<f>>'.'<<fne>>
1980 2e 6a 70 67 27 5c 22 20 65 78 70 61 6e 64 73 20 74 6f 0a 0a 20 20 20 20 20 5c 22 63 6f 6e 76 65 .jpg'\".expands.to.......\"conve
19a0 72 74 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f rt.'path/to/image1.png'.'path/to
19c0 2f 69 6d 61 67 65 31 2e 6a 70 67 27 5c 22 0a 20 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 70 /image1.jpg'\"......\"convert.'p
19e0 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 ath/to/image2.png'.'path/to/imag
1a00 65 32 2e 6a 70 67 27 5c 22 0a 0a 20 20 20 77 68 69 6c 65 20 5c 22 6c 73 20 2d 6c 68 20 3c 3c 2a e2.jpg'\".....while.\"ls.-lh.<<*
1a20 3e 3e 5c 22 20 65 78 70 61 6e 64 73 20 74 6f 0a 0a 20 20 20 20 20 5c 22 6c 73 20 2d 6c 68 20 70 >>\".expands.to.......\"ls.-lh.p
1a40 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 20 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 ath/to/image1.png.path/to/image2
1a60 2e 70 6e 67 5c 22 0a 0a 46 6f 63 75 73 0a 0a 20 20 60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d .png\"..Focus....`dwim-shell-com
1a80 6d 61 6e 64 27 20 63 72 65 61 74 65 73 20 61 20 70 72 6f 63 65 73 73 20 62 75 66 66 65 72 20 74 mand'.creates.a.process.buffer.t
1aa0 6f 20 63 61 70 74 75 72 65 20 63 6f 6d 6d 61 6e 64 0a 20 20 6f 75 74 70 75 74 2c 20 62 75 74 20 o.capture.command...output,.but.
1ac0 64 6f 65 73 6e 27 74 20 64 69 73 70 6c 61 79 20 6f 72 20 66 6f 63 75 73 20 6f 6e 20 69 74 20 62 doesn't.display.or.focus.on.it.b
1ae0 79 20 64 65 66 61 75 6c 74 2e 20 20 49 6e 73 74 65 61 64 2c 0a 20 20 69 74 20 74 72 69 65 73 20 y.default...Instead,...it.tries.
1b00 74 6f 20 67 75 65 73 73 20 77 68 61 74 27 73 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e 74 20 to.guess.what's.more.convenient.
1b20 74 6f 20 66 6f 63 75 73 20 6f 6e 2e 0a 0a 20 20 57 68 69 6c 65 20 74 68 65 20 70 72 6f 63 65 73 to.focus.on.....While.the.proces
1b40 73 20 69 73 20 62 75 73 79 2c 20 73 68 6f 77 20 61 20 73 70 69 6e 6e 65 72 20 69 6e 20 74 68 65 s.is.busy,.show.a.spinner.in.the
1b60 20 6d 69 6e 69 62 75 66 66 65 72 2e 20 20 4e 6f 0a 20 20 66 6f 63 75 73 20 63 68 61 6e 67 65 73 .minibuffer...No...focus.changes
1b80 2e 0a 0a 20 20 41 66 74 65 72 20 70 72 6f 63 65 73 73 20 69 73 20 66 69 6e 69 73 68 65 64 3a 0a .....After.process.is.finished:.
1ba0 0a 20 20 31 2e 20 49 66 20 74 68 65 72 65 20 77 65 72 65 20 61 6e 79 20 66 69 6c 65 73 20 63 72 ...1..If.there.were.any.files.cr
1bc0 65 61 74 65 64 20 69 6e 20 74 68 65 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 eated.in.the.`default-directory'
1be0 2c 0a 20 20 6a 75 6d 70 20 74 6f 20 61 20 60 64 69 72 65 64 27 20 62 75 66 66 65 72 20 61 6e 64 ,...jump.to.a.`dired'.buffer.and
1c00 20 6d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6e 65 77 20 66 69 6c 65 20 28 76 69 61 .move.point.to.the.new.file.(via
1c20 0a 20 20 60 64 69 72 65 64 2d 6a 75 6d 70 27 29 2e 0a 0a 20 20 32 2e 20 49 66 20 6e 6f 20 6e 65 ...`dired-jump').....2..If.no.ne
1c40 77 20 66 69 6c 65 73 20 77 65 72 65 20 63 72 65 61 74 65 64 2c 20 61 75 74 6f 6d 61 74 69 63 61 w.files.were.created,.automatica
1c60 6c 6c 79 20 73 77 69 74 63 68 20 66 6f 63 75 73 20 74 6f 20 74 68 65 0a 20 20 70 72 6f 63 65 73 lly.switch.focus.to.the...proces
1c80 73 20 62 75 66 66 65 72 20 61 6e 64 20 64 69 73 70 6c 61 79 20 69 74 73 20 6f 75 74 70 75 74 2e s.buffer.and.display.its.output.
1ca0 0a 0a 20 20 20 20 4e 6f 74 65 3a 20 59 6f 75 20 63 61 6e 20 70 72 65 76 65 6e 74 20 74 68 69 73 ......Note:.You.can.prevent.this
1cc0 20 61 75 74 6f 6d 61 74 69 63 20 66 6f 63 75 73 20 62 79 20 70 72 65 70 65 6e 64 69 6e 67 20 79 .automatic.focus.by.prepending.y
1ce0 6f 75 72 0a 20 20 20 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 77 68 69 74 65 73 70 61 63 65 2e our.....command.with.whitespace.
1d00 0a 0a 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 56 0a 20 20 20 20 5c 22 20 63 6f 6e 76 65 72 74 ........|.......V.....\".convert
1d20 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6a 70 67 27 5c 22 0a 0a 20 20 33 2e 20 49 .'<<f>>'.'<<fne>>.jpg'\"....3..I
1d40 66 20 74 68 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 63 61 75 73 65 64 20 61 6e 79 20 65 f.the.shell.command.caused.any.e
1d60 72 72 6f 72 73 2c 20 6f 66 66 65 72 20 74 6f 20 66 6f 63 75 73 20 74 68 65 0a 20 20 70 72 6f 63 rrors,.offer.to.focus.the...proc
1d80 65 73 73 20 62 75 66 66 65 72 20 61 6e 64 20 64 69 73 70 6c 61 79 20 69 74 73 20 6f 75 74 70 75 ess.buffer.and.display.its.outpu
1da0 74 2e 0a 0a 51 75 69 63 6b 20 65 78 69 74 0a 0a 20 20 50 72 6f 63 65 73 73 20 62 75 66 66 65 72 t...Quick.exit....Process.buffer
1dc0 73 20 61 72 65 20 72 65 61 64 2d 6f 6e 6c 79 20 61 6e 64 20 63 61 6e 20 62 65 20 71 75 69 63 6b s.are.read-only.and.can.be.quick
1de0 6c 79 20 63 6c 6f 73 65 64 20 62 79 0a 20 20 70 72 65 73 73 69 6e 67 20 60 71 27 2e 0a 0a 50 72 ly.closed.by...pressing.`q'...Pr
1e00 65 66 69 78 0a 0a 20 20 57 69 74 68 20 50 52 45 46 49 58 2c 20 65 78 65 63 75 74 65 20 63 6f 6d efix....With.PREFIX,.execute.com
1e20 6d 61 6e 64 20 74 68 61 74 20 6e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 2e 22 0a 20 20 28 69 mand.that.number.of.times."...(i
1e40 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 6c 65 74 20 28 28 73 63 72 69 70 74 20 nteractive."p")...(let.((script.
1e60 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 72 65 61 64 2d 73 68 65 6c 6c 2d (dwim-shell-command--read-shell-
1e80 63 6f 6d 6d 61 6e 64 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 command))).....(dwim-shell-comma
1ea0 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 64 77 69 6d 2d 73 68 65 nd-on-marked-files......dwim-she
1ec0 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 73 63 72 69 70 74 0a 20 20 ll-command-buffer-name.script...
1ee0 20 20 20 3a 72 65 70 65 61 74 20 70 72 65 66 69 78 0a 20 20 20 20 20 3a 73 68 65 6c 6c 2d 75 74 ...:repeat.prefix......:shell-ut
1f00 69 6c 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 68 65 6c 6c 2d 75 74 69 6c il.dwim-shell-command-shell-util
1f20 0a 20 20 20 20 20 3a 73 68 65 6c 6c 2d 61 72 67 73 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d ......:shell-args.dwim-shell-com
1f40 6d 61 6e 64 2d 73 68 65 6c 6c 2d 61 72 67 73 0a 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 mand-shell-args......:silent-suc
1f60 63 65 73 73 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 20 22 20 73 63 72 69 70 74 cess.(string-prefix-p.".".script
1f80 29 0a 20 20 20 20 20 3a 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 20 28 6e 6f 74 20 64 77 69 )......:error-autofocus.(not.dwi
1fa0 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 70 72 6f 6d 70 74 2d 6f 6e 2d 65 72 72 6f 72 29 m-shell-command-prompt-on-error)
1fc0 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d )))..(defun.dwim-shell-command--
1fe0 72 65 61 64 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 28 29 0a 20 20 22 52 65 61 64 20 61 20 read-shell-command.()..."Read.a.
2000 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 shell.command.from.the.minibuffe
2020 72 2c 20 75 73 69 6e 67 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 27 r,.using.`shell-command-history'
2040 2e 22 0a 20 20 28 6d 69 6e 69 62 75 66 66 65 72 2d 77 69 74 68 2d 73 65 74 75 70 2d 68 6f 6f 6b ."...(minibuffer-with-setup-hook
2060 0a 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 28 62 65 67 69 6e .......(lambda.().........(begin
2080 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 ning-of-line).........(setq-loca
20a0 6c 20 6d 69 6e 69 62 75 66 66 65 72 2d 64 65 66 61 75 6c 74 2d 61 64 64 2d 66 75 6e 63 74 69 6f l.minibuffer-default-add-functio
20c0 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 6d 69 6e 69 62 75 66 66 n.....................#'minibuff
20e0 65 72 2d 64 65 66 61 75 6c 74 2d 61 64 64 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 29 29 0a er-default-add-shell-commands)).
2100 20 20 20 20 28 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 64 77 69 6d 2d 73 ....(read-from-minibuffer.dwim-s
2120 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 70 72 6f 6d 70 74 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 hell-command-prompt.dwim-shell-c
2140 6f 6d 6d 61 6e 64 2d 64 65 66 61 75 6c 74 2d 63 6f 6d 6d 61 6e 64 20 6e 69 6c 20 6e 69 6c 20 27 ommand-default-command.nil.nil.'
2160 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 68 69 73 74 6f 72 79 29 29 29 0a 0a 28 63 6c 2d 64 65 shell-command-history)))..(cl-de
2180 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 fun.dwim-shell-command-on-marked
21a0 2d 66 69 6c 65 73 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 73 63 72 69 70 74 20 26 6b 65 79 20 -files.(buffer-name.script.&key.
21c0 75 74 69 6c 73 20 65 78 74 65 6e 73 69 6f 6e 73 20 73 68 65 6c 6c 2d 75 74 69 6c 20 73 68 65 6c utils.extensions.shell-util.shel
21e0 6c 2d 61 72 67 73 20 73 68 65 6c 6c 2d 74 72 61 63 65 20 73 68 65 6c 6c 2d 70 69 70 65 20 70 6f l-args.shell-trace.shell-pipe.po
2200 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f st-process-template.on-completio
2220 6e 20 72 65 70 65 61 74 20 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 6e 6f 2d 70 72 6f 67 72 n.repeat.silent-success.no-progr
2240 65 73 73 20 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 ess.error-autofocus.monitor-dire
2260 63 74 6f 72 79 20 66 6f 63 75 73 2d 6e 6f 77 20 6a 6f 69 6e 2d 73 65 70 61 72 61 74 6f 72 20 74 ctory.focus-now.join-separator.t
2280 65 6d 70 2d 64 69 72 29 0a 20 20 22 43 72 65 61 74 65 20 44 57 49 4d 20 75 74 69 6c 69 74 69 65 emp-dir)..."Create.DWIM.utilitie
22a0 73 20 65 78 65 63 75 74 69 6e 67 20 74 65 6d 70 6c 61 74 65 64 20 53 43 52 49 50 54 20 6f 6e 20 s.executing.templated.SCRIPT.on.
22c0 67 69 76 65 6e 20 66 69 6c 65 73 2e 0a 0a 48 65 72 65 27 73 20 61 20 73 69 6d 70 6c 65 20 75 74 given.files...Here's.a.simple.ut
22e0 69 6c 69 74 79 20 69 6e 76 6f 6b 69 6e 67 20 53 43 52 49 50 54 20 74 6f 20 63 6f 6e 76 65 72 74 ility.invoking.SCRIPT.to.convert
2300 20 69 6d 61 67 65 20 66 69 6c 65 73 20 74 6f 20 6a 70 67 2e 0a 0a 20 20 28 64 65 66 75 6e 20 64 .image.files.to.jpg.....(defun.d
2320 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 63 6f 6e 76 65 72 74 2d 69 6d 61 67 65 2d wim-shell-command-convert-image-
2340 74 6f 2d 6a 70 67 20 28 29 0a 20 20 20 20 5c 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b to-jpg.().....\"Convert.all.mark
2360 65 64 20 69 6d 61 67 65 73 20 74 6f 20 6a 70 67 28 73 29 2e 5c 22 0a 20 20 20 20 28 69 6e 74 65 ed.images.to.jpg(s).\".....(inte
2380 72 61 63 74 69 76 65 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 ractive).....(dwim-shell-command
23a0 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 5c 22 43 6f 6e 76 65 72 74 20 -on-marked-files......\"Convert.
23c0 74 6f 20 6a 70 67 5c 22 0a 20 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f 73 65 to.jpg\"......\"convert.-verbose
23e0 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6a 70 67 27 5c 22 0a 20 20 20 20 20 3a 75 .'<<f>>'.'<<fne>>.jpg'\"......:u
2400 74 69 6c 73 20 5c 22 63 6f 6e 76 65 72 74 5c 22 29 29 0a 0a 43 68 65 63 6b 20 60 64 77 69 6d 2d tils.\"convert\"))..Check.`dwim-
2420 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 63 6f 6d 6d 61 6e 64 73 2e 65 6c 27 20 66 6f 72 20 6d shell-command-commands.el'.for.m
2440 6f 72 65 20 65 78 61 6d 70 6c 65 73 2e 0a 0a 41 6c 6c 20 63 6f 6d 6d 61 6e 64 20 70 72 6f 63 65 ore.examples...All.command.proce
2460 73 73 20 6f 75 74 70 75 74 20 69 73 20 77 72 69 74 74 65 6e 20 74 6f 20 61 20 62 75 66 66 65 72 ss.output.is.written.to.a.buffer
2480 20 77 69 74 68 20 42 55 46 46 45 52 2d 4e 41 4d 45 2e 0a 0a 41 6c 6c 20 70 61 72 61 6d 73 20 65 .with.BUFFER-NAME...All.params.e
24a0 78 70 6c 61 69 6e 65 64 20 69 6e 20 60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d xplained.in.`dwim-shell-command-
24c0 65 78 65 63 75 74 65 2d 73 63 72 69 70 74 27 2e 0a 0a 57 68 69 63 68 20 66 69 6c 65 73 0a 0a 20 execute-script'...Which.files...
24e0 20 60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 .`dwim-shell-command-on-marked-f
2500 69 6c 65 73 27 20 61 74 74 65 6d 70 74 73 20 74 6f 20 67 75 65 73 73 20 77 68 69 63 68 20 66 69 iles'.attempts.to.guess.which.fi
2520 6c 65 28 73 29 0a 20 20 79 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 68 65 20 63 6f 6d 6d 61 6e 64 le(s)...you.may.want.the.command
2540 20 74 6f 20 6f 70 65 72 61 74 65 20 6f 6e 2e 0a 0a 20 20 31 2e 20 49 66 20 76 69 73 69 74 69 6e .to.operate.on.....1..If.visitin
2560 67 20 61 20 60 64 69 72 65 64 27 20 62 75 66 66 65 72 2c 20 64 72 61 77 20 74 68 65 20 6d 61 72 g.a.`dired'.buffer,.draw.the.mar
2580 6b 65 64 20 66 69 6c 65 28 73 29 2e 0a 20 20 32 2e 20 49 66 20 76 69 73 69 74 69 6e 67 20 61 6e ked.file(s)....2..If.visiting.an
25a0 79 20 6f 74 68 65 72 20 62 75 66 66 65 72 20 77 69 74 68 20 61 6e 20 61 73 73 6f 63 69 61 74 65 y.other.buffer.with.an.associate
25c0 64 20 66 69 6c 65 2c 20 75 73 65 20 74 68 61 74 2e 0a 0a 54 65 6d 70 6c 61 74 65 73 0a 0a 20 20 d.file,.use.that...Templates....
25e0 4f 70 65 72 61 74 65 20 6f 6e 20 64 72 61 77 6e 20 66 69 6c 65 73 20 75 73 69 6e 67 20 65 69 74 Operate.on.drawn.files.using.eit
2600 68 65 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 0a 20 20 20 20 3c 3c 66 3e 3e 20 28 66 her.the.following:......<<f>>.(f
2620 69 6c 65 20 70 61 74 68 29 0a 20 20 20 20 3c 3c 66 6e 65 3e 3e 20 28 66 69 6c 65 20 70 61 74 68 ile.path).....<<fne>>.(file.path
2640 20 77 69 74 68 6f 75 74 20 65 78 74 65 6e 73 69 6f 6e 29 0a 20 20 20 20 3c 3c 65 3e 3e 20 28 65 .without.extension).....<<e>>.(e
2660 78 74 65 6e 73 69 6f 6e 29 0a 20 20 20 20 3c 3c 74 64 3e 3e 20 28 67 65 6e 65 72 61 74 65 20 61 xtension).....<<td>>.(generate.a
2680 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 3c 3c 2a 3e 3e 20 .temporary.directory).....<<*>>.
26a0 28 61 6c 6c 20 66 69 6c 65 73 20 6a 6f 69 6e 65 64 29 0a 20 20 20 20 3c 3c 63 62 3e 3e 20 28 63 (all.files.joined).....<<cb>>.(c
26c0 6c 69 70 62 6f 61 72 64 29 0a 20 20 20 20 3c 3c 6e 3e 3e 2c 20 3c 3c 31 6e 3e 3e 2c 20 6f 72 20 lipboard).....<<n>>,.<<1n>>,.or.
26e0 3c 3c 41 6e 3e 3e 20 28 66 6f 72 20 63 75 72 72 65 6e 74 20 69 74 65 72 61 74 69 6f 6e 29 0a 0a <<An>>.(for.current.iteration)..
2700 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 57 69 74 68 20 64 72 61 77 6e 20 66 ..For.example:......With.drawn.f
2720 69 6c 65 73 20 27 28 5c 22 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 5c 22 20 5c 22 iles.'(\"path/to/image1.png\".\"
2740 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 5c 22 29 0a 0a 20 20 20 5c 22 63 6f 6e 76 path/to/image2.png\").....\"conv
2760 65 72 74 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6a 70 67 27 5c 22 20 65 78 70 61 ert.'<<f>>'.'<<fne>>.jpg'\".expa
2780 6e 64 73 20 74 6f 0a 0a 20 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 70 61 74 68 2f 74 6f 2f nds.to.......\"convert.'path/to/
27a0 69 6d 61 67 65 31 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 6a 70 67 27 image1.png'.'path/to/image1.jpg'
27c0 5c 22 0a 20 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 \"......\"convert.'path/to/image
27e0 32 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 6a 70 67 27 5c 22 0a 0a 20 2.png'.'path/to/image2.jpg'\"...
2800 20 20 77 68 69 6c 65 20 5c 22 6c 73 20 2d 6c 68 20 3c 3c 2a 3e 3e 5c 22 20 65 78 70 61 6e 64 73 ..while.\"ls.-lh.<<*>>\".expands
2820 20 74 6f 0a 0a 20 20 20 20 20 5c 22 6c 73 20 2d 6c 68 20 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 .to.......\"ls.-lh.path/to/image
2840 31 2e 70 6e 67 20 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 5c 22 0a 0a 46 6f 63 75 1.png.path/to/image2.png\"..Focu
2860 73 0a 0a 20 20 60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b s....`dwim-shell-command-on-mark
2880 65 64 2d 66 69 6c 65 73 27 20 63 72 65 61 74 65 73 20 61 20 70 72 6f 63 65 73 73 20 62 75 66 66 ed-files'.creates.a.process.buff
28a0 65 72 20 74 6f 0a 20 20 63 61 70 74 75 72 65 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 2c 20 er.to...capture.command.output,.
28c0 62 75 74 20 64 6f 65 73 6e 27 74 20 64 69 73 70 6c 61 79 20 6f 72 20 66 6f 63 75 73 20 6f 6e 20 but.doesn't.display.or.focus.on.
28e0 69 74 20 62 79 0a 20 20 64 65 66 61 75 6c 74 2e 20 20 49 6e 73 74 65 61 64 2c 20 69 74 20 74 72 it.by...default...Instead,.it.tr
2900 69 65 73 20 74 6f 20 67 75 65 73 73 20 77 68 61 74 27 73 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 ies.to.guess.what's.more.conveni
2920 65 6e 74 20 74 6f 20 66 6f 63 75 73 0a 20 20 6f 6e 2e 0a 0a 20 20 57 68 69 6c 65 20 74 68 65 20 ent.to.focus...on.....While.the.
2940 70 72 6f 63 65 73 73 20 69 73 20 62 75 73 79 2c 20 73 68 6f 77 20 61 20 73 70 69 6e 6e 65 72 20 process.is.busy,.show.a.spinner.
2960 69 6e 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 20 20 4e 6f 0a 20 20 66 6f 63 75 73 20 63 in.the.minibuffer...No...focus.c
2980 68 61 6e 67 65 73 2e 0a 0a 20 20 41 66 74 65 72 20 70 72 6f 63 65 73 73 20 69 73 20 66 69 6e 69 hanges.....After.process.is.fini
29a0 73 68 65 64 3a 0a 0a 20 20 31 2e 20 49 66 20 74 68 65 72 65 20 77 65 72 65 20 61 6e 79 20 66 69 shed:....1..If.there.were.any.fi
29c0 6c 65 73 20 63 72 65 61 74 65 64 20 69 6e 20 74 68 65 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 les.created.in.the.`default-dire
29e0 63 74 6f 72 79 27 2c 0a 20 20 6a 75 6d 70 20 74 6f 20 61 20 60 64 69 72 65 64 27 20 62 75 66 66 ctory',...jump.to.a.`dired'.buff
2a00 65 72 20 61 6e 64 20 6d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 6e 65 77 20 66 69 6c er.and.move.point.to.the.new.fil
2a20 65 20 28 76 69 61 0a 20 20 60 64 69 72 65 64 2d 6a 75 6d 70 27 29 2e 0a 0a 20 20 32 2e 20 49 66 e.(via...`dired-jump').....2..If
2a40 20 6e 6f 20 6e 65 77 20 66 69 6c 65 73 20 77 65 72 65 20 63 72 65 61 74 65 64 2c 20 61 75 74 6f .no.new.files.were.created,.auto
2a60 6d 61 74 69 63 61 6c 6c 79 20 73 77 69 74 63 68 20 66 6f 63 75 73 20 74 6f 20 74 68 65 0a 20 20 matically.switch.focus.to.the...
2a80 70 72 6f 63 65 73 73 20 62 75 66 66 65 72 20 61 6e 64 20 64 69 73 70 6c 61 79 20 69 74 73 20 6f process.buffer.and.display.its.o
2aa0 75 74 70 75 74 2e 0a 0a 20 20 20 20 4e 6f 74 65 3a 20 59 6f 75 20 63 61 6e 20 70 72 65 76 65 6e utput.......Note:.You.can.preven
2ac0 74 20 74 68 69 73 20 61 75 74 6f 6d 61 74 69 63 20 66 6f 63 75 73 20 62 79 20 70 72 65 70 65 6e t.this.automatic.focus.by.prepen
2ae0 64 69 6e 67 20 79 6f 75 72 0a 20 20 20 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 77 68 69 74 65 ding.your.....command.with.white
2b00 73 70 61 63 65 2e 0a 0a 20 20 20 20 20 20 7c 0a 20 20 20 20 20 20 56 0a 20 20 20 20 5c 22 20 63 space.........|.......V.....\".c
2b20 6f 6e 76 65 72 74 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6a 70 67 27 5c 22 0a 0a onvert.'<<f>>'.'<<fne>>.jpg'\"..
2b40 20 20 33 2e 20 49 66 20 74 68 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 63 61 75 73 65 64 ..3..If.the.shell.command.caused
2b60 20 61 6e 79 20 65 72 72 6f 72 73 2c 20 6f 66 66 65 72 20 74 6f 20 66 6f 63 75 73 20 74 68 65 0a .any.errors,.offer.to.focus.the.
2b80 20 20 70 72 6f 63 65 73 73 20 62 75 66 66 65 72 20 61 6e 64 20 64 69 73 70 6c 61 79 20 69 74 73 ..process.buffer.and.display.its
2ba0 20 6f 75 74 70 75 74 2e 0a 0a 51 75 69 63 6b 20 65 78 69 74 0a 0a 20 20 50 72 6f 63 65 73 73 20 .output...Quick.exit....Process.
2bc0 62 75 66 66 65 72 73 20 61 72 65 20 72 65 61 64 2d 6f 6e 6c 79 20 61 6e 64 20 63 61 6e 20 62 65 buffers.are.read-only.and.can.be
2be0 20 71 75 69 63 6b 6c 79 20 63 6c 6f 73 65 64 20 62 79 0a 20 20 70 72 65 73 73 69 6e 67 20 60 71 .quickly.closed.by...pressing.`q
2c00 27 2e 22 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 65 78 65 63 75 74 '."...(dwim-shell-command-execut
2c20 65 2d 73 63 72 69 70 74 20 62 75 66 66 65 72 2d 6e 61 6d 65 20 73 63 72 69 70 74 0a 20 20 20 20 e-script.buffer-name.script.....
2c40 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 ................................
2c60 20 3a 66 69 6c 65 73 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6c .:files.(dwim-shell-command--fil
2c80 65 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 es).............................
2ca0 20 20 20 20 20 20 20 20 20 3a 75 74 69 6c 73 20 75 74 69 6c 73 0a 20 20 20 20 20 20 20 20 20 20 .........:utils.utils...........
2cc0 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 3a 65 78 74 65 ...........................:exte
2ce0 6e 73 69 6f 6e 73 20 65 78 74 65 6e 73 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nsions.extensions...............
2d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 68 65 6c 6c 2d 75 74 .......................:shell-ut
2d20 69 6c 20 73 68 65 6c 6c 2d 75 74 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 il.shell-util...................
2d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 68 65 6c 6c 2d 61 72 67 73 20 73 ...................:shell-args.s
2d60 68 65 6c 6c 2d 61 72 67 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 hell-args.......................
2d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 68 65 6c 6c 2d 74 72 61 63 65 20 73 68 65 6c ...............:shell-trace.shel
2da0 6c 2d 74 72 61 63 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 l-trace.........................
2dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 68 65 6c 6c 2d 70 69 70 65 20 73 68 65 6c 6c 2d 70 .............:shell-pipe.shell-p
2de0 69 70 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 20 ipe.............................
2e00 20 20 20 20 20 20 20 20 20 3a 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 .........:post-process-template.
2e20 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 post-process-template...........
2e40 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 3a 6f 6e 2d 63 ...........................:on-c
2e60 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 ompletion.on-completion.........
2e80 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 3a 73 69 .............................:si
2ea0 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 0a 20 20 20 20 lent-success.silent-success.....
2ec0 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 ................................
2ee0 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 6e 6f 2d 70 72 6f 67 72 65 73 73 0a 20 20 20 20 20 20 .:no-progress.no-progress.......
2f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a ...............................:
2f20 72 65 70 65 61 74 20 72 65 70 65 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 repeat.repeat...................
2f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 72 72 6f 72 2d 61 75 74 6f 66 6f ...................:error-autofo
2f60 63 75 73 20 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 cus.error-autofocus.............
2f80 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 6d 6f 6e 69 74 6f .........................:monito
2fa0 72 2d 64 69 72 65 63 74 6f 72 79 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 r-directory.monitor-directory...
2fc0 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 ................................
2fe0 20 20 20 3a 66 6f 63 75 73 2d 6e 6f 77 20 66 6f 63 75 73 2d 6e 6f 77 0a 20 20 20 20 20 20 20 20 ...:focus-now.focus-now.........
3000 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 3a 6a 6f .............................:jo
3020 69 6e 2d 73 65 70 61 72 61 74 6f 72 20 6a 6f 69 6e 2d 73 65 70 61 72 61 74 6f 72 0a 20 20 20 20 in-separator.join-separator.....
3040 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 ................................
3060 20 3a 74 65 6d 70 2d 64 69 72 20 74 65 6d 70 2d 64 69 72 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e .:temp-dir.temp-dir))..(cl-defun
3080 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 65 78 65 63 75 74 65 2d 73 63 72 69 .dwim-shell-command-execute-scri
30a0 70 74 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 73 63 72 69 70 74 20 26 6b 65 79 20 66 69 6c 65 pt.(buffer-name.script.&key.file
30c0 73 20 65 78 74 65 6e 73 69 6f 6e 73 20 73 68 65 6c 6c 2d 75 74 69 6c 20 73 68 65 6c 6c 2d 61 72 s.extensions.shell-util.shell-ar
30e0 67 73 20 73 68 65 6c 6c 2d 74 72 61 63 65 20 73 68 65 6c 6c 2d 70 69 70 65 20 75 74 69 6c 73 20 gs.shell-trace.shell-pipe.utils.
3100 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 6f 6e 2d 63 6f 6d 70 6c 65 74 post-process-template.on-complet
3120 69 6f 6e 20 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 65 6d 70 2d 64 69 72 20 72 65 70 65 ion.silent-success.temp-dir.repe
3140 61 74 20 6e 6f 2d 70 72 6f 67 72 65 73 73 20 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 20 6d at.no-progress.error-autofocus.m
3160 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 66 6f 63 75 73 2d 6e 6f 77 20 6a 6f 69 6e 2d onitor-directory.focus-now.join-
3180 73 65 70 61 72 61 74 6f 72 29 0a 20 20 22 45 78 65 63 75 74 65 20 61 20 73 63 72 69 70 74 20 61 separator)..."Execute.a.script.a
31a0 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2c 20 44 57 49 4d 20 73 74 79 6c 65 20 77 69 74 68 20 53 synchronously,.DWIM.style.with.S
31c0 43 52 49 50 54 20 61 6e 64 20 42 55 46 46 45 52 2d 4e 41 4d 45 2e 0a 0a 3a 46 49 4c 45 53 20 61 CRIPT.and.BUFFER-NAME...:FILES.a
31e0 72 65 20 75 73 65 64 20 74 6f 20 69 6e 73 74 61 6e 74 69 61 74 65 20 53 43 52 49 50 54 20 61 73 re.used.to.instantiate.SCRIPT.as
3200 20 61 20 6e 6f 77 65 62 20 74 65 6d 70 6c 61 74 65 2e 0a 0a 20 20 54 68 65 20 66 6f 6c 6c 6f 77 .a.noweb.template.....The.follow
3220 69 6e 67 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 3a 0a 0a 20 20 20 20 3c 3c 66 3e 3e 20 28 66 ing.are.supported:......<<f>>.(f
3240 69 6c 65 20 70 61 74 68 29 0a 20 20 20 20 3c 3c 66 6e 65 3e 3e 20 28 66 69 6c 65 20 70 61 74 68 ile.path).....<<fne>>.(file.path
3260 20 77 69 74 68 6f 75 74 20 65 78 74 65 6e 73 69 6f 6e 29 0a 20 20 20 20 3c 3c 65 3e 3e 20 28 65 .without.extension).....<<e>>.(e
3280 78 74 65 6e 73 69 6f 6e 29 0a 20 20 20 20 3c 3c 74 64 3e 3e 20 28 67 65 6e 65 72 61 74 65 20 61 xtension).....<<td>>.(generate.a
32a0 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 3c 3c 2a 3e 3e 20 .temporary.directory).....<<*>>.
32c0 28 61 6c 6c 20 66 69 6c 65 73 20 6a 6f 69 6e 65 64 29 0a 20 20 20 20 3c 3c 63 62 3e 3e 20 28 63 (all.files.joined).....<<cb>>.(c
32e0 6c 69 70 62 6f 61 72 64 29 0a 20 20 20 20 3c 3c 6e 3e 3e 2c 20 3c 3c 31 6e 3e 3e 2c 20 6f 72 20 lipboard).....<<n>>,.<<1n>>,.or.
3300 3c 3c 41 6e 3e 3e 20 28 66 6f 72 20 63 75 72 72 65 6e 74 20 69 74 65 72 61 74 69 6f 6e 29 0a 0a <<An>>.(for.current.iteration)..
3320 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 47 69 76 65 6e 20 3a 46 49 4c 45 53 ..For.example:......Given.:FILES
3340 20 27 28 5c 22 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 5c 22 20 5c 22 70 61 74 68 .'(\"path/to/image1.png\".\"path
3360 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 5c 22 29 0a 0a 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 /to/image2.png\")......\"convert
3380 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6a 70 67 27 5c 22 20 65 78 70 61 6e 64 73 .'<<f>>'.'<<fne>>.jpg'\".expands
33a0 20 74 6f 0a 0a 20 20 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 70 61 74 68 2f 74 6f 2f 69 6d .to........\"convert.'path/to/im
33c0 61 67 65 31 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 6a 70 67 27 5c 22 age1.png'.'path/to/image1.jpg'\"
33e0 0a 20 20 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 .......\"convert.'path/to/image2
3400 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 6a 70 67 27 5c 22 0a 0a 20 20 .png'.'path/to/image2.jpg'\"....
3420 20 20 61 6e 64 20 5c 22 6c 73 20 2d 6c 68 20 3c 3c 2a 3e 3e 5c 22 20 65 78 70 61 6e 64 73 20 74 ..and.\"ls.-lh.<<*>>\".expands.t
3440 6f 0a 0a 20 20 20 20 20 20 5c 22 6c 73 20 2d 6c 68 20 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 o........\"ls.-lh.path/to/image1
3460 2e 70 6e 67 20 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 5c 22 0a 0a 3a 45 58 54 45 .png.path/to/image2.png\"..:EXTE
3480 4e 53 49 4f 4e 53 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 61 6c 6c 20 66 69 6c 65 73 20 69 6e NSIONS.ensures.that.all.files.in
34a0 20 3a 46 49 4c 45 53 20 68 61 76 65 20 74 68 65 20 67 69 76 65 6e 0a 65 78 74 65 6e 73 69 6f 6e .:FILES.have.the.given.extension
34c0 73 2e 20 20 43 61 6e 20 62 65 20 65 69 74 68 65 72 20 73 69 6e 67 6c 65 20 73 74 72 69 6e 67 20 s...Can.be.either.single.string.
34e0 5c 22 70 6e 67 5c 22 20 6f 72 20 61 20 6c 69 73 74 20 27 28 5c 22 70 6e 67 5c 22 20 5c 22 6a 70 \"png\".or.a.list.'(\"png\".\"jp
3500 67 5c 22 29 2e 0a 0a 3a 53 48 45 4c 4c 2d 55 54 49 4c 20 61 6e 64 20 3a 53 48 45 4c 4c 2d 41 52 g\")...:SHELL-UTIL.and.:SHELL-AR
3520 47 53 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 73 70 65 63 69 66 79 20 53 43 52 49 50 54 GS.can.be.used.to.specify.SCRIPT
3540 20 69 6e 74 65 72 70 72 65 74 65 72 2e 0a 0a 20 20 46 6f 72 20 70 79 74 68 6f 6e 2c 20 75 73 65 .interpreter.....For.python,.use
3560 3a 0a 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 65 78 65 63 75 :......(dwim-shell-command-execu
3580 74 65 2d 73 63 72 69 70 74 0a 20 20 20 20 20 20 20 5c 22 50 72 69 6e 74 20 50 69 5c 22 0a 20 20 te-script........\"Print.Pi\"...
35a0 20 20 20 20 20 5c 22 69 6d 70 6f 72 74 20 6d 61 74 68 0a 20 20 20 20 20 20 20 20 20 70 72 69 6e .....\"import.math..........prin
35c0 74 20 6d 61 74 68 2e 70 69 5c 22 0a 20 20 20 20 20 20 20 3a 73 68 65 6c 6c 2d 75 74 69 6c 20 5c t.math.pi\"........:shell-util.\
35e0 22 70 79 74 68 6f 6e 5c 22 0a 20 20 20 20 20 20 20 3a 73 68 65 6c 6c 2d 61 72 67 73 20 5c 22 2d "python\"........:shell-args.\"-
3600 63 5c 22 29 0a 0a 3a 53 48 45 4c 4c 2d 50 49 50 45 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f c\")..:SHELL-PIPE.can.be.used.to
3620 20 70 69 70 65 20 53 43 52 49 50 54 20 74 6f 20 69 74 0a 0a 20 20 46 6f 72 20 73 77 69 66 74 2c .pipe.SCRIPT.to.it....For.swift,
3640 20 75 73 65 3a 0a 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f .use:......(dwim-shell-command-o
3660 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 5c 22 50 72 69 6e 74 20 50 69 n-marked-files........\"Print.Pi
3680 5c 22 0a 20 20 20 20 20 20 20 5c 22 70 72 69 6e 74 28 44 6f 75 62 6c 65 2e 70 69 29 5c 22 0a 20 \"........\"print(Double.pi)\"..
36a0 20 20 20 20 20 20 3a 73 68 65 6c 6c 2d 70 69 70 65 20 5c 22 73 77 69 66 74 20 2d 5c 22 29 0a 0a ......:shell-pipe.\"swift.-\")..
36c0 3a 55 54 49 4c 53 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 61 6c 6c 20 6e 65 65 64 65 64 20 63 :UTILS.ensures.that.all.needed.c
36e0 6f 6d 6d 61 6e 64 20 6c 69 6e 65 20 75 74 69 6c 69 74 69 65 73 20 61 72 65 20 69 6e 73 74 61 6c ommand.line.utilities.are.instal
3700 6c 65 64 2e 0a 43 61 6e 20 62 65 20 65 69 74 68 65 72 20 61 20 73 69 6e 67 6c 65 20 73 74 72 69 led..Can.be.either.a.single.stri
3720 6e 67 20 5c 22 66 66 6d 70 65 67 5c 22 20 6f 72 20 61 20 6c 69 73 74 20 27 28 5c 22 66 66 6d 70 ng.\"ffmpeg\".or.a.list.'(\"ffmp
3740 65 74 5c 22 20 5c 22 63 6f 6e 76 65 72 74 5c 22 29 2e 0a 0a 3a 50 4f 53 54 2d 50 52 4f 43 45 53 et\".\"convert\")...:POST-PROCES
3760 53 2d 54 45 4d 50 4c 41 54 45 20 65 6e 61 62 6c 65 73 20 70 72 6f 63 65 73 73 69 6e 67 20 74 65 S-TEMPLATE.enables.processing.te
3780 6d 70 6c 61 74 65 20 66 75 72 74 68 65 72 20 61 66 74 65 72 20 6e 6f 77 65 62 0a 69 6e 73 74 61 mplate.further.after.noweb.insta
37a0 6e 74 69 61 74 69 6f 6e 2e 0a 0a 3a 4f 4e 2d 43 4f 4d 50 4c 45 54 49 4f 4e 20 69 73 20 69 6e 76 ntiation...:ON-COMPLETION.is.inv
37c0 6f 6b 65 64 20 61 66 74 65 72 20 53 43 52 49 50 54 20 65 78 65 63 75 74 65 73 20 28 64 69 73 61 oked.after.SCRIPT.executes.(disa
37e0 62 6c 69 6e 67 20 44 57 49 4d 0a 69 6e 74 65 72 6e 61 6c 20 62 65 68 61 76 69 6f 72 29 2e 0a 0a bling.DWIM.internal.behavior)...
3800 3a 53 49 4c 45 4e 54 2d 53 55 43 43 45 53 53 20 74 6f 20 61 76 6f 69 64 20 6a 75 6d 70 69 6e 67 :SILENT-SUCCESS.to.avoid.jumping
3820 20 74 6f 20 70 72 6f 63 65 73 73 20 62 75 66 66 65 72 20 69 66 20 6e 65 69 74 68 65 72 20 65 72 .to.process.buffer.if.neither.er
3840 72 6f 72 0a 20 6e 6f 72 20 66 69 6c 65 20 67 65 6e 65 72 61 74 65 64 2e 0a 0a 3a 54 45 4d 50 2d ror..nor.file.generated...:TEMP-
3860 44 49 52 20 74 6f 20 67 65 6e 65 72 61 74 65 20 61 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 DIR.to.generate.a.temporary.dire
3880 63 74 6f 72 79 20 66 6f 72 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2e 0a 54 68 69 73 20 69 73 20 ctory.for.this.command..This.is.
38a0 69 6d 70 6c 69 65 64 20 77 68 65 6e 20 3c 3c 74 64 3e 3e 20 61 70 70 65 61 72 73 20 69 6e 20 74 implied.when.<<td>>.appears.in.t
38c0 68 65 20 73 63 72 69 70 74 2e 0a 0a 3a 52 45 50 45 41 54 20 55 73 65 20 74 6f 20 72 65 70 65 61 he.script...:REPEAT.Use.to.repea
38e0 74 20 73 63 72 69 70 74 20 4e 20 6e 75 6d 62 65 72 20 6f 66 20 74 69 6d 65 73 2e 0a 0a 3a 4e 4f t.script.N.number.of.times...:NO
3900 2d 50 52 4f 47 52 45 53 53 20 53 75 70 70 72 65 73 73 20 70 72 6f 67 72 65 73 73 20 72 65 70 6f -PROGRESS.Suppress.progress.repo
3920 72 74 69 6e 67 2e 0a 0a 3a 45 52 52 4f 52 2d 41 55 54 4f 46 4f 43 55 53 20 41 75 74 6f 6d 61 74 rting...:ERROR-AUTOFOCUS.Automat
3940 69 63 61 6c 6c 79 20 66 6f 63 75 73 20 70 72 6f 63 65 73 73 20 62 75 66 66 65 72 20 6f 6e 20 65 ically.focus.process.buffer.on.e
3960 72 72 6f 72 2e 0a 0a 3a 4d 4f 4e 49 54 4f 52 2d 44 49 52 45 43 54 4f 52 59 20 4d 6f 6e 69 74 6f rror...:MONITOR-DIRECTORY.Monito
3980 72 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 6e 65 77 20 66 69 6c 65 73 2e 0a r.this.directory.for.new.files..
39a0 0a 3a 46 4f 43 55 53 2d 4e 4f 57 20 49 6d 6d 65 64 69 61 74 65 6c 79 20 66 6f 63 75 73 20 70 72 .:FOCUS-NOW.Immediately.focus.pr
39c0 6f 63 65 73 73 20 62 75 66 66 65 72 20 6f 6e 63 65 20 73 74 61 72 74 65 64 2e 22 0a 20 20 28 63 ocess.buffer.once.started."...(c
39e0 6c 2d 61 73 73 65 72 74 20 62 75 66 66 65 72 2d 6e 61 6d 65 20 6e 69 6c 20 22 53 63 72 69 70 74 l-assert.buffer-name.nil."Script
3a00 20 6d 75 73 74 20 68 61 76 65 20 61 20 62 75 66 66 65 72 20 6e 61 6d 65 22 29 0a 20 20 28 63 6c .must.have.a.buffer.name")...(cl
3a20 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 73 63 72 -assert.(not.(string-empty-p.scr
3a40 69 70 74 29 29 20 6e 69 6c 20 22 53 63 72 69 70 74 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 65 6d ipt)).nil."Script.must.not.be.em
3a60 70 74 79 22 29 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 65 78 74 65 6e 73 69 6f 6e pty")...(when.(stringp.extension
3a80 73 29 0a 20 20 20 20 28 73 65 74 71 20 65 78 74 65 6e 73 69 6f 6e 73 20 28 6c 69 73 74 20 65 78 s).....(setq.extensions.(list.ex
3aa0 74 65 6e 73 69 6f 6e 73 29 29 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 73 68 65 6c 6c 2d 75 tensions)))...(when.(and.shell-u
3ac0 74 69 6c 20 28 73 74 72 69 6e 67 70 20 73 68 65 6c 6c 2d 75 74 69 6c 29 29 0a 20 20 20 20 28 73 til.(stringp.shell-util)).....(s
3ae0 65 74 71 20 73 68 65 6c 6c 2d 75 74 69 6c 20 28 6c 69 73 74 20 73 68 65 6c 6c 2d 75 74 69 6c 29 etq.shell-util.(list.shell-util)
3b00 29 29 0a 20 20 28 73 65 74 71 20 73 68 65 6c 6c 2d 75 74 69 6c 20 28 6f 72 20 73 68 65 6c 6c 2d ))...(setq.shell-util.(or.shell-
3b20 75 74 69 6c 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 77 68 65 util........................(whe
3b40 6e 20 73 68 65 6c 6c 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.shell-file-name...............
3b60 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 73 68 65 6c 6c 2d 66 69 6c 65 2d 6e 61 6d 65 ...........(list.shell-file-name
3b80 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 27 28 22 7a 73 68 ))........................'("zsh
3ba0 22 29 29 29 0a 20 20 28 73 65 74 71 20 73 68 65 6c 6c 2d 61 72 67 73 20 28 6f 72 20 73 68 65 6c ")))...(setq.shell-args.(or.shel
3bc0 6c 2d 61 72 67 73 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 77 l-args........................(w
3be0 68 65 6e 20 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 77 69 74 63 68 0a 20 20 20 20 20 20 20 hen.shell-command-switch........
3c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 73 68 65 6c 6c 2d 63 6f ..................(list.shell-co
3c20 6d 6d 61 6e 64 2d 73 77 69 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mmand-switch))..................
3c40 20 20 20 20 20 20 27 28 22 2d 78 22 20 22 2d 63 22 29 29 29 0a 20 20 28 77 68 65 6e 20 28 61 6e ......'("-x"."-c")))...(when.(an
3c60 64 20 73 68 65 6c 6c 2d 61 72 67 73 20 28 73 74 72 69 6e 67 70 20 73 68 65 6c 6c 2d 61 72 67 73 d.shell-args.(stringp.shell-args
3c80 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 68 65 6c 6c 2d 61 72 67 73 20 28 6c 69 73 74 20 73 68 )).....(setq.shell-args.(list.sh
3ca0 65 6c 6c 2d 61 72 67 73 29 29 29 0a 20 20 3b 3b 20 53 65 65 20 69 66 20 2d 78 20 63 61 6e 20 62 ell-args)))...;;.See.if.-x.can.b
3cc0 65 20 70 72 65 70 65 6e 64 65 64 2e 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 6f 74 20 28 e.prepended....(when.(and.(not.(
3ce0 73 65 71 2d 63 6f 6e 74 61 69 6e 73 2d 70 20 73 68 65 6c 6c 2d 61 72 67 73 20 22 2d 78 22 29 29 seq-contains-p.shell-args."-x"))
3d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 73 68 65 6c 6c 2d 74 72 61 63 65 20 64 77 ..............(or.shell-trace.dw
3d20 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 68 65 6c 6c 2d 74 72 61 63 65 29 0a 20 20 im-shell-command-shell-trace)...
3d40 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ...........(apply.#'dwim-shell-c
3d60 6f 6d 6d 61 6e 64 2d 2d 70 72 6f 67 72 61 6d 2d 74 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 ommand--program-test............
3d80 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 63 6f 6e 63 61 74 65 6e 61 74 65 0a 20 20 20 20 20 20 .........(seq-concatenate.......
3da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6c 69 73 74 20 73 68 65 6c 6c 2d 75 74 69 6c 20 ...............'list.shell-util.
3dc0 27 28 22 2d 78 22 29 20 73 68 65 6c 6c 2d 61 72 67 73 20 28 6c 69 73 74 20 22 65 63 68 6f 22 29 '("-x").shell-args.(list."echo")
3de0 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 68 65 6c 6c 2d 61 72 67 73 20 28 73 65 71 2d 63 6f ))).....(setq.shell-args.(seq-co
3e00 6e 63 61 74 65 6e 61 74 65 20 27 6c 69 73 74 20 27 28 22 2d 78 22 29 20 73 68 65 6c 6c 2d 61 72 ncatenate.'list.'("-x").shell-ar
3e20 67 73 29 29 29 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 75 74 69 6c 73 29 0a 20 20 gs)))...(when.(stringp.utils)...
3e40 20 20 28 73 65 74 71 20 75 74 69 6c 73 20 28 6c 69 73 74 20 75 74 69 6c 73 29 29 29 0a 20 20 28 ..(setq.utils.(list.utils)))...(
3e60 77 68 65 6e 20 28 61 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5c 3c 5c 3c 74 when.(and.(string-match-p."\<\<t
3e80 64 5c 3e 5c 3e 22 20 73 63 72 69 70 74 20 30 29 20 28 6e 6f 74 20 74 65 6d 70 2d 64 69 72 29 29 d\>\>".script.0).(not.temp-dir))
3ea0 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 2d 64 69 72 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 .....(setq.temp-dir.(make-temp-f
3ec0 69 6c 65 20 22 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 22 20 74 29 29 29 0a 20 ile."dwim-shell-command-".t)))..
3ee0 20 28 77 68 65 6e 20 28 61 6e 64 20 72 65 70 65 61 74 20 28 3e 20 72 65 70 65 61 74 20 31 29 29 .(when.(and.repeat.(>.repeat.1))
3f00 0a 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 3c 3d 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 .....(cl-assert.(<=.(length.file
3f20 73 29 20 31 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 4d 75 73 74 20 6e s).1).nil................"Must.n
3f40 6f 74 20 72 65 70 65 61 74 20 77 68 65 6e 20 6d 75 6c 74 69 70 6c 65 20 66 69 6c 65 73 20 61 72 ot.repeat.when.multiple.files.ar
3f60 65 20 73 65 6c 65 63 74 65 64 2e 22 29 0a 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 73 20 28 6d e.selected.").....(setq.files.(m
3f80 61 6b 65 2d 6c 69 73 74 20 72 65 70 65 61 74 20 28 6f 72 20 28 73 65 71 2d 66 69 72 73 74 20 66 ake-list.repeat.(or.(seq-first.f
3fa0 69 6c 65 73 29 20 22 5f 6e 6f 5f 66 69 6c 65 5f 73 65 6c 65 63 74 65 64 5f 22 29 29 29 29 0a 20 iles)."_no_file_selected_"))))..
3fc0 20 28 77 68 65 6e 20 28 73 65 71 2d 65 6d 70 74 79 2d 70 20 66 69 6c 65 73 29 0a 20 20 20 20 28 .(when.(seq-empty-p.files).....(
3fe0 63 6c 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 6f 72 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 cl-assert.(not.(or.(dwim-shell-c
4000 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 72 65 66 20 ommand--contains-multi-file-ref.
4020 73 63 72 69 70 74 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 script).........................
4040 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 73 69 (dwim-shell-command--contains-si
4060 6e 67 6c 65 2d 66 69 6c 65 2d 72 65 66 20 73 63 72 69 70 74 29 29 29 0a 20 20 20 20 20 20 20 20 ngle-file-ref.script))).........
4080 20 20 20 20 20 20 20 6e 69 6c 20 22 4e 6f 20 66 69 6c 65 73 20 66 6f 75 6e 64 20 74 6f 20 65 78 .......nil."No.files.found.to.ex
40a0 70 61 6e 64 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 64 77 69 pand.%s"................(or.(dwi
40c0 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 6d 75 6c 74 69 2d m-shell-command--contains-multi-
40e0 66 69 6c 65 2d 72 65 66 20 73 63 72 69 70 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file-ref.script)................
4100 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e ....(dwim-shell-command--contain
4120 73 2d 73 69 6e 67 6c 65 2d 66 69 6c 65 2d 72 65 66 20 73 63 72 69 70 74 29 29 29 29 0a 20 20 28 s-single-file-ref.script))))...(
4140 77 68 65 6e 20 65 78 74 65 6e 73 69 6f 6e 73 0a 20 20 20 20 28 73 65 71 2d 64 6f 20 28 6c 61 6d when.extensions.....(seq-do.(lam
4160 62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 bda.(file)...............(cl-ass
4180 65 72 74 20 28 73 65 71 2d 63 6f 6e 74 61 69 6e 73 2d 70 20 65 78 74 65 6e 73 69 6f 6e 73 20 28 ert.(seq-contains-p.extensions.(
41a0 64 6f 77 6e 63 61 73 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 downcase.(file-name-extension.fi
41c0 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e le)))..........................n
41e0 69 6c 20 22 4e 6f 74 20 61 20 2e 25 73 20 66 69 6c 65 22 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e il."Not.a..%s.file".(string-join
4200 20 65 78 74 65 6e 73 69 6f 6e 73 20 22 20 2e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .extensions.".."))).............
4220 66 69 6c 65 73 29 29 0a 20 20 28 73 65 71 2d 64 6f 20 28 6c 61 6d 62 64 61 20 28 75 74 69 6c 29 files))...(seq-do.(lambda.(util)
4240 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 65 78 65 63 75 74 61 .............(cl-assert.(executa
4260 62 6c 65 2d 66 69 6e 64 20 75 74 69 6c 29 20 6e 69 6c 20 28 66 6f 72 6d 61 74 20 22 25 73 20 6e ble-find.util).nil.(format."%s.n
4280 6f 74 20 69 6e 73 74 61 6c 6c 65 64 22 20 75 74 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ot.installed".util)))...........
42a0 75 74 69 6c 73 29 0a 20 20 28 6c 65 74 2a 20 28 28 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 28 64 utils)...(let*.((replacements.(d
42c0 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 78 74 72 61 63 74 2d 71 75 65 72 69 wim-shell-command--extract-queri
42e0 65 73 20 73 63 72 69 70 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 2d 62 75 66 66 65 es.script))..........(proc-buffe
4300 72 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 20 28 66 6f 72 6d 61 74 20 22 r.(generate-new-buffer.(format."
4320 2a 25 73 2a 22 20 62 75 66 66 65 72 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 *%s*".buffer-name)))..........(t
4340 65 6d 70 6c 61 74 65 20 73 63 72 69 70 74 29 0a 20 20 20 20 20 20 20 20 20 28 73 63 72 69 70 74 emplate.script)..........(script
4360 20 22 22 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 73 2d 62 65 66 6f 72 65 29 0a 20 20 20 ."")..........(files-before)....
4380 20 20 20 20 20 20 28 70 72 6f 63 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 72 65 73 73 2d ......(proc)..........(progress-
43a0 72 65 70 6f 72 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 64 64 69 6e 67 20 28 64 77 69 reporter)..........(padding.(dwi
43c0 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 69 67 69 74 73 20 28 6c 65 6e 67 74 68 20 m-shell-command--digits.(length.
43e0 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 20 28 6f 72 20 28 64 77 69 6d 2d 73 files)))..........(n.(or.(dwim-s
4400 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6e 2d 73 74 61 72 74 2d 76 61 6c 75 65 20 74 65 6d 70 hell-command--n-start-value.temp
4420 6c 61 74 65 20 70 61 64 64 69 6e 67 29 20 22 31 22 29 29 29 0a 20 20 20 20 28 69 66 20 28 73 65 late.padding)."1"))).....(if.(se
4440 71 2d 65 6d 70 74 79 2d 70 20 66 69 6c 65 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 q-empty-p.files).........(setq.s
4460 63 72 69 70 74 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 78 70 61 6e cript.(dwim-shell-command--expan
4480 64 2d 66 69 6c 65 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 70 6f 73 d-file-template.template.nil.pos
44a0 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 2d 64 69 72 20 6e 20 72 65 t-process-template.temp-dir.n.re
44c0 70 6c 61 63 65 6d 65 6e 74 73 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 64 77 69 6d 2d 73 68 65 placements)).......(if.(dwim-she
44e0 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d ll-command--contains-multi-file-
4500 72 65 66 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 63 ref.template)...........(setq.sc
4520 72 69 70 74 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 78 70 61 6e 64 ript.(dwim-shell-command--expand
4540 2d 66 69 6c 65 73 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 6c 61 74 65 20 66 69 6c 65 73 20 70 -files-template.template.files.p
4560 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 2d 64 69 72 20 72 65 ost-process-template.temp-dir.re
4580 70 6c 61 63 65 6d 65 6e 74 73 20 6a 6f 69 6e 2d 73 65 70 61 72 61 74 6f 72 29 29 0a 20 20 20 20 placements.join-separator)).....
45a0 20 20 20 20 28 73 65 71 2d 64 6f 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 ....(seq-do.(lambda.(file)......
45c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 63 72 69 70 74 0a 20 20 20 20 20 20 .............(setq.script.......
45e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 73 63 72 69 70 74 ..................(concat.script
4600 20 22 5c 6e 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 ."\n"...........................
4620 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 78 70 61 6e ......(dwim-shell-command--expan
4640 64 2d 66 69 6c 65 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 6c 61 74 65 20 66 69 6c 65 20 70 6f d-file-template.template.file.po
4660 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 2d 64 69 72 20 6e 20 72 st-process-template.temp-dir.n.r
4680 65 70 6c 61 63 65 6d 65 6e 74 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eplacements)))..................
46a0 20 28 73 65 74 71 20 6e 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 69 6e .(setq.n.(dwim-shell-command--in
46c0 63 72 65 6d 65 6e 74 2d 73 74 72 69 6e 67 20 6e 20 70 61 64 64 69 6e 67 29 29 29 0a 20 20 20 20 crement-string.n.padding))).....
46e0 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 ............files))).....(setq.s
4700 63 72 69 70 74 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 73 63 72 69 70 74 29 29 0a 20 20 20 20 cript.(string-trim.script)).....
4720 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 70 72 6f 63 2d 62 75 66 66 65 72 (with-current-buffer.proc-buffer
4740 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67 65 20 74 29 .......(let.((inhibit-message.t)
4760 29 0a 20 20 20 20 20 20 3b 3b 20 53 69 6c 65 6e 63 65 20 6e 6f 69 73 65 20 6f 66 20 65 6e 74 65 ).......;;.Silence.noise.of.ente
4780 72 69 6e 67 20 73 68 65 6c 6c 2d 6d 6f 64 65 2e 0a 20 20 20 20 20 20 20 20 28 63 6f 6d 69 6e 74 ring.shell-mode..........(comint
47a0 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 64 65 66 61 75 6c 74 2d 64 69 72 65 -mode)).......(setq.default-dire
47c0 63 74 6f 72 79 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 28 ctory.default-directory).......(
47e0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 73 61 76 65 2d 70 6f 73 2d 6f 72 2d 65 72 61 73 65 29 shell-command-save-pos-or-erase)
4800 0a 20 20 20 20 20 20 28 76 69 65 77 2d 6d 6f 64 65 20 2b 31 29 0a 20 20 20 20 20 20 28 73 65 74 .......(view-mode.+1).......(set
4820 71 20 76 69 65 77 2d 65 78 69 74 2d 61 63 74 69 6f 6e 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 29 q.view-exit-action.'kill-buffer)
4840 29 0a 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 73 2d 62 65 66 6f 72 65 20 28 64 77 69 6d 2d 73 ).....(setq.files-before.(dwim-s
4860 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 2d hell-command--default-directory-
4880 66 69 6c 65 73 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 28 73 files.monitor-directory)).....(s
48a0 65 74 71 20 70 72 6f 63 20 28 61 70 70 6c 79 20 23 27 73 74 61 72 74 2d 70 72 6f 63 65 73 73 20 etq.proc.(apply.#'start-process.
48c0 28 73 65 71 2d 63 6f 6e 63 61 74 65 6e 61 74 65 20 27 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 (seq-concatenate.'list..........
48e0 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 ................................
4900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 ..............(list.(buffer-name
4920 20 70 72 6f 63 2d 62 75 66 66 65 72 29 20 70 72 6f 63 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 .proc-buffer).proc-buffer)......
4940 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 ................................
4960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 2d 75 74 69 6c 0a 20 20 20 ..................shell-util....
4980 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 ................................
49a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 2d 61 72 67 73 0a 20 ....................shell-args..
49c0 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 ................................
49e0 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 73 68 65 6c 6c 2d ......................(if.shell-
4a00 70 69 70 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 pipe............................
4a20 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 ................................
4a40 28 6c 69 73 74 20 28 66 6f 72 6d 61 74 20 22 65 63 68 6f 20 27 25 73 27 20 7c 20 25 73 22 20 73 (list.(format."echo.'%s'.|.%s".s
4a60 63 72 69 70 74 20 73 68 65 6c 6c 2d 70 69 70 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 cript.shell-pipe))..............
4a80 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 ................................
4aa0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 73 63 72 69 70 74 29 29 29 29 29 0a 20 20 ............(list.script)))))...
4ac0 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 71 75 65 72 79 2d 6f 6e 2d 65 78 69 74 2d 66 6c 61 ..(set-process-query-on-exit-fla
4ae0 67 20 70 72 6f 63 20 6e 69 6c 29 0a 20 20 20 20 28 69 66 20 6e 6f 2d 70 72 6f 67 72 65 73 73 0a g.proc.nil).....(if.no-progress.
4b00 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6d 65 73 ........(dwim-shell-command--mes
4b20 73 61 67 65 20 22 25 73 20 73 74 61 72 74 65 64 22 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 sage."%s.started".(process-name.
4b40 70 72 6f 63 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f proc)).......(setq.progress-repo
4b60 72 74 65 72 20 28 6d 61 6b 65 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 rter.(make-progress-reporter....
4b80 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 3b 3b 20 41 ............................;;.A
4ba0 70 70 65 6e 64 20 73 70 61 63 65 20 73 6f 20 22 64 6f 6e 65 22 20 69 73 20 73 70 61 63 65 64 20 ppend.space.so."done".is.spaced.
4bc0 77 68 65 6e 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 when............................
4be0 20 20 20 20 3b 3b 20 70 72 6f 67 72 65 73 73 20 72 65 70 6f 72 74 65 72 20 69 73 20 66 69 6e 69 ....;;.progress.reporter.is.fini
4c00 73 68 65 64 3a 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 shed:...........................
4c20 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 20 20 20 20 20 20 20 .....;;.........................
4c40 20 20 20 20 20 20 20 3b 3b 20 2a 44 57 49 4d 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 2a 20 64 .......;;.*DWIM.shell.command*.d
4c60 6f 6e 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 20 one.............................
4c80 20 20 20 28 63 6f 6e 63 61 74 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 72 6f 63 29 20 22 ...(concat.(process-name.proc)."
4ca0 20 22 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 2d 75 ."))).......(progress-reporter-u
4cc0 70 64 61 74 65 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 29 29 0a 20 20 20 20 3b 3b pdate.progress-reporter)).....;;
4ce0 20 4d 6f 6d 65 6e 74 61 72 69 6c 79 20 73 65 74 20 62 75 66 66 65 72 20 74 6f 20 73 61 6d 65 20 .Momentarily.set.buffer.to.same.
4d00 77 69 6e 64 6f 77 2c 20 73 6f 20 69 74 27 73 20 6e 65 78 74 20 69 6e 20 72 65 63 65 6e 74 20 73 window,.so.it's.next.in.recent.s
4d20 74 61 63 6b 2e 0a 20 20 20 20 3b 3b 20 4d 61 6b 65 73 20 66 69 6e 64 69 6e 67 20 74 68 65 20 73 tack......;;.Makes.finding.the.s
4d40 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 62 75 66 66 65 72 20 61 20 6c 6f 74 20 65 61 73 69 65 72 hell.command.buffer.a.lot.easier
4d60 2e 0a 20 20 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 20 28 63 75 72 72 65 6e 74 2d 62 75 ......(let.((current.(current-bu
4d80 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 28 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 2d 73 61 6d ffer))).......(pop-to-buffer-sam
4da0 65 2d 77 69 6e 64 6f 77 20 70 72 6f 63 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 28 70 6f 70 e-window.proc-buffer).......(pop
4dc0 2d 74 6f 2d 62 75 66 66 65 72 2d 73 61 6d 65 2d 77 69 6e 64 6f 77 20 63 75 72 72 65 6e 74 29 29 -to-buffer-same-window.current))
4de0 0a 20 20 20 20 28 77 68 65 6e 20 66 6f 63 75 73 2d 6e 6f 77 0a 20 20 20 20 20 20 28 73 77 69 74 .....(when.focus-now.......(swit
4e00 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 70 72 6f 63 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 28 ch-to-buffer.proc-buffer)).....(
4e20 69 66 20 28 65 71 75 61 6c 20 28 70 72 6f 63 65 73 73 2d 73 74 61 74 75 73 20 70 72 6f 63 29 20 if.(equal.(process-status.proc).
4e40 27 65 78 69 74 29 0a 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 'exit).........(dwim-shell-comma
4e60 6e 64 2d 2d 66 69 6e 61 6c 69 7a 65 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 0a 20 20 nd--finalize.(current-buffer)...
4e80 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 ................................
4ea0 20 20 20 20 66 69 6c 65 73 2d 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....files-before................
4ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 0a 20 20 20 20 .......................proc.....
4ee0 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 ................................
4f00 20 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..progress-reporter.............
4f20 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 6f 6e 2d 63 6f 6d ..........................on-com
4f40 70 6c 65 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pletion.........................
4f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 0a 20 20 20 ..............silent-success....
4f80 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 ................................
4fa0 20 20 20 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...error-autofocus..............
4fc0 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 6d 6f 6e 69 74 6f 72 .........................monitor
4fe0 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 64 77 69 6d 2d 73 68 65 -directory).......(setq.dwim-she
5000 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 ll-command--commands............
5020 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 72 6f 63 29 .(push.(cons.(process-name.proc)
5040 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 64 .........................(make-d
5060 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 20 3a 73 63 72 69 wim-shell-command--command.:scri
5080 70 74 20 73 63 72 69 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pt.script.......................
50a0 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 ................................
50c0 20 20 20 20 3a 70 72 6f 63 65 73 73 20 70 72 6f 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....:process.proc...............
50e0 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 ................................
5100 20 20 20 20 20 20 20 20 20 20 20 20 3a 6e 61 6d 65 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 ............:name.(process-name.
5120 70 72 6f 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 proc)...........................
5140 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 ................................
5160 3a 63 61 6c 6c 69 6e 67 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 :calling-buffer.(current-buffer)
5180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
51a0 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 3a 66 69 6c 65 ...........................:file
51c0 73 2d 62 65 66 6f 72 65 20 66 69 6c 65 73 2d 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 s-before.files-before...........
51e0 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 ................................
5200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 65 70 6f 72 74 65 72 20 70 72 6f 67 72 65 ................:reporter.progre
5220 73 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ss-reporter.....................
5240 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 ................................
5260 20 20 20 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 6f 6e 2d 63 6f 6d 70 6c 65 74 69 ......:on-completion.on-completi
5280 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on..............................
52a0 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 3a 73 69 .............................:si
52c0 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 0a 20 20 20 20 lent-success.silent-success.....
52e0 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 ................................
5300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 72 72 6f 72 2d 61 75 74 ......................:error-aut
5320 6f 66 6f 63 75 73 20 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 0a 20 20 20 20 20 20 20 20 20 ofocus.error-autofocus..........
5340 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 ................................
5360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 .................:monitor-direct
5380 6f 72 79 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 ory.monitor-directory)).........
53a0 20 20 20 20 20 20 20 20 20 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f ..........dwim-shell-command--co
53c0 6d 6d 61 6e 64 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 73 65 6e 74 mmands)).......(set-process-sent
53e0 69 6e 65 6c 20 70 72 6f 63 20 23 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d inel.proc.#'dwim-shell-command--
5400 73 65 6e 74 69 6e 65 6c 29 0a 20 20 20 20 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c sentinel).......(set-process-fil
5420 74 65 72 20 70 72 6f 63 20 23 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 ter.proc.#'dwim-shell-command--f
5440 69 6c 74 65 72 29 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ilter))))..(cl-defun.dwim-shell-
5460 63 6f 6d 6d 61 6e 64 2d 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 70 72 6f 6d 70 74 20 26 command-read-file-name.(prompt.&
5480 6b 65 79 20 65 78 74 65 6e 73 69 6f 6e 20 64 65 66 61 75 6c 74 29 0a 20 20 22 49 6e 76 6f 6b 65 key.extension.default)..."Invoke
54a0 20 60 72 65 61 64 2d 73 74 72 69 6e 67 27 20 77 69 74 68 20 50 52 4f 4d 50 54 2e 0a 56 61 6c 69 .`read-string'.with.PROMPT..Vali
54c0 64 61 74 65 73 20 3a 45 58 54 45 4e 53 49 4f 4e 20 61 6e 64 20 72 65 74 75 72 6e 73 20 3a 44 45 dates.:EXTENSION.and.returns.:DE
54e0 46 41 55 4c 54 20 69 66 20 65 6d 70 74 79 20 69 6e 70 75 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 FAULT.if.empty.input."...(let.((
5500 66 69 6c 65 2d 6e 61 6d 65 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 70 72 6f 6d 70 74 29 29 29 file-name.(read-string.prompt)))
5520 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 28 73 74 72 .....(cond.((string-empty-p.(str
5540 69 6e 67 2d 74 72 69 6d 20 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ing-trim.file-name))............
5560 64 65 66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 65 78 74 65 6e 73 69 default)...........((and.extensi
5580 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c on.................(string-equal
55a0 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 2d 6e 61 6d 65 29 .(file-name-extension.file-name)
55c0 20 65 78 74 65 6e 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 6e 61 6d .extension))............file-nam
55e0 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 e)...........((and.extension....
5600 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 .............(not.(string-equal.
5620 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 2d 6e 61 6d 65 29 20 (file-name-extension.file-name).
5640 65 78 74 65 6e 73 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 extension)))............(user-er
5660 72 6f 72 20 22 4e 61 6d 65 20 6d 75 73 74 20 65 6e 64 20 69 6e 20 2e 25 73 22 20 65 78 74 65 6e ror."Name.must.end.in..%s".exten
5680 73 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 66 sion))...........(t............f
56a0 69 6c 65 2d 6e 61 6d 65 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ile-name))))..(defun.dwim-shell-
56c0 63 6f 6d 6d 61 6e 64 2d 2d 6d 65 73 73 61 67 65 20 28 6d 65 73 73 61 67 65 20 26 72 65 73 74 20 command--message.(message.&rest.
56e0 61 72 67 73 29 0a 20 20 22 4c 69 6b 65 20 60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e args)..."Like.`dwim-shell-comman
5700 64 2d 2d 6d 65 73 73 61 67 65 27 20 62 75 74 20 6e 6f 6e 2d 62 6c 6f 63 6b 69 6e 67 2e 0a 4d 45 d--message'.but.non-blocking..ME
5720 53 53 41 47 45 20 61 6e 64 20 41 52 47 53 20 73 61 6d 65 20 61 73 20 60 64 77 69 6d 2d 73 68 65 SSAGE.and.ARGS.same.as.`dwim-she
5740 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6d 65 73 73 61 67 65 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 ll-command--message'."...(let.((
5760 6d 65 73 73 61 67 65 2d 69 64 20 28 72 61 6e 64 6f 6d 29 29 29 0a 20 20 20 20 28 6d 65 73 73 61 message-id.(random))).....(messa
5780 67 65 20 28 70 72 6f 70 65 72 74 69 7a 65 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 6d ge.(propertize.(apply.#'format.m
57a0 65 73 73 61 67 65 20 61 72 67 73 29 20 27 6d 65 73 73 61 67 65 2d 69 64 20 6d 65 73 73 61 67 65 essage.args).'message-id.message
57c0 2d 69 64 29 29 0a 20 20 20 20 28 72 75 6e 2d 77 69 74 68 2d 74 69 6d 65 72 20 33 20 6e 69 6c 0a -id)).....(run-with-timer.3.nil.
57e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 ....................(lambda.()..
5800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 .....................(when.(and.
5820 28 63 75 72 72 65 6e 74 2d 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (current-message)...............
5840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 67 65 74 2d 74 65 78 74 ...................(eq.(get-text
5860 2d 70 72 6f 70 65 72 74 79 20 30 20 27 6d 65 73 73 61 67 65 2d 69 64 20 28 63 75 72 72 65 6e 74 -property.0.'message-id.(current
5880 2d 6d 65 73 73 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -message))......................
58a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 65 73 73 61 67 65 2d 69 64 29 29 0a 20 20 20 ................message-id))....
58c0 20 20 20 20 20 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 6e 69 .....................(message.ni
58e0 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 l))))))..(defun.dwim-shell-comma
5900 6e 64 2d 2d 65 78 74 72 61 63 74 2d 71 75 65 72 69 65 73 20 28 74 65 6d 70 6c 61 74 65 29 0a 20 nd--extract-queries.(template)..
5920 20 22 45 78 74 72 61 63 74 20 71 75 65 72 69 65 73 20 66 72 6f 6d 20 54 45 4d 50 4c 41 54 45 2e ."Extract.queries.from.TEMPLATE.
5940 0a 0a 46 6f 72 20 61 6c 6c 20 71 75 65 72 69 65 73 2c 20 72 65 71 75 65 73 74 20 61 20 76 61 6c ..For.all.queries,.request.a.val
5960 75 65 20 66 72 6f 6d 20 74 68 65 20 75 73 65 72 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a ue.from.the.user...For.example:.
5980 0a 20 20 5c 22 48 65 6c 6c 6f 20 3c 3c 57 69 64 74 68 3a 31 30 30 3e 3e 20 77 6f 72 6c 64 20 3c ...\"Hello.<<Width:100>>.world.<
59a0 3c 48 65 69 67 68 74 3a 32 30 30 3e 3e 5c 22 20 3d 3e 0a 0a 20 20 20 20 28 28 5c 22 3c 3c 57 69 <Height:200>>\".=>......((\"<<Wi
59c0 64 74 68 3a 31 30 30 3e 3e 5c 22 20 2e 20 5c 22 31 30 30 5c 22 29 0a 20 20 20 20 20 28 5c 22 3c dth:100>>\"...\"100\")......(\"<
59e0 3c 48 65 69 67 68 74 3a 32 30 30 3e 3e 5c 22 20 2e 20 5c 22 32 30 30 5c 22 29 29 22 0a 20 20 28 <Height:200>>\"...\"200\"))"...(
5a00 6c 65 74 20 28 28 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 28 70 6f 73 20 30 29 29 0a let.((matches).........(pos.0)).
5a20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 3c 20 70 6f 73 20 28 6c 65 6e 67 74 68 20 74 ....(while.(and.(<.pos.(length.t
5a40 65 6d 70 6c 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e emplate)).................(strin
5a60 67 2d 6d 61 74 63 68 20 22 3c 3c 5c 5c 28 5b 5b 3a 61 6c 70 68 61 3a 5d 5d 5c 5c 7c 5b 5b 3a 62 g-match."<<\\([[:alpha:]]\\|[[:b
5a80 6c 61 6e 6b 3a 5d 5d 5c 5c 29 2b 3a 5c 5c 28 5b 5b 3a 61 6c 6e 75 6d 3a 5d 5d 5c 5c 7c 5b 2e 5d lank:]]\\)+:\\([[:alnum:]]\\|[.]
5aa0 5c 5c 29 2a 3e 3e 22 20 74 65 6d 70 6c 61 74 65 20 70 6f 73 29 29 0a 20 20 20 20 20 20 28 73 65 \\)*>>".template.pos)).......(se
5ac0 74 71 20 70 6f 73 20 28 31 2b 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 29 tq.pos.(1+.(match-beginning.0)))
5ae0 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 20 30 29 29 0a 20 20 20 20 20 20 20 20 .......(let.((match.0)).........
5b00 28 70 75 73 68 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 6d 61 74 63 68 20 74 65 6d 70 6c 61 (push.(match-string.match.templa
5b20 74 65 29 20 6d 61 74 63 68 65 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 61 74 63 68 te).matches).........(setq.match
5b40 20 28 31 2b 20 6d 61 74 63 68 29 29 29 29 0a 20 20 20 20 28 73 65 71 2d 6d 61 70 20 28 6c 61 6d .(1+.match)))).....(seq-map.(lam
5b60 62 64 61 20 28 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a bda.(match)................(let*
5b80 20 28 28 71 75 65 72 79 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 73 74 72 69 6e 67 2d 72 .((query.(split-string.(string-r
5ba0 65 6d 6f 76 65 2d 73 75 66 66 69 78 20 22 3e 3e 22 20 28 73 74 72 69 6e 67 2d 72 65 6d 6f 76 65 emove-suffix.">>".(string-remove
5bc0 2d 70 72 65 66 69 78 20 22 3c 3c 22 20 6d 61 74 63 68 29 29 20 22 3a 22 29 29 0a 20 20 20 20 20 -prefix."<<".match)).":"))......
5be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 70 74 20 28 6e 74 68 20 30 20 .................(prompt.(nth.0.
5c00 71 75 65 72 79 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 28 64 query)).......................(d
5c20 65 66 61 75 6c 74 2d 76 61 6c 75 65 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 efault-value.(if.(string-empty-p
5c40 20 28 6e 74 68 20 31 20 71 75 65 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(nth.1.query)).................
5c60 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 6e 69 6c 0a 20 20 20 .........................nil....
5c80 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 ................................
5ca0 20 20 20 20 28 6e 74 68 20 31 20 71 75 65 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ....(nth.1.query))).............
5cc0 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 ..........(value.(if.(string-mat
5ce0 63 68 2d 70 20 22 5e 5c 5c 28 5b 5b 3a 64 69 67 69 74 3a 5d 5d 5c 5c 7c 5b 2e 5d 5c 5c 29 2b 24 ch-p."^\\([[:digit:]]\\|[.]\\)+$
5d00 22 20 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ".default-value)................
5d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 ..................(number-to-str
5d40 69 6e 67 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 28 66 6f 72 6d 61 74 20 22 25 73 3a 20 22 20 ing.(read-number.(format."%s:.".
5d60 70 72 6f 6d 70 74 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 prompt).........................
5d80 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 ................................
5da0 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 64 65 66 61 75 6c ........(string-to-number.defaul
5dc0 74 2d 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-value)))......................
5de0 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 28 72 65 61 64 2d 73 74 72 ..........(string-trim.(read-str
5e00 69 6e 67 20 28 63 6f 6e 63 61 74 20 70 72 6f 6d 70 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ing.(concat.prompt..............
5e20 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 ................................
5e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 64 65 66 61 75 6c 74 2d ....................(if.default-
5e60 76 61 6c 75 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 value...........................
5e80 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 ................................
5ea0 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 28 64 65 66 61 75 6c 74 20 25 73 ...........(format.".(default.%s
5ec0 29 3a 20 22 20 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ):.".default-value).............
5ee0 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 ................................
5f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3a 20 22 29 29 29 29 29 .......................":.")))))
5f20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 ).......................(result.
5f40 28 63 6f 6e 73 20 6d 61 74 63 68 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 (cons.match.(if.(string-empty-p.
5f60 76 61 6c 75 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 value)..........................
5f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2d 76 61 6c .....................default-val
5fa0 75 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 20 20 ue..............................
5fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 29 29 0a 20 20 20 20 20 20 20 ...............value))))........
5fe0 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 63 64 72 20 72 65 73 75 6c 74 ..........(cl-assert.(cdr.result
6000 29 20 6e 69 6c 20 22 4d 75 73 74 20 68 61 76 65 20 61 20 76 61 6c 75 65 22 29 72 65 73 75 6c 74 ).nil."Must.have.a.value")result
6020 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 75 6e 69 71 20 28 6e 72 65 76 65 ))..............(seq-uniq.(nreve
6040 72 73 65 20 6d 61 74 63 68 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 rse.matches)))))..(defun.dwim-sh
6060 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 69 67 69 74 73 20 28 6e 29 0a 20 20 22 52 65 74 75 72 ell-command--digits.(n)..."Retur
6080 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 67 69 74 73 20 69 6e 20 4e 2e 22 0a 20 20 n.the.number.of.digits.in.N."...
60a0 28 6c 65 74 20 28 28 63 6f 75 6e 74 20 30 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3e 20 6e (let.((count.0)).....(while.(>.n
60c0 20 30 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 2f 20 6e 20 31 30 29 29 0a 20 20 20 20 .0).......(setq.n.(/.n.10)).....
60e0 20 20 28 73 65 74 71 20 63 6f 75 6e 74 20 28 31 2b 20 63 6f 75 6e 74 29 29 29 0a 20 20 20 20 63 ..(setq.count.(1+.count))).....c
6100 6f 75 6e 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e ount))..(defun.dwim-shell-comman
6120 64 2d 2d 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6e 20 70 61 64 64 69 6e 67 29 0a d--number-to-string.(n.padding).
6140 20 20 22 43 6f 6e 76 65 72 74 20 4e 20 74 6f 20 73 74 72 69 6e 67 20 75 73 69 6e 67 20 50 41 44 .."Convert.N.to.string.using.PAD
6160 44 49 4e 47 20 66 6f 72 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 67 69 74 73 2e 22 0a 20 20 28 66 DING.for.number.of.digits."...(f
6180 6f 72 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 30 25 64 64 22 20 70 61 64 64 69 6e 67 29 20 ormat.(format."%%0%dd".padding).
61a0 6e 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d n))..(defun.dwim-shell-command--
61c0 65 78 70 61 6e 64 2d 66 69 6c 65 73 2d 74 65 6d 70 6c 61 74 65 20 28 74 65 6d 70 6c 61 74 65 20 expand-files-template.(template.
61e0 66 69 6c 65 73 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d files.&optional.post-process-tem
6200 70 6c 61 74 65 20 74 65 6d 70 2d 64 69 72 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 6a 6f 69 6e plate.temp-dir.replacements.join
6220 2d 73 65 70 61 72 61 74 6f 72 29 0a 20 20 22 45 78 70 61 6e 64 20 54 45 4d 50 4c 41 54 45 20 75 -separator)..."Expand.TEMPLATE.u
6240 73 69 6e 67 20 46 49 4c 45 53 2e 0a 0a 45 78 70 61 6e 64 20 75 73 69 6e 67 20 3c 3c 2a 3e 3e 20 sing.FILES...Expand.using.<<*>>.
6260 66 6f 72 20 46 49 4c 45 53 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 65 78 70 61 6e 64 65 72 20 for.FILES...Note:.This.expander.
6280 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 65 78 70 61 6e 64 20 3c 3c 66 3e 3e 2c 20 cannot.be.used.to.expand.<<f>>,.
62a0 3c 3c 66 6e 65 3e 3e 2c 20 6f 72 20 3c 3c 65 3e 3e 2e 0a 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c <<fne>>,.or.<<e>>.....For.exampl
62c0 65 3a 0a 0a 20 20 20 20 47 69 76 65 6e 20 46 49 4c 45 53 20 27 28 5c 22 70 61 74 68 2f 74 6f 2f e:......Given.FILES.'(\"path/to/
62e0 69 6d 61 67 65 31 2e 70 6e 67 5c 22 20 5c 22 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e image1.png\".\"path/to/image2.pn
6300 67 5c 22 29 0a 0a 20 20 20 20 5c 22 64 75 20 2d 63 73 68 20 27 3c 3c 2a 3e 3e 27 5c 22 20 65 78 g\")......\"du.-csh.'<<*>>'\".ex
6320 70 61 6e 64 73 20 74 6f 0a 0a 20 20 20 20 20 20 5c 22 64 75 20 2d 63 73 68 20 27 70 61 74 68 2f pands.to........\"du.-csh.'path/
6340 74 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 to/image1.png'.'path/to/image2.p
6360 6e 67 27 5c 22 0a 0a 55 73 65 20 50 4f 53 54 2d 50 52 4f 43 45 53 53 2d 54 45 4d 50 4c 41 54 45 ng'\"..Use.POST-PROCESS-TEMPLATE
6380 20 74 6f 20 66 75 72 74 68 65 72 20 65 78 70 61 6e 64 20 74 65 6d 70 6c 61 74 65 20 67 69 76 65 .to.further.expand.template.give
63a0 6e 20 6f 77 6e 20 6c 6f 67 69 63 2e 0a 0a 53 65 74 20 54 45 4d 50 2d 44 49 52 20 74 6f 20 61 20 n.own.logic...Set.TEMP-DIR.to.a.
63c0 75 6e 69 71 75 65 20 74 65 6d 70 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 69 73 20 74 65 unique.temp.directory.to.this.te
63e0 6d 70 6c 61 74 65 2e 0a 0a 52 45 50 4c 41 43 45 4d 45 4e 54 53 20 69 73 20 61 20 63 6f 6e 73 20 mplate...REPLACEMENTS.is.a.cons.
6400 6c 69 73 74 20 6f 66 20 6c 69 74 65 72 61 6c 73 20 74 6f 20 72 65 70 6c 61 63 65 20 77 69 74 68 list.of.literals.to.replace.with
6420 20 76 61 6c 75 65 73 2e 0a 0a 4a 4f 49 4e 2d 53 45 50 41 52 41 54 4f 52 20 69 73 20 75 73 65 64 .values...JOIN-SEPARATOR.is.used
6440 20 74 6f 20 6a 6f 69 6e 20 66 69 6c 65 73 20 66 72 6f 6d 20 3c 3c 2a 3e 3e 2e 22 0a 20 20 28 63 .to.join.files.from.<<*>>."...(c
6460 6c 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 61 6e 64 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 l-assert.(not.(and.(dwim-shell-c
6480 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 72 65 66 20 ommand--contains-multi-file-ref.
64a0 74 65 6d 70 6c 61 74 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 template).......................
64c0 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 73 .(dwim-shell-command--contains-s
64e0 69 6e 67 6c 65 2d 66 69 6c 65 2d 72 65 66 20 74 65 6d 70 6c 61 74 65 29 29 29 0a 20 20 20 20 20 ingle-file-ref.template)))......
6500 20 20 20 20 20 20 20 20 6e 69 6c 20 22 4d 75 73 74 20 6e 6f 74 20 68 61 76 65 20 25 73 20 61 6e ........nil."Must.not.have.%s.an
6520 64 20 25 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 74 65 6d 70 6c 61 74 65 22 0a 20 20 20 20 20 d.%s.in.the.same.template"......
6540 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e ........(dwim-shell-command--con
6560 74 61 69 6e 73 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 72 65 66 20 74 65 6d 70 6c 61 74 65 29 0a 20 tains-multi-file-ref.template)..
6580 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d ............(dwim-shell-command-
65a0 2d 63 6f 6e 74 61 69 6e 73 2d 73 69 6e 67 6c 65 2d 66 69 6c 65 2d 72 65 66 20 74 65 6d 70 6c 61 -contains-single-file-ref.templa
65c0 74 65 29 29 0a 20 20 28 73 65 74 71 20 66 69 6c 65 73 20 28 73 65 71 2d 6d 61 70 20 28 6c 61 6d te))...(setq.files.(seq-map.(lam
65e0 62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bda.(file)......................
6600 20 20 20 20 28 69 66 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 75 73 65 2d 61 ....(if.dwim-shell-command-use-a
6620 62 73 6f 6c 75 74 65 2d 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bsolute-paths...................
6640 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 66 69 6c ...........(expand-file-name.fil
6660 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 20 20 28 66 e)............................(f
6680 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e ile-relative-name.(expand-file-n
66a0 61 6d 65 20 66 69 6c 65 29 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 ame.file).default-directory)))..
66c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 29 29 0a 0a 20 ......................files))...
66e0 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 72 65 70 6c 61 63 65 6d 65 6e 74 29 0a 20 20 20 .(mapc.(lambda.(replacement)....
6700 20 20 20 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 0a 20 20 20 20 20 20 20 20 20 20 .......(setq.template...........
6720 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 28 63 61 72 20 72 65 70 6c 61 ......(string-replace.(car.repla
6740 63 65 6d 65 6e 74 29 20 28 63 64 72 20 72 65 70 6c 61 63 65 6d 65 6e 74 29 20 74 65 6d 70 6c 61 cement).(cdr.replacement).templa
6760 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 29 0a 0a 20 20 3b te))).........replacements)....;
6780 3b 20 54 72 79 20 74 6f 20 75 73 65 20 71 75 6f 74 65 73 20 73 75 72 72 6f 75 6e 64 69 6e 67 20 ;.Try.to.use.quotes.surrounding.
67a0 3c 3c 2a 3e 3e 20 69 6e 20 65 61 63 68 20 70 61 74 68 2e 0a 20 20 3b 3b 20 22 27 3c 3c 2a 3e 3e <<*>>.in.each.path....;;."'<<*>>
67c0 27 22 20 77 69 74 68 20 27 28 22 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 22 20 22 '".with.'("path/to/image1.png"."
67e0 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 22 29 20 2d 3e 20 22 27 70 61 74 68 2f 74 path/to/image2.png").->."'path/t
6800 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e o/image1.png'.'path/to/image2.pn
6820 67 27 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 2a 20 28 28 71 75 6f 74 69 6e 67 20 28 64 77 69 6d g'"...(when-let*.((quoting.(dwim
6840 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 73 63 61 70 65 64 2d 71 75 6f 74 65 2d 61 72 -shell-command--escaped-quote-ar
6860 6f 75 6e 64 20 22 5c 3c 5c 3c 5c 5c 2a 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 29 0a 20 20 ound."\<\<\\*\>\>".template))...
6880 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 28 6e 74 ............(unescaped-quote.(nt
68a0 68 20 30 20 71 75 6f 74 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 63 h.0.quoting))...............(esc
68c0 61 70 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 31 20 71 75 6f 74 69 6e 67 29 29 29 0a 20 20 20 aped-quote.(nth.1.quoting)))....
68e0 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d .(setq.template.(replace-regexp-
6900 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5b 5e 20 5d 5c 5c 29 5c 5c 28 5c 3c 5c 3c 5c 5c 2a 5c in-string."\\([^.]\\)\\(\<\<\\*\
6920 3e 5c 3e 5c 5c 29 5c 5c 28 5b 5e 20 5d 5c 5c 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >\>\\)\\([^.]\\)"...............
6940 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 ...............................(
6960 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 28 73 65 71 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 66 69 string-join.(seq-map.(lambda.(fi
6980 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le).............................
69a0 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 ................................
69c0 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 .........(concat.unescaped-quote
69e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6a00 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 ................................
6a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 75 6e ..............(string-replace.un
6a40 65 73 63 61 70 65 64 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 escaped-quote...................
6a60 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 ................................
6a80 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 ................................
6aa0 20 20 20 20 20 20 20 20 20 20 20 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 66 69 6c 65 29 20 75 ...........escaped-quote.file).u
6ac0 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nescaped-quote))................
6ae0 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 ................................
6b00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 29 0a 20 20 20 20 20 ....................files)......
6b20 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 ................................
6b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 6a 6f 69 6e 2d 73 65 .....................(or.join-se
6b60 70 61 72 61 74 6f 72 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 parator."."))...................
6b80 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 74 65 6d 70 6c ...........................templ
6ba0 61 74 65 20 6e 69 6c 20 6e 69 6c 20 30 29 29 29 0a 0a 20 20 3b 3b 20 22 3c 3c 73 6f 6d 65 2e 74 ate.nil.nil.0)))....;;."<<some.t
6bc0 78 74 28 75 29 3e 3e 22 20 2d 3e 20 73 6f 6d 65 2e 74 78 74 20 28 69 66 20 75 6e 69 71 75 65 29 xt(u)>>".->.some.txt.(if.unique)
6be0 0a 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 20 73 6f 6d 65 28 ...;;...................->.some(
6c00 31 29 2e 74 78 74 20 28 69 66 20 69 74 20 65 78 69 73 74 29 0a 20 20 28 77 68 65 6e 2d 6c 65 74 1).txt.(if.it.exist)...(when-let
6c20 2a 20 28 28 66 6f 75 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c 5c 3c 5c 5c 28 *.((found.(string-match."\<\<\\(
6c40 5b 5e 20 5d 3f 2b 5c 5c 29 28 75 29 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 29 0a 20 20 20 [^.]?+\\)(u)\>\>".template))....
6c60 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 ...........(name.(match-string.1
6c80 20 74 65 6d 70 6c 61 74 65 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 .template))).....(setq.template.
6ca0 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 20 22 5c 3c 5c 3c 5c (replace-regexp-in-string."\<\<\
6cc0 5c 28 5b 5e 20 5d 3f 2b 5c 5c 29 28 75 29 5c 3e 5c 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 \([^.]?+\\)(u)\>\>".............
6ce0 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 ................................
6d00 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 75 6e 69 71 75 65 2d 6e 65 77 .(dwim-shell-command--unique-new
6d20 2d 66 69 6c 65 2d 70 61 74 68 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -file-path.name)................
6d40 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 74 65 ..............................te
6d60 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 30 29 29 29 0a 0a 20 20 3b 3b 20 22 3c 3c 7e 3e 3e mplate.nil.nil.0)))....;;."<<~>>
6d80 22 20 2d 3e 20 22 2f 68 6f 6d 65 2f 75 73 65 72 22 20 28 6f 72 20 65 71 75 69 76 61 6c 65 6e 74 ".->."/home/user".(or.equivalent
6da0 29 2e 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c 5c 3c 7e 5c )....(when.(string-match."\<\<~\
6dc0 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 >\>".template).....(setq.templat
6de0 65 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 20 22 5c 3c 5c e.(replace-regexp-in-string."\<\
6e00 3c 7e 5c 3e 5c 3e 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 <~\>\>".........................
6e20 20 20 20 20 20 20 20 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 .....................(expand-fil
6e40 65 2d 6e 61 6d 65 20 22 7e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-name."~").....................
6e60 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 74 65 6d 70 6c 61 74 .........................templat
6e80 65 20 6e 69 6c 20 6e 69 6c 20 30 29 29 29 0a 0a 20 20 3b 3b 20 22 3c 3c 2a 3e 3e 22 20 77 69 74 e.nil.nil.0)))....;;."<<*>>".wit
6ea0 68 20 27 28 22 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 31 2e 70 6e 67 22 20 22 70 61 74 68 2f 74 h.'("path/to/image1.png"."path/t
6ec0 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 22 29 20 2d 3e 20 22 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 o/image2.png").->."path/to/image
6ee0 31 2e 70 6e 67 20 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 32 2e 70 6e 67 22 0a 20 20 28 73 65 74 1.png.path/to/image2.png"...(set
6f00 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 q.template.(replace-regexp-in-st
6f20 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 5c 5c 2a 5c 3e 5c 3e 5c 5c 29 22 20 28 73 74 72 69 6e 67 ring."\\(\<\<\\*\>\>\\)".(string
6f40 2d 6a 6f 69 6e 20 66 69 6c 65 73 20 28 6f 72 20 6a 6f 69 6e 2d 73 65 70 61 72 61 74 6f 72 20 22 -join.files.(or.join-separator."
6f60 20 22 29 29 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 0a 0a 20 20 3b 3b 20 .")).template.nil.nil.1))....;;.
6f80 22 3c 3c 74 64 3e 3e 22 20 77 69 74 68 20 54 45 4d 50 2d 44 49 52 20 2d 3e 20 22 2f 76 61 72 2f "<<td>>".with.TEMP-DIR.->."/var/
6fa0 66 6f 6c 64 65 72 73 2f 6d 37 2f 6b 79 30 39 31 63 70 35 36 64 35 67 36 38 6e 79 68 6c 34 79 37 folders/m7/ky091cp56d5g68nyhl4y7
6fc0 66 72 63 30 30 30 30 67 6e 2f 54 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 4a frc0000gn/T/dwim-shell-command-J
6fe0 4e 4b 34 56 35 22 0a 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 NK4V5"...(setq.template.(replace
7000 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 74 64 5c 3e 5c 3e -regexp-in-string."\\(\<\<td\>\>
7020 5c 5c 29 22 20 74 65 6d 70 2d 64 69 72 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 \\)".temp-dir.template.nil.nil.1
7040 29 29 0a 0a 20 20 3b 3b 20 22 3c 3c 63 62 3e 3e 22 20 77 69 74 68 20 28 63 75 72 72 65 6e 74 2d ))....;;."<<cb>>".with.(current-
7060 6b 69 6c 6c 20 30 29 20 2d 3e 20 22 77 68 61 74 65 76 65 72 20 77 61 73 20 69 6e 20 6b 69 6c 6c kill.0).->."whatever.was.in.kill
7080 20 72 69 6e 67 22 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c .ring"...(when.(string-match."\<
70a0 5c 3c 63 62 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 \<cb\>\>".template).....(setq.te
70c0 6d 70 6c 61 74 65 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 mplate.(replace-regexp-in-string
70e0 20 22 5c 5c 28 5c 3c 5c 3c 63 62 5c 3e 5c 3e 5c 5c 29 22 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c ."\\(\<\<cb\>\>\\)".(current-kil
7100 6c 20 30 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 l.0)............................
7120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e ..................template.nil.n
7140 69 6c 20 31 29 29 29 0a 0a 20 20 28 77 68 65 6e 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 il.1)))....(when.post-process-te
7160 6d 70 6c 61 74 65 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 66 75 6e 63 61 mplate.....(setq.template.(funca
7180 6c 6c 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 6c 61 74 ll.post-process-template.templat
71a0 65 20 66 69 6c 65 73 29 29 29 0a 20 20 74 65 6d 70 6c 61 74 65 29 0a 0a 28 64 65 66 75 6e 20 64 e.files)))...template)..(defun.d
71c0 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 73 63 61 70 65 64 2d 71 75 6f 74 65 wim-shell-command--escaped-quote
71e0 2d 61 72 6f 75 6e 64 20 28 6e 65 65 64 6c 65 20 68 61 79 73 74 61 63 6b 20 26 6f 70 74 69 6f 6e -around.(needle.haystack.&option
7200 61 6c 20 75 6e 62 61 6c 61 6e 63 65 64 29 0a 20 20 22 46 69 6e 64 20 4e 45 45 44 4c 45 20 69 6e al.unbalanced)..."Find.NEEDLE.in
7220 20 48 41 59 53 54 41 43 4b 20 74 68 61 74 27 73 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 65 .HAYSTACK.that's.surrounded.by.e
7240 69 74 68 65 72 20 27 20 6f 72 20 5c 22 2e 0a 0a 53 65 74 20 55 4e 42 41 4c 41 4e 43 45 44 20 74 ither.'.or.\"...Set.UNBALANCED.t
7260 6f 20 74 20 69 66 20 4e 45 45 44 4c 45 20 69 73 6e 27 74 20 73 75 72 72 6f 75 6e 64 65 64 20 62 o.t.if.NEEDLE.isn't.surrounded.b
7280 79 20 71 75 6f 74 65 73 20 6f 6e 20 62 6f 74 68 20 73 69 64 65 73 2e 0a 0a 46 6f 72 20 65 78 61 y.quotes.on.both.sides...For.exa
72a0 6d 70 6c 65 3a 0a 0a 20 5c 22 5c 3c 5c 3c 66 6e 65 5c 3e 5c 3e 5c 22 20 5c 22 62 65 66 6f 72 65 mple:...\"\<\<fne\>\>\".\"before
72c0 20 5c 22 3c 3c 66 6e 65 3e 3e 5c 22 20 61 66 74 65 72 5c 22 20 3d 3e 20 28 5c 22 5c 22 5c 22 20 .\"<<fne>>\".after\".=>.(\"\"\".
72e0 5c 22 5c 5c 5c 5c 5c 22 5c 22 29 0a 0a 20 5c 22 5c 3c 5c 3c 66 6e 65 5c 3e 5c 3e 5c 22 20 5c 22 \"\\\\\"\")...\"\<\<fne\>\>\".\"
7300 62 65 66 6f 72 65 20 27 3c 3c 66 6e 65 3e 3e 27 20 61 66 74 65 72 5c 22 20 3d 3e 20 28 5c 22 27 before.'<<fne>>'.after\".=>.(\"'
7320 5c 22 20 5c 22 27 5c 22 27 5c 22 27 5c 22 29 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 66 \".\"'\"'\"'\")"...(when-let.((f
7340 6f 75 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 66 6f 72 6d 61 74 20 22 5c 5c 28 5b ound.(string-match.(format."\\([
7360 5e 20 5d 5c 5c 29 5c 5c 28 25 73 5c 5c 29 5c 5c 28 5b 5e 20 5d 5c 5c 29 22 20 6e 65 65 64 6c 65 ^.]\\)\\(%s\\)\\([^.]\\)".needle
7380 29 20 68 61 79 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 65 73 63 ).haystack))..............(unesc
73a0 61 70 65 64 2d 71 75 6f 74 65 20 28 69 66 20 75 6e 62 61 6c 61 6e 63 65 64 0a 20 20 20 20 20 20 aped-quote.(if.unbalanced.......
73c0 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 6f 72 20 ............................(or.
73e0 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 68 61 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 (match-string.1.haystack).......
7400 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 ................................
7420 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 68 61 79 73 74 61 63 6b 29 29 0a 20 20 20 20 20 (match-string.3.haystack))......
7440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 ...........................(cl-a
7460 73 73 65 72 74 20 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 28 6d 61 74 63 68 2d 73 74 72 69 6e ssert.(string-equal.(match-strin
7480 67 20 31 20 68 61 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.1.haystack)...................
74a0 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 ................................
74c0 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 68 61 79 73 74 61 63 6b 29 .......(match-string.3.haystack)
74e0 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).nil...........................
7500 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 22 ..............................."
7520 25 73 20 6d 75 73 74 20 6d 61 74 63 68 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %s.must.match.%s"...............
7540 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 ................................
7560 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 68 61 79 73 74 ...........(match-string.1.hayst
7580 61 63 6b 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 ack)............................
75a0 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 6d ..............................(m
75c0 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 68 61 79 73 74 61 63 6b 29 29 0a 20 20 20 20 20 20 20 atch-string.3.haystack))........
75e0 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 6d 61 74 63 68 2d .........................(match-
7600 73 74 72 69 6e 67 20 31 20 68 61 79 73 74 61 63 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 string.1.haystack)))............
7620 20 20 28 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 22 27 22 29 29 0a 20 20 20 20 3b 3b 20 4b 6e ..(escaped-quote."'")).....;;.Kn
7640 6f 77 6e 20 71 75 6f 74 65 64 20 71 75 6f 74 65 73 2e 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 own.quoted.quotes......(cond....
7660 20 20 28 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 ..((string-equal.unescaped-quote
7680 20 22 5c 22 22 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 65 73 63 61 70 65 64 2d 71 75 6f 74 65 ."\"").......(setq.escaped-quote
76a0 20 22 5c 5c 5c 5c 5c 22 22 29 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 65 71 75 61 6c 20 ."\\\\\""))......((string-equal.
76c0 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 22 27 22 29 0a 20 20 20 20 20 20 28 73 65 74 71 unescaped-quote."'").......(setq
76e0 20 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 22 27 5c 22 27 5c 22 27 22 29 29 0a 20 20 20 20 20 .escaped-quote."'\"'\"'"))......
7700 3b 3b 20 49 67 6e 6f 72 65 20 73 6c 61 73 68 65 73 20 61 73 20 75 73 65 72 20 6d 61 79 20 62 65 ;;.Ignore.slashes.as.user.may.be
7720 20 6a 6f 69 6e 69 6e 67 20 70 61 74 68 73 2e 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 65 71 .joining.paths.......((string-eq
7740 75 61 6c 20 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 22 2f 22 29 0a 20 20 20 20 20 20 28 ual.unescaped-quote."/").......(
7760 73 65 74 71 20 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 22 2f 22 29 29 0a 20 20 20 20 20 28 74 setq.escaped-quote."/"))......(t
7780 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 43 6f 75 6c 64 6e 27 74 20 66 69 67 75 72 65 20 6f .......(error."Couldn't.figure.o
77a0 75 74 20 68 6f 77 20 74 6f 20 71 75 6f 74 65 20 66 6f 72 20 5c 22 25 73 5c 22 20 75 73 69 6e 67 ut.how.to.quote.for.\"%s\".using
77c0 20 25 73 20 61 6e 64 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 68 61 79 73 74 61 63 .%s.and.%s"..............haystac
77e0 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 68 k..............(match-string.1.h
7800 61 79 73 74 61 63 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 aystack)..............(match-str
7820 69 6e 67 20 33 20 68 61 79 73 74 61 63 6b 29 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 75 6e 65 ing.3.haystack)))).....(list.une
7840 73 63 61 70 65 64 2d 71 75 6f 74 65 20 65 73 63 61 70 65 64 2d 71 75 6f 74 65 29 29 29 0a 0a 28 scaped-quote.escaped-quote)))..(
7860 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 78 70 61 6e 64 defun.dwim-shell-command--expand
7880 2d 66 69 6c 65 2d 74 65 6d 70 6c 61 74 65 20 28 74 65 6d 70 6c 61 74 65 20 66 69 6c 65 20 26 6f -file-template.(template.file.&o
78a0 70 74 69 6f 6e 61 6c 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 74 65 ptional.post-process-template.te
78c0 6d 70 2d 64 69 72 20 63 75 72 72 65 6e 74 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 29 0a 20 20 22 mp-dir.current.replacements)..."
78e0 45 78 70 61 6e 64 20 54 45 4d 50 4c 41 54 45 20 75 73 69 6e 67 20 46 49 4c 45 2e 0a 0a 45 78 70 Expand.TEMPLATE.using.FILE...Exp
7900 61 6e 64 20 75 73 69 6e 67 20 3c 3c 66 3e 3e 20 66 6f 72 20 46 49 4c 45 2c 20 3c 3c 66 6e 65 3e and.using.<<f>>.for.FILE,.<<fne>
7920 3e 20 66 6f 72 20 46 49 4c 45 20 77 69 74 68 6f 75 74 20 65 78 74 65 6e 73 69 6f 6e 2c 20 61 6e >.for.FILE.without.extension,.an
7940 64 0a 3c 3c 65 3e 3e 20 66 6f 72 20 46 49 4c 45 20 65 78 74 65 6e 73 69 6f 6e 2e 20 20 3c 3c 6e d.<<e>>.for.FILE.extension...<<n
7960 3e 3e 2c 20 3c 3c 31 6e 3e 3e 2c 20 6f 72 20 3c 3c 61 6e 3e 3e 20 69 73 20 72 65 70 6c 61 63 65 >>,.<<1n>>,.or.<<an>>.is.replace
7980 64 20 77 69 74 68 0a 43 55 52 52 45 4e 54 2e 20 20 3c 3c 73 6f 6d 65 2e 74 78 74 28 75 29 3e 3e d.with.CURRENT...<<some.txt(u)>>
79a0 20 65 78 70 61 6e 64 73 20 74 6f 20 75 6e 69 71 75 65 20 5c 22 73 6f 6d 65 28 31 29 2e 74 78 74 .expands.to.unique.\"some(1).txt
79c0 5c 22 2e 0a 0a 4e 6f 74 65 3a 20 54 68 69 73 20 65 78 70 61 6e 64 65 72 20 63 61 6e 6e 6f 74 20 \"...Note:.This.expander.cannot.
79e0 62 65 20 75 73 65 64 20 74 6f 20 65 78 70 61 6e 64 20 3c 3c 2a 3e 3e 2e 0a 0a 20 20 46 6f 72 20 be.used.to.expand.<<*>>.....For.
7a00 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 47 69 76 65 6e 20 46 49 4c 45 20 5c 22 70 61 74 68 2f example:......Given.FILE.\"path/
7a20 74 6f 2f 69 6d 61 67 65 2e 70 6e 67 5c 22 0a 0a 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 3c to/image.png\"......\"convert.'<
7a40 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6a 70 67 27 5c 22 20 65 78 70 61 6e 64 73 20 74 6f <f>>'.'<<fne>>.jpg'\".expands.to
7a60 0a 0a 20 20 20 20 20 20 5c 22 63 6f 6e 76 65 72 74 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 ........\"convert.'path/to/image
7a80 2e 70 6e 67 27 20 27 70 61 74 68 2f 74 6f 2f 69 6d 61 67 65 2e 6a 70 67 27 5c 22 0a 0a 55 73 65 .png'.'path/to/image.jpg'\"..Use
7aa0 20 50 4f 53 54 2d 50 52 4f 43 45 53 53 2d 54 45 4d 50 4c 41 54 45 20 74 6f 20 66 75 72 74 68 65 .POST-PROCESS-TEMPLATE.to.furthe
7ac0 72 20 65 78 70 61 6e 64 20 74 65 6d 70 6c 61 74 65 20 67 69 76 65 6e 20 6f 77 6e 20 6c 6f 67 69 r.expand.template.given.own.logi
7ae0 63 2e 0a 0a 53 65 74 20 54 45 4d 50 2d 44 49 52 20 74 6f 20 61 20 75 6e 69 71 75 65 20 74 65 6d c...Set.TEMP-DIR.to.a.unique.tem
7b00 70 20 64 69 72 65 63 74 6f 72 79 20 74 6f 20 74 68 69 73 20 74 65 6d 70 6c 61 74 65 2e 0a 0a 52 p.directory.to.this.template...R
7b20 45 50 4c 41 43 45 4d 45 4e 54 53 20 69 73 20 61 20 63 6f 6e 73 20 6c 69 73 74 20 6f 66 20 6c 69 EPLACEMENTS.is.a.cons.list.of.li
7b40 74 65 72 61 6c 73 20 74 6f 20 72 65 70 6c 61 63 65 20 77 69 74 68 20 76 61 6c 75 65 73 2e 22 0a terals.to.replace.with.values.".
7b60 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 61 6e 64 20 28 64 77 69 6d 2d 73 68 65 ..(cl-assert.(not.(and.(dwim-she
7b80 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d ll-command--contains-multi-file-
7ba0 72 65 66 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ref.template)...................
7bc0 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 .....(dwim-shell-command--contai
7be0 6e 73 2d 73 69 6e 67 6c 65 2d 66 69 6c 65 2d 72 65 66 20 74 65 6d 70 6c 61 74 65 29 29 29 0a 20 ns-single-file-ref.template)))..
7c00 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 22 4d 75 73 74 20 6e 6f 74 20 68 61 76 65 20 25 ............nil."Must.not.have.%
7c20 73 20 61 6e 64 20 25 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 74 65 6d 70 6c 61 74 65 22 0a 20 s.and.%s.in.the.same.template"..
7c40 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d ............(dwim-shell-command-
7c60 2d 63 6f 6e 74 61 69 6e 73 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 72 65 66 20 74 65 6d 70 6c 61 74 -contains-multi-file-ref.templat
7c80 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d e)..............(dwim-shell-comm
7ca0 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 73 69 6e 67 6c 65 2d 66 69 6c 65 2d 72 65 66 20 74 65 and--contains-single-file-ref.te
7cc0 6d 70 6c 61 74 65 29 29 0a 0a 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 72 65 70 6c 61 mplate))....(mapc.(lambda.(repla
7ce0 63 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 cement)...........(setq.template
7d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 .................(string-replace
7d20 20 28 63 61 72 20 72 65 70 6c 61 63 65 6d 65 6e 74 29 20 28 63 64 72 20 72 65 70 6c 61 63 65 6d .(car.replacement).(cdr.replacem
7d40 65 6e 74 29 20 74 65 6d 70 6c 61 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 72 65 70 6c 61 63 65 ent).template))).........replace
7d60 6d 65 6e 74 73 29 0a 0a 20 20 28 77 68 65 6e 20 66 69 6c 65 0a 20 20 20 20 28 73 65 74 71 20 66 ments)....(when.file.....(setq.f
7d80 69 6c 65 20 28 69 66 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 75 73 65 2d 61 ile.(if.dwim-shell-command-use-a
7da0 62 73 6f 6c 75 74 65 2d 70 61 74 68 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bsolute-paths...................
7dc0 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 .(expand-file-name.file)........
7de0 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 28 65 ..........(file-relative-name.(e
7e00 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 20 64 65 66 61 75 6c 74 2d 64 69 xpand-file-name.file).default-di
7e20 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 3b 3b 20 22 3c 3c 66 6e 65 3e 3e 22 20 77 69 74 68 rectory))).....;;."<<fne>>".with
7e40 20 22 2f 70 61 74 68 2f 74 6d 70 2e 74 78 74 22 20 2d 3e 20 22 2f 70 61 74 68 2f 74 6d 70 22 0a ."/path/tmp.txt".->."/path/tmp".
7e60 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 71 75 6f 74 69 6e 67 20 28 64 77 69 6d 2d 73 68 65 ....(if-let*.((quoting.(dwim-she
7e80 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 73 63 61 70 65 64 2d 71 75 6f 74 65 2d 61 72 6f 75 6e 64 ll-command--escaped-quote-around
7ea0 20 22 5c 3c 5c 3c 66 6e 65 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 20 74 29 29 0a 20 20 20 20 ."\<\<fne\>\>".template.t)).....
7ec0 20 20 20 20 20 20 20 20 20 20 28 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 ..........(unescaped-quote.(nth.
7ee0 30 20 71 75 6f 74 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 63 61 70 0.quoting))...............(escap
7f00 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 31 20 71 75 6f 74 69 6e 67 29 29 29 0a 20 20 20 20 20 ed-quote.(nth.1.quoting)))......
7f20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 ...(setq.template.(replace-regex
7f40 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5b 5e 20 5d 5c 5c 29 5c 5c 28 5c 3c 5c 3c 66 6e p-in-string."\\([^.]\\)\\(\<\<fn
7f60 65 5c 3e 5c 3e 5c 5c 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e\>\>\\)".......................
7f80 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 73 74 72 69 ...........................(stri
7fa0 6e 67 2d 72 65 70 6c 61 63 65 20 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 65 73 63 61 70 ng-replace.unescaped-quote.escap
7fc0 65 64 2d 71 75 6f 74 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 ed-quote.(file-name-sans-extensi
7fe0 6f 6e 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.file)).......................
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 20 74 65 6d 70 6c ...........................templ
8020 61 74 65 20 6e 69 6c 20 6e 69 6c 20 32 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 ate.nil.nil.2)).......(setq.temp
8040 6c 61 74 65 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 20 22 late.(replace-regexp-in-string."
8060 5c 5c 28 5c 3c 5c 3c 66 6e 65 5c 3e 5c 3e 5c 5c 29 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 \\(\<\<fne\>\>\\)".(file-name-sa
8080 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 29 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 ns-extension.file).template.nil.
80a0 6e 69 6c 20 31 29 29 29 0a 0a 20 20 20 20 3b 3b 20 22 3c 3c 62 3e 3e 22 20 77 69 74 68 20 22 2f nil.1)))......;;."<<b>>".with."/
80c0 70 61 74 68 2f 74 6d 70 2e 74 78 74 22 20 2d 3e 20 22 74 6d 70 2e 74 78 74 22 0a 20 20 20 20 28 path/tmp.txt".->."tmp.txt".....(
80e0 69 66 2d 6c 65 74 2a 20 28 28 71 75 6f 74 69 6e 67 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f if-let*.((quoting.(dwim-shell-co
8100 6d 6d 61 6e 64 2d 2d 65 73 63 61 70 65 64 2d 71 75 6f 74 65 2d 61 72 6f 75 6e 64 20 22 5c 3c 5c mmand--escaped-quote-around."\<\
8120 3c 62 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 <b\>\>".template.t))............
8140 20 20 20 28 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 30 20 71 75 6f 74 69 ...(unescaped-quote.(nth.0.quoti
8160 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 63 61 70 65 64 2d 71 75 6f 74 ng))...............(escaped-quot
8180 65 20 28 6e 74 68 20 31 20 71 75 6f 74 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 e.(nth.1.quoting))).........(set
81a0 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 q.template.(replace-regexp-in-st
81c0 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 62 5c 3e 5c 3e 5c 5c 29 5c 5c 28 5b 5e 20 5d 5c 5c 29 22 ring."\\(\<\<b\>\>\\)\\([^.]\\)"
81e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 ..................(string-replac
8220 65 20 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 e.unescaped-quote.escaped-quote.
8240 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 0a 20 (file-name-nondirectory.file))..
8260 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 ................................
8280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c ................template.nil.nil
82a0 20 31 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 .1)).......(setq.template.(repla
82c0 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 62 5c 3e 5c ce-regexp-in-string."\\(\<\<b\>\
82e0 3e 5c 5c 29 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 >\\)".(file-name-nondirectory.fi
8300 6c 65 29 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 29 0a 0a 20 20 20 20 3b le).template.nil.nil.1)))......;
8320 3b 20 22 3c 3c 62 6e 65 3e 3e 22 20 77 69 74 68 20 22 2f 70 61 74 68 2f 74 6d 70 2e 74 78 74 22 ;."<<bne>>".with."/path/tmp.txt"
8340 20 2d 3e 20 22 74 6d 70 22 0a 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 71 75 6f 74 69 6e 67 .->."tmp".....(if-let*.((quoting
8360 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 73 63 61 70 65 64 2d 71 75 .(dwim-shell-command--escaped-qu
8380 6f 74 65 2d 61 72 6f 75 6e 64 20 22 5c 3c 5c 3c 62 6e 65 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 ote-around."\<\<bne\>\>".templat
83a0 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 65 73 63 61 70 65 64 2d 71 e.t))...............(unescaped-q
83c0 75 6f 74 65 20 28 6e 74 68 20 30 20 71 75 6f 74 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 uote.(nth.0.quoting))...........
83e0 20 20 20 20 28 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 31 20 71 75 6f 74 69 6e ....(escaped-quote.(nth.1.quotin
8400 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 g))).........(setq.template.(rep
8420 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 62 6e lace-regexp-in-string."\\(\<\<bn
8440 65 5c 3e 5c 3e 5c 5c 29 5c 5c 28 5b 5e 20 5d 5c 5c 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 e\>\>\\)\\([^.]\\)".............
8460 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 ................................
8480 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 75 6e 65 73 63 61 70 65 64 2d 71 .....(string-replace.unescaped-q
84a0 75 6f 74 65 20 65 73 63 61 70 65 64 2d 71 75 6f 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 uote.escaped-quote..............
84c0 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 ................................
84e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 ....................(file-name-s
8500 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 ans-extension.(file-name-nondire
8520 63 74 6f 72 79 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctory.file)))...................
8540 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 74 ...............................t
8560 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 emplate.nil.nil.1)).......(setq.
8580 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 template.(replace-regexp-in-stri
85a0 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 62 6e 65 5c 3e 5c 3e 5c 5c 29 22 20 28 66 69 6c 65 2d 6e 61 6d ng."\\(\<\<bne\>\>\\)".(file-nam
85c0 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-sans-extension................
85e0 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 ................................
8600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 .................(file-name-nond
8620 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c irectory.file)).template.nil.nil
8640 20 31 29 29 29 0a 0a 20 20 20 20 3b 3b 20 22 3c 3c 65 3e 3e 22 20 77 69 74 68 20 22 2f 70 61 74 .1)))......;;."<<e>>".with."/pat
8660 68 2f 74 6d 70 2e 74 78 74 22 20 2d 3e 20 22 74 78 74 22 0a 20 20 20 20 28 69 66 20 28 66 69 6c h/tmp.txt".->."txt".....(if.(fil
8680 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 e-name-extension.file).........(
86a0 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e setq.template.(replace-regexp-in
86c0 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 65 5c 3e 5c 3e 5c 5c 29 22 20 28 66 69 6c 65 2d -string."\\(\<\<e\>\>\\)".(file-
86e0 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 29 20 74 65 6d 70 6c 61 74 65 20 6e 69 name-extension.file).template.ni
8700 6c 20 6e 69 6c 20 31 29 29 0a 20 20 20 20 20 20 3b 3b 20 46 69 6c 65 20 68 61 64 20 6e 6f 20 65 l.nil.1)).......;;.File.had.no.e
8720 78 74 65 6e 73 69 6f 6e 2e 20 41 74 74 65 6d 70 74 20 74 6f 20 72 65 6d 6f 76 65 20 2e 3c 3c 65 xtension..Attempt.to.remove..<<e
8740 3e 3e 2e 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 >>........(setq.template.(replac
8760 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 2e 5c 3c 5c 3c 65 5c 3e e-regexp-in-string."\\(\.\<\<e\>
8780 5c 3e 5c 5c 29 22 20 22 22 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 29 0a \>\\)"."".template.nil.nil.1))).
87a0 0a 20 20 20 20 3b 3b 20 22 3c 3c 66 3e 3e 22 20 77 69 74 68 20 22 2f 70 61 74 68 2f 66 69 6c 65 .....;;."<<f>>".with."/path/file
87c0 2e 6a 70 67 22 20 2d 3e 20 22 2f 70 61 74 68 2f 66 69 6c 65 2e 6a 70 67 22 0a 20 20 20 20 28 69 .jpg".->."/path/file.jpg".....(i
87e0 66 2d 6c 65 74 2a 20 28 28 71 75 6f 74 69 6e 67 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d f-let*.((quoting.(dwim-shell-com
8800 6d 61 6e 64 2d 2d 65 73 63 61 70 65 64 2d 71 75 6f 74 65 2d 61 72 6f 75 6e 64 20 22 5c 3c 5c 3c mand--escaped-quote-around."\<\<
8820 66 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f\>\>".template))...............
8840 28 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 30 20 71 75 6f 74 69 6e 67 29 (unescaped-quote.(nth.0.quoting)
8860 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 28 )...............(escaped-quote.(
8880 6e 74 68 20 31 20 71 75 6f 74 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 nth.1.quoting))).........(setq.t
88a0 65 6d 70 6c 61 74 65 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 emplate.(replace-regexp-in-strin
88c0 67 20 22 5c 5c 28 5b 5e 20 5d 5c 5c 29 5c 5c 28 5c 3c 5c 3c 66 5c 3e 5c 3e 5c 5c 29 5c 5c 28 5b g."\\([^.]\\)\\(\<\<f\>\>\\)\\([
88e0 5e 20 5d 5c 5c 29 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 ^.]\\)".........................
8900 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 73 74 72 69 6e 67 .........................(string
8920 2d 72 65 70 6c 61 63 65 20 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 65 73 63 61 70 65 64 -replace.unescaped-quote.escaped
8940 2d 71 75 6f 74 65 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -quote.file)....................
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 74 65 ..............................te
8980 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 32 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 74 mplate.nil.nil.2)).......(setq.t
89a0 65 6d 70 6c 61 74 65 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 emplate.(replace-regexp-in-strin
89c0 67 20 22 5c 5c 28 5c 3c 5c 3c 66 5c 3e 5c 3e 5c 5c 29 22 20 66 69 6c 65 20 74 65 6d 70 6c 61 74 g."\\(\<\<f\>\>\\)".file.templat
89e0 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 29 0a 0a 20 20 20 20 3b 3b 20 22 3c 3c 66 28 75 29 3e 3e e.nil.nil.1)))......;;."<<f(u)>>
8a00 22 20 77 69 74 68 20 22 2f 70 61 74 68 2f 66 69 6c 65 2e 6a 70 67 22 20 2d 3e 20 22 2f 70 61 74 ".with."/path/file.jpg".->."/pat
8a20 68 2f 66 69 6c 65 28 31 29 2e 6a 70 67 22 0a 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 71 75 h/file(1).jpg".....(if-let*.((qu
8a40 6f 74 69 6e 67 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 65 73 63 61 70 oting.(dwim-shell-command--escap
8a60 65 64 2d 71 75 6f 74 65 2d 61 72 6f 75 6e 64 20 22 5c 3c 5c 3c 66 28 75 29 5c 3e 5c 3e 22 20 74 ed-quote-around."\<\<f(u)\>\>".t
8a80 65 6d 70 6c 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 65 73 63 61 70 emplate))...............(unescap
8aa0 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 30 20 71 75 6f 74 69 6e 67 29 29 0a 20 20 20 20 20 20 ed-quote.(nth.0.quoting)).......
8ac0 20 20 20 20 20 20 20 20 28 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 28 6e 74 68 20 31 20 71 75 ........(escaped-quote.(nth.1.qu
8ae0 6f 74 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 oting))).........(setq.template.
8b00 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 20 22 5c 5c 28 5b 5e (replace-regexp-in-string."\\([^
8b20 20 5d 5c 5c 29 5c 5c 28 5c 3c 5c 3c 66 5c 28 75 29 3e 5c 3e 5c 5c 29 5c 5c 28 5b 5e 20 5d 5c 5c .]\\)\\(\<\<f\(u)>\>\\)\\([^.]\\
8b40 29 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 20 20 )"..............................
8b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c ....................(string-repl
8b80 61 63 65 20 75 6e 65 73 63 61 70 65 64 2d 71 75 6f 74 65 20 65 73 63 61 70 65 64 2d 71 75 6f 74 ace.unescaped-quote.escaped-quot
8ba0 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 20 20 20 e...............................
8bc0 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 ................................
8be0 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 75 6e 69 71 75 65 2d 6e ...(dwim-shell-command--unique-n
8c00 65 77 2d 66 69 6c 65 2d 70 61 74 68 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ew-file-path.file)).............
8c20 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 ................................
8c40 20 20 20 20 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 32 29 29 0a 20 20 20 20 20 20 .....template.nil.nil.2)).......
8c60 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 (setq.template.(replace-regexp-i
8c80 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 66 28 75 29 5c 3e 5c 3e 5c 5c 29 22 0a 20 20 n-string."\\(\<\<f(u)\>\>\\)"...
8ca0 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 ................................
8cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 .............(dwim-shell-command
8ce0 2d 2d 75 6e 69 71 75 65 2d 6e 65 77 2d 66 69 6c 65 2d 70 61 74 68 20 66 69 6c 65 29 20 74 65 6d --unique-new-file-path.file).tem
8d00 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 29 29 0a 0a 20 20 3b 3b 20 22 3c 3c 73 6f 6d plate.nil.nil.1))))....;;."<<som
8d20 65 2e 74 78 74 28 75 29 3e 3e 22 20 2d 3e 20 73 6f 6d 65 2e 74 78 74 20 28 69 66 20 75 6e 69 71 e.txt(u)>>".->.some.txt.(if.uniq
8d40 75 65 29 0a 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2d 3e 20 73 6f ue)...;;...................->.so
8d60 6d 65 28 31 29 2e 74 78 74 20 28 69 66 20 69 74 20 65 78 69 73 74 29 0a 20 20 28 77 68 65 6e 2d me(1).txt.(if.it.exist)...(when-
8d80 6c 65 74 2a 20 28 28 66 6f 75 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c 5c 3c let*.((found.(string-match."\<\<
8da0 5c 5c 28 5b 5e 20 5d 3f 2b 5c 5c 29 28 75 29 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 29 0a \\([^.]?+\\)(u)\>\>".template)).
8dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 61 6d 65 20 28 6d 61 74 63 68 2d 73 74 72 69 6e ..............(name.(match-strin
8de0 67 20 31 20 74 65 6d 70 6c 61 74 65 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 g.1.template))).....(setq.templa
8e00 74 65 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 20 22 5c 3c te.(replace-regexp-in-string."\<
8e20 5c 3c 5c 5c 28 5b 5e 20 5d 3f 2b 5c 5c 29 28 75 29 5c 3e 5c 3e 22 0a 20 20 20 20 20 20 20 20 20 \<\\([^.]?+\\)(u)\>\>"..........
8e40 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 ................................
8e60 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 75 6e 69 71 75 65 2d ....(dwim-shell-command--unique-
8e80 6e 65 77 2d 66 69 6c 65 2d 70 61 74 68 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 new-file-path.name).............
8ea0 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 ................................
8ec0 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 30 29 29 29 0a 0a 20 20 3b 3b 20 22 3c 3c .template.nil.nil.0)))....;;."<<
8ee0 7e 3e 3e 22 20 2d 3e 20 22 2f 68 6f 6d 65 2f 75 73 65 72 22 20 28 6f 72 20 65 71 75 69 76 61 6c ~>>".->."/home/user".(or.equival
8f00 65 6e 74 29 2e 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c 5c ent)....(when.(string-match."\<\
8f20 3c 7e 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 <~\>\>".template).....(setq.temp
8f40 6c 61 74 65 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 20 22 late.(replace-regexp-in-string."
8f60 5c 3c 5c 3c 7e 5c 3e 5c 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \<\<~\>\>"......................
8f80 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 65 78 70 61 6e 64 2d ........................(expand-
8fa0 66 69 6c 65 2d 6e 61 6d 65 20 22 7e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file-name."~")..................
8fc0 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 74 65 6d 70 ............................temp
8fe0 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 30 29 29 29 0a 0a 20 20 3b 3b 20 22 3c 3c 74 64 3e 3e 22 late.nil.nil.0)))....;;."<<td>>"
9000 20 77 69 74 68 20 54 45 4d 50 2d 44 49 52 20 2d 3e 20 22 2f 76 61 72 2f 66 6f 6c 64 65 72 73 2f .with.TEMP-DIR.->."/var/folders/
9020 6d 37 2f 6b 79 30 39 31 63 70 35 36 64 35 67 36 38 6e 79 68 6c 34 79 37 66 72 63 30 30 30 30 67 m7/ky091cp56d5g68nyhl4y7frc0000g
9040 6e 2f 54 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 4a 4e 4b 34 56 35 22 0a 20 n/T/dwim-shell-command-JNK4V5"..
9060 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d .(setq.template.(replace-regexp-
9080 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c 3c 74 64 5c 3e 5c 3e 5c 5c 29 22 20 74 65 6d in-string."\\(\<\<td\>\>\\)".tem
90a0 70 2d 64 69 72 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 0a 0a 20 20 3b 3b p-dir.template.nil.nil.1))....;;
90c0 20 22 3c 3c 63 62 3e 3e 22 20 77 69 74 68 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 20 ."<<cb>>".with.(current-kill.0).
90e0 2d 3e 20 22 77 68 61 74 65 76 65 72 20 77 61 73 20 69 6e 20 6b 69 6c 6c 20 72 69 6e 67 22 0a 20 ->."whatever.was.in.kill.ring"..
9100 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c 5c 3c 63 62 5c 3e 5c 3e .(when.(string-match."\<\<cb\>\>
9120 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 ".template).....(setq.template.(
9140 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 28 5c 3c 5c replace-regexp-in-string."\\(\<\
9160 3c 63 62 5c 3e 5c 3e 5c 5c 29 22 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 0a 20 20 20 <cb\>\>\\)".(current-kill.0)....
9180 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 ................................
91a0 20 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 31 29 29 29 0a ..........template.nil.nil.1))).
91c0 0a 20 20 3b 3b 20 22 3c 3c 6e 3e 3e 22 20 6f 72 20 22 3c 3c 61 6e 3e 22 20 6f 72 20 22 3c 3c 31 ...;;."<<n>>".or."<<an>".or."<<1
91e0 6e 3e 22 20 77 69 74 68 20 63 75 72 72 65 6e 74 2e 0a 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 n>".with.current....(setq.templa
9200 74 65 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 20 22 5c 5c te.(replace-regexp-in-string."\\
9220 28 5c 3c 5c 3c 5b 5b 3a 61 6c 6e 75 6d 3a 5d 5d 3f 2b 6e 5c 3e 5c 3e 5c 5c 29 22 20 63 75 72 72 (\<\<[[:alnum:]]?+n\>\>\\)".curr
9240 65 6e 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 20 20 20 ent.............................
9260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 6d 70 6c 61 74 65 20 6e 69 6c 20 6e 69 6c 20 ...............template.nil.nil.
9280 31 29 29 0a 0a 20 20 28 77 68 65 6e 20 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 1))....(when.post-process-templa
92a0 74 65 0a 20 20 20 20 28 73 65 74 71 20 74 65 6d 70 6c 61 74 65 20 28 66 75 6e 63 61 6c 6c 20 70 te.....(setq.template.(funcall.p
92c0 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 74 65 6d 70 6c 61 74 65 20 66 69 ost-process-template.template.fi
92e0 6c 65 29 29 29 0a 20 20 74 65 6d 70 6c 61 74 65 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 le)))...template)..(defun.dwim-s
9300 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 73 69 6e 67 6c 65 2d 66 69 hell-command--contains-single-fi
9320 6c 65 2d 72 65 66 20 28 74 65 6d 70 6c 61 74 65 29 0a 20 20 22 43 68 65 63 6b 20 66 6f 72 20 3c le-ref.(template)..."Check.for.<
9340 3c 66 3e 3e 2c 20 3c 3c 66 6e 65 3e 3e 2c 20 6f 72 20 3c 3c 65 3e 3e 20 69 6e 20 54 45 4d 50 4c <f>>,.<<fne>>,.or.<<e>>.in.TEMPL
9360 41 54 45 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c ATE."...(cond.((string-match."\<
9380 5c 3c 66 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 22 3c 3c 66 \<f\>\>".template).........."<<f
93a0 3e 3e 22 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c 5c >>").........((string-match."\<\
93c0 3c 66 6e 65 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 22 3c 3c <fne\>\>".template).........."<<
93e0 66 6e 65 3e 3e 22 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 fne>>").........((string-match."
9400 5c 3c 5c 3c 62 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 22 3c \<\<b\>\>".template).........."<
9420 3c 62 3e 3e 22 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c <b>>").........((string-match."\
9440 3c 5c 3c 62 6e 65 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 22 <\<bne\>\>".template).........."
9460 3c 3c 62 6e 65 3e 3e 22 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 <<bne>>").........((string-match
9480 20 22 5c 3c 5c 3c 65 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 ."\<\<e\>\>".template)..........
94a0 22 3c 3c 65 3e 3e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f "<<e>>")))..(defun.dwim-shell-co
94c0 6d 6d 61 6e 64 2d 2d 63 6f 6e 74 61 69 6e 73 2d 6d 75 6c 74 69 2d 66 69 6c 65 2d 72 65 66 20 28 mmand--contains-multi-file-ref.(
94e0 74 65 6d 70 6c 61 74 65 29 0a 20 20 22 43 68 65 63 6b 20 66 6f 72 20 3c 3c 2a 3e 3e 20 69 6e 20 template)..."Check.for.<<*>>.in.
9500 54 45 4d 50 4c 41 54 45 2e 22 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 TEMPLATE."...(when.(string-match
9520 20 22 5c 3c 5c 3c 5c 5c 2a 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 20 20 20 22 3c 3c ."\<\<\\*\>\>".template)....."<<
9540 2a 3e 3e 22 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e *>>"))..(defun.dwim-shell-comman
9560 64 2d 2d 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 28 6f 76 65 72 d--default-directory-files.(over
9580 72 69 64 65 29 0a 20 20 22 4c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 69 6e 20 63 75 72 72 65 6e ride)..."List.of.files.in.curren
95a0 74 20 62 75 66 66 65 72 27 73 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 0a t.buffer's.`default-directory'..
95c0 55 73 65 20 4f 56 45 52 52 49 44 45 20 74 6f 20 6f 76 65 72 72 69 64 65 20 60 64 65 66 61 75 6c Use.OVERRIDE.to.override.`defaul
95e0 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 64 65 66 t-directory'."...(when-let.((def
9600 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 6f 72 20 6f 76 65 72 72 69 64 65 20 64 65 66 61 ault-directory.(or.override.defa
9620 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 28 73 65 71 2d 6d 61 70 20 28 6c ult-directory))).....(seq-map.(l
9640 61 6d 62 64 61 20 28 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(filename)................
9660 28 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 (file-name-concat.default-direct
9680 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d ory.filename))..............(cl-
96a0 72 65 6d 6f 76 65 2d 69 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 remove-if...............(lambda.
96c0 28 65 29 20 28 6d 65 6d 62 65 72 20 65 20 27 28 22 2e 22 20 22 2e 2e 22 29 29 29 0a 20 20 20 20 (e).(member.e.'(".".".."))).....
96e0 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 65 66 61 75 ..........(directory-files.defau
9700 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 lt-directory)))))..(defun.dwim-s
9720 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 2d 62 65 74 77 hell-command--last-modified-betw
9740 65 65 6e 20 28 62 65 66 6f 72 65 20 61 66 74 65 72 29 0a 20 20 22 43 6f 6d 70 61 72 65 20 66 69 een.(before.after)..."Compare.fi
9760 6c 65 73 20 69 6e 20 42 45 46 4f 52 45 20 61 6e 64 20 41 46 54 45 52 20 61 6e 64 20 72 65 74 75 les.in.BEFORE.and.AFTER.and.retu
9780 72 6e 20 6f 6c 64 65 73 74 20 66 69 6c 65 20 69 6e 20 64 69 66 66 2e 22 0a 20 20 28 63 61 72 20 rn.oldest.file.in.diff."...(car.
97a0 28 6c 61 73 74 20 28 73 65 71 2d 73 6f 72 74 20 23 27 66 69 6c 65 2d 6e 65 77 65 72 2d 74 68 61 (last.(seq-sort.#'file-newer-tha
97c0 6e 2d 66 69 6c 65 2d 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 n-file-p........................
97e0 28 73 65 71 2d 64 69 66 66 65 72 65 6e 63 65 20 61 66 74 65 72 20 62 65 66 6f 72 65 29 29 29 29 (seq-difference.after.before))))
9800 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 )..(defun.dwim-shell-command--fi
9820 6e 61 6c 69 7a 65 20 28 63 61 6c 6c 69 6e 67 2d 62 75 66 66 65 72 20 66 69 6c 65 73 2d 62 65 66 nalize.(calling-buffer.files-bef
9840 6f 72 65 20 70 72 6f 63 65 73 73 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 20 6f 6e ore.process.progress-reporter.on
9860 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 65 72 72 6f 72 -completion.silent-success.error
9880 2d 61 75 74 6f 66 6f 63 75 73 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 -autofocus.monitor-directory)...
98a0 22 46 69 6e 61 6c 69 7a 65 20 73 63 72 69 70 74 20 65 78 65 63 75 74 69 6f 6e 2e 0a 0a 43 41 4c "Finalize.script.execution...CAL
98c0 4c 49 4e 47 2d 42 55 46 46 45 52 2c 20 46 49 4c 45 53 2d 42 45 46 4f 52 45 2c 20 50 52 4f 43 45 LING-BUFFER,.FILES-BEFORE,.PROCE
98e0 53 53 2c 20 50 52 4f 47 52 45 53 53 2d 52 45 50 4f 52 54 45 52 2c 0a 45 52 52 4f 52 2d 41 55 54 SS,.PROGRESS-REPORTER,.ERROR-AUT
9900 4f 46 4f 43 55 53 2c 20 4f 4e 2d 43 4f 4d 50 4c 45 54 49 4f 4e 2c 20 53 49 4c 45 4e 54 2d 53 55 OFOCUS,.ON-COMPLETION,.SILENT-SU
9920 43 43 45 53 53 2c 20 61 6e 64 20 4d 4f 4e 49 54 4f 52 2d 44 49 52 45 43 54 4f 52 59 20 61 72 65 CCESS,.and.MONITOR-DIRECTORY.are
9940 0a 61 6c 6c 20 6e 65 65 64 65 64 20 74 6f 20 66 69 6e 61 6c 69 7a 65 20 70 72 6f 63 65 73 73 69 .all.needed.to.finalize.processi
9960 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 6c 64 65 73 74 2d 6e 65 77 2d 66 69 6c 65 29 0a 20 ng."...(let.((oldest-new-file)..
9980 20 20 20 20 20 20 20 28 66 69 6c 65 73 2d 61 66 74 65 72 29 29 0a 20 20 20 20 28 77 68 65 6e 20 .......(files-after)).....(when.
99a0 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 0a 20 20 20 20 20 20 28 70 72 6f 67 72 65 73 progress-reporter.......(progres
99c0 73 2d 72 65 70 6f 72 74 65 72 2d 64 6f 6e 65 20 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 s-reporter-done.progress-reporte
99e0 72 29 29 0a 20 20 20 20 28 69 66 20 28 3d 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 r)).....(if.(=.(process-exit-sta
9a00 74 75 73 20 70 72 6f 63 65 73 73 29 20 30 29 0a 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 tus.process).0).........(progn..
9a20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6d 65 .........(dwim-shell-command--me
9a40 73 73 61 67 65 20 28 66 75 6e 63 61 6c 6c 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e ssage.(funcall.dwim-shell-comman
9a60 64 2d 64 6f 6e 65 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 d-done-buffer-name.(process-name
9a80 20 70 72 6f 63 65 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 .process)))...........(with-curr
9aa0 65 6e 74 2d 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 ent-buffer.(process-buffer.proce
9ac0 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 62 75 66 66 65 72 20 28 ss).............(rename-buffer.(
9ae0 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 66 75 6e 63 61 6c generate-new-buffer-name.(funcal
9b00 6c 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 64 6f 6e 65 2d 62 75 66 66 65 72 l.dwim-shell-command-done-buffer
9b20 2d 6e 61 6d 65 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 72 6f 63 65 73 73 29 29 29 29 29 -name.(process-name.process)))))
9b40 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 ...........(if.on-completion....
9b60 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f ...........(funcall.on-completio
9b80 6e 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 20 70 72 6f 63 65 n.(process-buffer.process).proce
9ba0 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 ss).............(with-current-bu
9bc0 66 66 65 72 20 63 61 6c 6c 69 6e 67 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ffer.calling-buffer.............
9be0 20 20 28 69 66 20 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 64 69 72 65 64 2d 6d ..(if.(equal.major-mode.'dired-m
9c00 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 28 77 ode)...................(progn.(w
9c20 68 65 6e 20 72 65 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 hen.revert-buffer-function......
9c40 20 20 20 20 20 20 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 72 ......................(funcall.r
9c60 65 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 20 74 29 29 0a 20 20 evert-buffer-function.nil.t))...
9c80 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 52 65 67 69 6f 6e .......................;;.Region
9ca0 20 69 73 20 6e 6f 74 20 61 63 63 75 72 61 74 65 20 69 66 20 6e 65 77 20 66 69 6c 65 73 20 61 64 .is.not.accurate.if.new.files.ad
9cc0 64 65 64 2e 20 57 69 70 65 20 69 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ded..Wipe.it....................
9ce0 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 0a 20 20 20 20 .......(when.(use-region-p).....
9d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 61 63 74 69 76 61 .......................(deactiva
9d20 74 65 2d 6d 61 72 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e te-mark))).................(when
9d40 20 28 61 6e 64 20 28 6f 72 20 62 75 66 66 65 72 2d 61 75 74 6f 2d 73 61 76 65 2d 66 69 6c 65 2d .(and.(or.buffer-auto-save-file-
9d60 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name............................
9d80 20 20 20 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 ....buffer-file-name)...........
9da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 76 65 72 69 66 79 2d 76 69 .................(not.(verify-vi
9dc0 73 69 74 65 64 2d 66 69 6c 65 2d 6d 6f 64 74 69 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 sited-file-modtime)))...........
9de0 20 20 20 20 20 20 20 20 3b 3b 20 41 6c 72 65 61 64 79 20 76 69 73 69 74 69 6e 67 20 61 20 66 69 ........;;.Already.visiting.a.fi
9e00 6c 65 2e 20 52 65 76 65 72 74 20 69 66 20 6d 6f 64 69 66 69 65 64 20 62 79 20 63 6f 6d 6d 61 6e le..Revert.if.modified.by.comman
9e20 64 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 76 65 72 74 2d 62 75 66 d....................(revert-buf
9e40 66 65 72 20 3a 69 67 6e 6f 72 65 2d 61 75 74 6f 20 3a 6e 6f 63 6f 6e 66 69 72 6d 29 29 29 0a 20 fer.:ignore-auto.:noconfirm)))..
9e60 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 .............(with-current-buffe
9e80 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 r.(process-buffer.process)......
9ea0 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 73 2d 61 66 74 65 72 20 28 64 77 ...........(setq.files-after.(dw
9ec0 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 im-shell-command--default-direct
9ee0 6f 72 79 2d 66 69 6c 65 73 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 ory-files.monitor-directory)))..
9f00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 6c 64 65 73 74 2d 6e 65 77 2d 66 69 .............(setq.oldest-new-fi
9f20 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 le.....................(dwim-she
9f40 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 2d 62 65 74 77 65 65 ll-command--last-modified-betwee
9f60 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 2d 62 65 66 n......................files-bef
9f80 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 2d 61 ore......................files-a
9fa0 66 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 65 72 65 27 73 20 fter))...............;;.There's.
9fc0 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 6e 65 77 20 66 69 6c 65 2e 20 53 68 6f 77 20 74 68 61 74 at.least.one.new.file..Show.that
9fe0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6f 6c 64 65 73 74 2d 6e 65 77 2d 66 ................(if.oldest-new-f
a000 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d 6a 75 6d ile...................(dired-jum
a020 70 20 6e 69 6c 20 6f 6c 64 65 73 74 2d 6e 65 77 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 p.nil.oldest-new-file)..........
a040 20 20 20 20 20 20 20 3b 3b 20 46 69 6c 65 73 20 6d 61 79 20 68 61 76 65 20 62 65 65 6e 20 64 65 .......;;.Files.may.have.been.de
a060 6c 65 74 65 64 20 62 75 74 20 68 61 72 64 65 72 20 74 6f 20 74 72 61 63 6b 2e 0a 20 20 20 20 20 leted.but.harder.to.track.......
a080 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4f 70 65 6e 20 64 69 72 65 64 20 61 6e 64 20 72 65 66 ...........;;.Open.dired.and.ref
a0a0 72 65 73 68 20 74 6f 20 73 68 6f 77 20 66 69 6c 65 73 20 61 72 65 20 67 6f 6e 65 2e 0a 20 20 20 resh.to.show.files.are.gone.....
a0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 6c 65 6e .............(unless.(equal.(len
a0e0 67 74 68 20 66 69 6c 65 73 2d 61 66 74 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gth.files-after)................
a100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 73 2d 62 65 ................(length.files-be
a120 66 6f 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 20 fore))...................(dired.
a140 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 monitor-directory)..............
a160 20 20 20 20 20 28 77 68 65 6e 20 72 65 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f .....(when.revert-buffer-functio
a180 6e 0a 20 20 20 20 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 72 n.....................(funcall.r
a1a0 65 76 65 72 74 2d 62 75 66 66 65 72 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 20 74 29 29 29 29 29 evert-buffer-function.nil.t)))))
a1c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 28 70 72 6f .............(unless.(equal.(pro
a1e0 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 cess-buffer.process)............
a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 28 ................(window-buffer.(
a220 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 selected-window)))..............
a240 20 28 69 66 20 28 6f 72 20 6f 6c 64 65 73 74 2d 6e 65 77 2d 66 69 6c 65 20 73 69 6c 65 6e 74 2d .(if.(or.oldest-new-file.silent-
a260 73 75 63 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c success)...................(kill
a280 2d 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 -buffer.(process-buffer.process)
a2a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 73 69 6c 65 6e 74 ).................(unless.silent
a2c0 2d 73 75 63 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 -success...................(swit
a2e0 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f ch-to-buffer.(process-buffer.pro
a300 63 65 73 73 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 6f 6e 2d 63 6f 6d 70 6c 65 74 cess))))))).......(if.on-complet
a320 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6f 6e 2d 63 6f 6d 70 6c 65 ion...........(funcall.on-comple
a340 74 69 6f 6e 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 20 70 72 tion.(process-buffer.process).pr
a360 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 62 75 66 66 65 72 2d ocess).........(if.(and.(buffer-
a380 6e 61 6d 65 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 29 0a 20 name.(process-buffer.process))..
a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 65 72 72 6f 72 2d 61 75 74 6f 66 6f ................(or.error-autofo
a3c0 63 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 42 75 66 66 cus......................;;.Buff
a3e0 65 72 20 61 6c 72 65 61 64 79 20 73 65 6c 65 63 74 65 64 2e 20 44 6f 6e 27 74 20 61 73 6b 2e 0a er.already.selected..Don't.ask..
a400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 28 70 72 6f .....................(equal.(pro
a420 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 cess-buffer.process)............
a440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 .................(window-buffer.
a460 28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (selected-window))).............
a480 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 20 71 75 69 74 0a 20 20 20 20 .........(ignore-error.quit.....
a4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 79 2d 6f 72 2d 6e 2d 70 20 28 66 6f ...................(y-or-n-p.(fo
a4c0 72 6d 61 74 20 22 25 73 20 65 72 72 6f 72 2c 20 73 65 65 20 6f 75 74 70 75 74 3f 20 22 0a 20 20 rmat."%s.error,.see.output?."...
a4e0 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 ................................
a500 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 70 72 6f 63 65 73 73 2d 62 75 66 .......(buffer-name.(process-buf
a520 66 65 72 20 70 72 6f 63 65 73 73 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 fer.process))))))).............(
a540 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e progn...............(with-curren
a560 74 2d 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 t-buffer.(process-buffer.process
a580 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 62 75 66 66 65 72 ).................(rename-buffer
a5a0 20 28 67 65 6e 65 72 61 74 65 2d 6e 65 77 2d 62 75 66 66 65 72 2d 6e 61 6d 65 20 28 66 75 6e 63 .(generate-new-buffer-name.(func
a5c0 61 6c 6c 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 65 72 72 6f 72 2d 62 75 66 all.dwim-shell-command-error-buf
a5e0 66 65 72 2d 6e 61 6d 65 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 72 6f 63 65 73 73 29 29 fer-name.(process-name.process))
a600 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 65 72 72 6f )))...............(when.(or.erro
a620 72 2d 61 75 74 6f 66 6f 63 75 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-autofocus.....................
a640 20 20 20 20 28 65 71 75 61 6c 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 ....(equal.(process-buffer.proce
a660 73 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 ss).............................
a680 20 20 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 28 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 ...(window-buffer.(selected-wind
a6a0 6f 77 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 ow)))).................(dwim-she
a6c0 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6d 65 73 73 61 67 65 20 28 66 75 6e 63 61 6c 6c 20 64 77 69 ll-command--message.(funcall.dwi
a6e0 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 65 72 72 6f 72 2d 62 75 66 66 65 72 2d 6e 61 6d m-shell-command-error-buffer-nam
a700 65 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 72 6f 63 65 73 73 29 29 29 29 0a 20 20 20 20 e.(process-name.process)))).....
a720 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 70 72 6f ..........(switch-to-buffer.(pro
a740 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 cess-buffer.process)))..........
a760 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 70 72 6f 63 65 73 73 2d 62 75 66 66 65 72 20 70 72 .(kill-buffer.(process-buffer.pr
a780 6f 63 65 73 73 29 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ocess))))).....(setq.dwim-shell-
a7a0 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 command--commands...........(map
a7c0 2d 64 65 6c 65 74 65 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d -delete.dwim-shell-command--comm
a7e0 61 6e 64 73 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 72 6f 63 65 73 73 29 29 29 29 29 0a ands.(process-name.process))))).
a800 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 75 6e 69 71 .(defun.dwim-shell-command--uniq
a820 75 65 2d 6e 65 77 2d 66 69 6c 65 2d 70 61 74 68 20 28 66 69 6c 65 2d 70 61 74 68 29 0a 20 20 22 ue-new-file-path.(file-path)..."
a840 52 65 74 75 72 6e 20 61 20 75 6e 69 71 75 65 20 46 49 4c 45 2d 50 41 54 48 2e 0a 0a 49 66 20 46 Return.a.unique.FILE-PATH...If.F
a860 49 4c 45 2d 50 41 54 48 20 61 6c 72 65 61 64 79 20 63 6f 6e 74 61 69 6e 73 20 61 20 6e 75 6d 62 ILE-PATH.already.contains.a.numb
a880 65 72 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 28 6e 29 2c 20 73 65 74 20 63 6f 75 6e 74 65 er.in.the.format.(n),.set.counte
a8a0 72 20 74 6f 20 6e 2e 0a 0a 5c 22 2f 74 6d 70 2f 62 6c 61 68 2e 74 78 74 5c 22 20 2d 3e 20 5c 22 r.to.n...\"/tmp/blah.txt\".->.\"
a8c0 2f 74 6d 70 2f 62 6c 61 68 28 31 29 2e 74 78 74 5c 22 0a 5c 22 2f 74 6d 70 2f 62 6c 61 68 28 32 /tmp/blah(1).txt\".\"/tmp/blah(2
a8e0 29 2e 74 78 74 5c 22 20 2d 3e 20 5c 22 2f 74 6d 70 2f 62 6c 61 68 28 33 29 2e 74 78 74 5c 22 22 ).txt\".->.\"/tmp/blah(3).txt\""
a900 0a 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d ...(let*.((name.(file-name-sans-
a920 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 28 extension.file-path))..........(
a940 65 78 74 65 6e 73 69 6f 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 20 66 extension.(file-name-extension.f
a960 69 6c 65 2d 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 65 72 20 28 69 66 ile-path))..........(counter.(if
a980 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 28 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 29 24 22 .(string-match."(\\([0-9]+\\))$"
a9a0 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 .name).......................(st
a9c0 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 6e ring-to-number.(match-string.1.n
a9e0 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 30 29 29 29 0a 20 ame)).....................0)))..
aa00 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 28 5c 5c 28 5b 30 2d 39 ...(when.(string-match."(\\([0-9
aa20 5d 2b 5c 5c 29 29 24 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 61 6d 65 28 ]+\\))$".name).......(setq.name(
aa40 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 20 74 20 74 20 6e 61 6d 65 29 29 29 0a 20 20 20 replace-match."".t.t.name)))....
aa60 20 28 77 68 69 6c 65 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 66 69 6c 65 2d 70 61 74 68 .(while.(file-exists-p.file-path
aa80 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 75 6e 74 65 72 20 28 31 2b 20 63 6f 75 6e 74 65 ).......(setq.counter.(1+.counte
aaa0 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 2d 70 61 74 68 20 28 69 66 20 65 78 r)).......(setq.file-path.(if.ex
aac0 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tension.........................
aae0 20 20 28 66 6f 72 6d 61 74 20 22 25 73 28 25 64 29 2e 25 73 22 20 6e 61 6d 65 20 63 6f 75 6e 74 ..(format."%s(%d).%s".name.count
ab00 65 72 20 65 78 74 65 6e 73 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er.extension)...................
ab20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 28 25 64 29 22 20 6e 61 6d 65 20 63 6f 75 6e ......(format."%s(%d)".name.coun
ab40 74 65 72 29 29 29 29 0a 20 20 20 20 66 69 6c 65 2d 70 61 74 68 29 29 0a 0a 28 64 65 66 75 6e 20 ter)))).....file-path))..(defun.
ab60 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 73 65 6e 74 69 6e 65 6c 20 28 70 72 dwim-shell-command--sentinel.(pr
ab80 6f 63 65 73 73 20 5f 29 0a 20 20 22 48 61 6e 64 6c 65 73 20 50 52 4f 43 45 53 53 20 73 65 6e 74 ocess._)..."Handles.PROCESS.sent
aba0 69 6e 65 6c 20 61 6e 64 20 53 54 41 54 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 78 65 63 20 28 inel.and.STATE."...(let.((exec.(
abc0 6d 61 70 2d 65 6c 74 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d map-elt.dwim-shell-command--comm
abe0 61 6e 64 73 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 70 72 6f 63 65 73 73 29 29 29 29 0a 20 ands.(process-name.process))))..
ac00 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6e 61 6c 69 7a 65 ...(dwim-shell-command--finalize
ac20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 2d 63 61 .(dwim-shell-command--command-ca
ac40 6c 6c 69 6e 67 2d 62 75 66 66 65 72 20 65 78 65 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lling-buffer.exec)..............
ac60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c .....................(dwim-shell
ac80 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 2d 66 69 6c 65 73 2d 62 65 66 6f 72 65 20 65 -command--command-files-before.e
aca0 78 65 63 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 xec)............................
acc0 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......process..................
ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d .................(dwim-shell-com
ad00 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 2d 72 65 70 6f 72 74 65 72 20 65 78 65 63 29 0a 20 20 20 mand--command-reporter.exec)....
ad20 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 ...............................(
ad40 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 63 dwim-shell-command--command-on-c
ad60 6f 6d 70 6c 65 74 69 6f 6e 20 65 78 65 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ompletion.exec).................
ad80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ..................(dwim-shell-co
ada0 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 2d 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 65 78 mmand--command-silent-success.ex
adc0 65 63 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 ec).............................
ade0 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 ......(dwim-shell-command--comma
ae00 6e 64 2d 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 20 65 78 65 63 29 0a 20 20 20 20 20 20 20 nd-error-autofocus.exec)........
ae20 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 64 77 69 6d ...........................(dwim
ae40 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 2d 6d 6f 6e 69 74 6f 72 2d -shell-command--command-monitor-
ae60 64 69 72 65 63 74 6f 72 79 20 65 78 65 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d directory.exec))))..(defun.dwim-
ae80 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6c 74 65 72 20 28 70 72 6f 63 65 73 73 20 6f shell-command--filter.(process.o
aea0 75 74 70 75 74 29 0a 20 20 22 48 61 6e 64 6c 65 73 20 50 52 4f 43 45 53 53 20 66 69 6c 74 65 72 utput)..."Handles.PROCESS.filter
aec0 69 6e 67 20 61 6e 64 20 53 54 41 54 45 20 61 6e 64 20 4f 55 54 50 55 54 2e 22 0a 20 20 28 77 68 ing.and.STATE.and.OUTPUT."...(wh
aee0 65 6e 2d 6c 65 74 2a 20 28 28 65 78 65 63 20 28 6d 61 70 2d 65 6c 74 20 64 77 69 6d 2d 73 68 65 en-let*.((exec.(map-elt.dwim-she
af00 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 6e 64 73 20 28 70 72 6f 63 65 73 73 2d 6e 61 ll-command--commands.(process-na
af20 6d 65 20 70 72 6f 63 65 73 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 me.process)))...............(rep
af40 6f 72 74 65 72 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 63 6f 6d 6d 61 orter.(dwim-shell-command--comma
af60 6e 64 2d 72 65 70 6f 72 74 65 72 20 65 78 65 63 29 29 29 0a 20 20 20 20 28 70 72 6f 67 72 65 73 nd-reporter.exec))).....(progres
af80 73 2d 72 65 70 6f 72 74 65 72 2d 75 70 64 61 74 65 20 72 65 70 6f 72 74 65 72 29 29 0a 20 20 28 s-reporter-update.reporter))...(
afa0 63 6f 6d 69 6e 74 2d 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 20 6f 75 74 comint-output-filter.process.out
afc0 70 75 74 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 put))..(defun.dwim-shell-command
afe0 2d 2d 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f 6e 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 62 --file-extensions.()..."Return.b
b000 75 66 66 65 72 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 20 6f 72 20 6d 61 72 6b 65 64 2f 72 uffer.file.extension.or.marked/r
b020 65 67 69 6f 6e 20 65 78 74 65 6e 73 69 6f 6e 73 20 66 6f 72 20 61 20 60 64 69 72 65 64 27 20 62 egion.extensions.for.a.`dired'.b
b040 75 66 66 65 72 2e 22 0a 20 20 28 73 65 71 2d 75 6e 69 71 0a 20 20 20 28 73 65 71 2d 6d 61 70 0a uffer."...(seq-uniq....(seq-map.
b060 20 20 20 20 23 27 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 28 73 ....#'file-name-extension.....(s
b080 65 71 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 23 27 66 69 6c 65 2d 6e 61 6d 65 2d 65 78 74 65 6e eq-filter......#'file-name-exten
b0a0 73 69 6f 6e 0a 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 sion......(dwim-shell-command--f
b0c0 69 6c 65 73 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d iles)))))..(defun.dwim-shell-com
b0e0 6d 61 6e 64 2d 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 52 65 74 75 72 6e 20 62 75 66 66 65 72 20 mand--files.()..."Return.buffer.
b100 66 69 6c 65 20 28 69 66 20 61 76 61 69 6c 61 62 6c 65 29 20 6f 72 20 6d 61 72 6b 65 64 2f 72 65 file.(if.available).or.marked/re
b120 67 69 6f 6e 20 66 69 6c 65 73 20 66 6f 72 20 61 20 60 64 69 72 65 64 27 20 62 75 66 66 65 72 2e gion.files.for.a.`dired'.buffer.
b140 22 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 61 6e 64 20 28 75 73 65 2d 72 65 "...(cl-assert.(not.(and.(use-re
b160 67 69 6f 6e 2d 70 29 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 64 69 72 65 64 2d 67 65 74 2d gion-p).(let.((files.(dired-get-
b180 6d 61 72 6b 65 64 2d 66 69 6c 65 73 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 74 29 29 29 0a 20 20 marked-files.nil.nil.nil.t)))...
b1a0 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 ................................
b1c0 20 20 20 3b 3b 20 42 61 73 65 64 20 6f 6e 20 60 64 69 72 65 64 2d 6e 75 6d 62 65 72 2d 6f 66 2d ...;;.Based.on.`dired-number-of-
b1e0 6d 61 72 6b 65 64 2d 66 69 6c 65 73 27 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 marked-files'...................
b200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c ....................(cond.((null
b220 20 28 63 64 72 20 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(cdr.files))...................
b240 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 6e 69 6c 29 0a 20 ..........................nil)..
b260 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 ................................
b280 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 28 6c 65 6e 67 74 68 20 66 69 6c 65 73 ..........((and.(=.(length.files
b2a0 29 20 32 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 ).2)............................
b2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 61 72 20 66 ......................(eq.(car.f
b2e0 69 6c 65 73 29 20 74 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 iles).t)).......................
b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 20 20 20 ......................t)........
b320 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 ................................
b340 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 20 20 20 20 20 ....(t..........................
b360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 65 71 2d 65 6d 70 ...................(not.(seq-emp
b380 74 79 2d 70 20 66 69 6c 65 73 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6e ty-p.files)))))))..............n
b3a0 69 6c 20 22 52 65 67 69 6f 6e 20 61 6e 64 20 6d 61 72 6b 65 64 20 66 69 6c 65 73 20 62 6f 74 68 il."Region.and.marked.files.both
b3c0 20 61 63 74 69 76 65 2e 20 43 68 6f 6f 73 65 20 6f 6e 65 20 6f 6e 6c 79 2e 22 29 0a 20 20 28 69 .active..Choose.one.only.")...(i
b3e0 66 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 6c 69 73 74 f.(buffer-file-name).......(list
b400 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 0a 20 20 20 20 28 6f 72 0a 20 20 20 .(buffer-file-name)).....(or....
b420 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 69 72 65 64 2d 70 61 74 ..(dwim-shell-command--dired-pat
b440 68 73 2d 69 6e 2d 72 65 67 69 6f 6e 29 0a 20 20 20 20 20 28 64 69 72 65 64 2d 67 65 74 2d 6d 61 hs-in-region)......(dired-get-ma
b460 72 6b 65 64 2d 66 69 6c 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c rked-files))))..(defun.dwim-shel
b480 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 69 72 65 64 2d 70 61 74 68 73 2d 69 6e 2d 72 65 67 69 6f 6e l-command--dired-paths-in-region
b4a0 20 28 29 0a 20 20 22 49 66 20 60 64 69 72 65 64 27 20 62 75 66 66 65 72 2c 20 72 65 74 75 72 6e .()..."If.`dired'.buffer,.return
b4c0 20 72 65 67 69 6f 6e 20 66 69 6c 65 73 2e 20 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 65 2e 22 0a .region.files...nil.otherwise.".
b4e0 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 65 71 75 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 ..(when.(and.(equal.major-mode.'
b500 64 69 72 65 64 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 2d 72 65 dired-mode)..............(use-re
b520 67 69 6f 6e 2d 70 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 28 72 65 67 69 6f gion-p)).....(let.((start.(regio
b540 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 72 65 n-beginning))...........(end.(re
b560 67 69 6f 6e 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 61 74 68 73 29 29 0a 20 20 gion-end))...........(paths))...
b580 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 73 61 76 ....(save-excursion.........(sav
b5a0 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 e-restriction...........(goto-ch
b5c0 61 72 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 28 70 ar.start)...........(while.(<.(p
b5e0 6f 69 6e 74 29 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 6b 69 70 20 6e oint).end).............;;.Skip.n
b600 6f 6e 2d 66 69 6c 65 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c on-file.lines..............(whil
b620 65 20 28 61 6e 64 20 28 3c 20 28 70 6f 69 6e 74 29 20 65 6e 64 29 20 28 64 69 72 65 64 2d 62 65 e.(and.(<.(point).end).(dired-be
b640 74 77 65 65 6e 2d 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 tween-files))...............(for
b660 77 61 72 64 2d 6c 69 6e 65 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 ward-line.1)).............(when.
b680 28 64 69 72 65 64 2d 67 65 74 2d 66 69 6c 65 6e 61 6d 65 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 (dired-get-filename.nil.t)......
b6a0 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 61 74 68 73 20 28 61 70 70 65 6e 64 20 70 61 74 .........(setq.paths.(append.pat
b6c0 68 73 20 28 6c 69 73 74 20 28 64 69 72 65 64 2d 67 65 74 2d 66 69 6c 65 6e 61 6d 65 20 6e 69 6c hs.(list.(dired-get-filename.nil
b6e0 20 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e .t))))).............(forward-lin
b700 65 20 31 29 29 29 29 0a 20 20 20 20 20 20 70 61 74 68 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 e.1)))).......paths)))..(defun.d
b720 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6e 2d 73 74 61 72 74 2d 76 61 6c 75 65 wim-shell-command--n-start-value
b740 20 28 74 65 6d 70 6c 61 74 65 20 70 61 64 64 69 6e 67 29 0a 20 20 22 45 78 74 72 61 63 74 20 6e .(template.padding)..."Extract.n
b760 20 73 74 61 72 74 20 76 61 6c 75 65 20 66 72 6f 6d 20 54 45 4d 50 4c 41 54 45 20 75 73 69 6e 67 .start.value.from.TEMPLATE.using
b780 20 50 41 44 44 49 4e 47 2e 0a 46 61 6c 6c 73 20 62 61 63 6b 20 74 6f 20 5c 22 31 5c 22 2e 22 0a .PADDING..Falls.back.to.\"1\".".
b7a0 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 3c 5c 3c 5c 5c 28 5b 5b ..(when.(string-match."\<\<\\([[
b7c0 3a 61 6c 6e 75 6d 3a 5d 5d 3f 2b 5c 5c 29 6e 5c 3e 5c 3e 22 20 74 65 6d 70 6c 61 74 65 29 0a 20 :alnum:]]?+\\)n\>\>".template)..
b7e0 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 28 6d 61 74 63 68 2d 73 74 ...(if.(string-empty-p.(match-st
b800 72 69 6e 67 20 31 20 74 65 6d 70 6c 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d ring.1.template)).........(dwim-
b820 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 69 6e 63 72 65 6d 65 6e 74 2d 73 74 72 69 6e 67 20 shell-command--increment-string.
b840 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 30 29 20 70 61 64 64 69 6e 67 29 0a 20 20 (number-to-string.0).padding)...
b860 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 73 74 61 72 74 2d 73 74 72 69 6e 67 20 28 6d 61 74 ....(if-let*.((start-string.(mat
b880 63 68 2d 73 74 72 69 6e 67 20 31 20 74 65 6d 70 6c 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 ch-string.1.template))..........
b8a0 20 20 20 20 20 20 20 28 73 74 61 72 74 2d 6e 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 .......(start-n.(string-to-numbe
b8c0 72 20 73 74 61 72 74 2d 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 77 69 r.start-string)))...........(dwi
b8e0 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 69 6e 63 72 65 6d 65 6e 74 2d 73 74 72 69 6e m-shell-command--increment-strin
b900 67 20 28 6e 75 6d 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 31 2d 20 73 74 61 72 74 2d 6e 29 g.(number-to-string.(1-.start-n)
b920 29 20 70 61 64 64 69 6e 67 29 0a 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 ).padding).........(match-string
b940 20 31 20 74 65 6d 70 6c 61 74 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 .1.template)))))..(defun.dwim-sh
b960 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 69 6e 63 72 65 6d 65 6e 74 2d 73 74 72 69 6e 67 20 28 74 ell-command--increment-string.(t
b980 65 78 74 20 70 61 64 64 69 6e 67 29 0a 20 20 22 49 6e 63 72 65 6d 65 6e 74 20 54 45 58 54 20 75 ext.padding)..."Increment.TEXT.u
b9a0 73 69 6e 67 20 50 41 44 44 49 4e 47 2e 0a 5c 22 61 5c 22 20 2d 3e 20 5c 22 62 5c 22 0a 5c 22 31 sing.PADDING..\"a\".->.\"b\".\"1
b9c0 5c 22 20 2d 3e 20 5c 22 32 5c 22 22 0a 20 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 \".->.\"2\""...(cond.((string-ma
b9e0 74 63 68 20 22 5e 5b 5b 3a 61 6c 70 68 61 3a 5d 5d 24 22 20 74 65 78 74 29 20 3b 3b 20 63 68 61 tch."^[[:alpha:]]$".text).;;.cha
ba00 72 0a 20 20 20 20 20 20 20 20 20 28 63 68 61 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 31 2b 20 28 r..........(char-to-string.(1+.(
ba20 73 74 72 69 6e 67 2d 74 6f 2d 63 68 61 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 20 74 string-to-char.(match-string.0.t
ba40 65 78 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 ext))))).........((string-match.
ba60 22 5e 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 24 22 20 74 65 78 74 29 20 3b 3b 20 63 68 61 72 0a 20 "^[[:digit:]]+$".text).;;.char..
ba80 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6e 75 6d ........(dwim-shell-command--num
baa0 62 65 72 2d 74 6f 2d 73 74 72 69 6e 67 20 28 31 2b 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d ber-to-string.(1+.(string-to-num
bac0 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 20 74 65 78 74 29 29 29 20 70 61 64 64 ber.(match-string.0.text))).padd
bae0 69 6e 67 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 ing))))..(defun.dwim-shell-comma
bb00 6e 64 2d 2d 70 72 6f 67 72 61 6d 2d 74 65 73 74 20 28 70 72 6f 67 72 61 6d 20 26 72 65 73 74 20 nd--program-test.(program.&rest.
bb20 61 72 67 73 29 0a 20 20 22 54 65 73 74 20 74 68 61 74 20 72 75 6e 6e 69 6e 67 20 50 52 4f 47 52 args)..."Test.that.running.PROGR
bb40 41 4d 20 77 69 74 68 20 41 52 47 53 20 69 73 20 73 75 63 63 65 73 73 66 75 6c 2e 22 0a 20 20 28 AM.with.ARGS.is.successful."...(
bb60 65 71 20 30 20 28 61 70 70 6c 79 20 23 27 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 70 72 6f 67 72 eq.0.(apply.#'call-process.progr
bb80 61 6d 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 61 72 67 73 29 29 29 0a 0a 28 63 6c 2d 64 65 66 75 am.nil.nil.nil.args)))..(cl-defu
bba0 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 6f 72 65 61 63 68 20 28 66 75 n.dwim-shell-command-foreach.(fu
bbc0 6e 20 26 6b 65 79 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 22 45 78 65 n.&key.monitor-directory)..."Exe
bbe0 63 75 74 65 20 46 55 4e 20 66 6f 72 20 65 61 63 68 20 66 69 6c 65 2e 0a 4d 6f 6e 69 74 6f 72 20 cute.FUN.for.each.file..Monitor.
bc00 3a 4d 4f 4e 49 54 4f 52 2d 44 49 52 45 43 54 4f 52 59 20 66 6f 72 20 6e 65 77 20 66 69 6c 65 20 :MONITOR-DIRECTORY.for.new.file.
bc20 61 6e 64 20 60 64 69 72 65 64 2d 6a 75 6d 70 27 20 74 6f 20 69 74 2e 22 0a 20 20 28 6c 65 74 20 and.`dired-jump'.to.it."...(let.
bc40 28 28 66 69 6c 65 73 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6c ((files.(dwim-shell-command--fil
bc60 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 66 69 6c 65 73 2d 62 65 66 6f 72 65 20 28 64 77 69 6d es)).........(files-before.(dwim
bc80 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 -shell-command--default-director
bca0 79 2d 66 69 6c 65 73 20 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 y-files..monitor-directory))....
bcc0 20 20 20 20 20 28 6f 6c 64 65 73 74 2d 6e 65 77 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 .....(oldest-new-file).........(
bce0 63 72 65 61 74 65 64 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 28 6a 75 6d 70 2d 74 6f 29 29 created-file).........(jump-to))
bd00 0a 20 20 20 20 28 6d 61 70 63 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 2d 70 61 74 68 29 0a 20 .....(mapc.(lambda.(file-path)..
bd20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 72 65 61 74 65 64 2d 66 69 6c 65 20 28 6f ...........(setq.created-file.(o
bd40 72 20 28 66 75 6e 63 61 6c 6c 20 66 75 6e 20 66 69 6c 65 2d 70 61 74 68 29 0a 20 20 20 20 20 20 r.(funcall.fun.file-path).......
bd60 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 72 65 .............................cre
bd80 61 74 65 64 2d 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 29 0a 20 20 ated-file)))...........files)...
bda0 20 20 28 73 65 74 71 20 6f 6c 64 65 73 74 2d 6e 65 77 2d 66 69 6c 65 20 28 64 77 69 6d 2d 73 68 ..(setq.oldest-new-file.(dwim-sh
bdc0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6c 61 73 74 2d 6d 6f 64 69 66 69 65 64 2d 62 65 74 77 65 ell-command--last-modified-betwe
bde0 65 6e 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 66 69 en............................fi
be00 6c 65 73 2d 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 les-before......................
be20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 64 65 66 61 75 ......(dwim-shell-command--defau
be40 6c 74 2d 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 lt-directory-files.monitor-direc
be60 74 6f 72 79 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6a 75 6d 70 2d 74 6f 20 28 6f 72 20 6f 6c tory))).....(setq.jump-to.(or.ol
be80 64 65 73 74 2d 6e 65 77 2d 66 69 6c 65 20 63 72 65 61 74 65 64 2d 66 69 6c 65 29 29 0a 20 20 20 dest-new-file.created-file))....
bea0 20 28 77 68 65 6e 20 6a 75 6d 70 2d 74 6f 0a 20 20 20 20 20 20 28 64 69 72 65 64 2d 6a 75 6d 70 .(when.jump-to.......(dired-jump
bec0 20 6e 69 6c 20 6a 75 6d 70 2d 74 6f 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 64 77 69 6d .nil.jump-to))))..(provide.'dwim
bee0 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 3b 3b 3b 20 64 77 69 6d 2d 73 68 65 6c 6c 2d -shell-command)..;;;.dwim-shell-
bf00 63 6f 6d 6d 61 6e 64 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 command.el.ends.here............
bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c000 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 32 30 32 35 30 32 31 38 2e 31 37 32 30 dwim-shell-command-20250218.1720
c020 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2e 65 6c 00 00 00 00 00 00 00 00 00 /dwim-shell-commands.el.........
c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c060 00 00 00 00 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
c080 30 31 37 35 33 37 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 32 30 36 37 33 00 20 30 00 00 00 0175371.00000000000.020673..0...
c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c100 00 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...................
c120 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...................
c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c200 3b 3b 3b 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2e 65 6c 20 2d 2d 2d 20 55 ;;;.dwim-shell-commands.el.---.U
c220 73 65 66 75 6c 20 63 6f 6d 6d 61 6e 64 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 seful.commands.-*-.lexical-bindi
c240 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 ng:.t;.-*-..;;.Copyright.(C).202
c260 32 20 41 6c 76 61 72 6f 20 52 61 6d 69 72 65 7a 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 41 6c 76 2.Alvaro.Ramirez..;;.Author:.Alv
c280 61 72 6f 20 52 61 6d 69 72 65 7a 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 aro.Ramirez.;;.URL:.https://gith
c2a0 75 62 2e 63 6f 6d 2f 78 65 6e 6f 64 69 75 6d 2f 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 ub.com/xenodium/dwim-shell-comma
c2c0 6e 64 0a 0a 3b 3b 20 54 68 69 73 20 70 61 63 6b 61 67 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 nd..;;.This.package.is.free.soft
c2e0 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e ware;.you.can.redistribute.it.an
c300 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d d/or.modify.;;.it.under.the.term
c320 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 s.of.the.GNU.General.Public.Lice
c340 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 nse.as.published.by.;;.the.Free.
c360 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 65 69 74 68 65 72 20 76 65 72 73 Software.Foundation;.either.vers
c380 69 6f 6e 20 33 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 0a 3b 3b 20 61 6e ion.3,.or.(at.your.option).;;.an
c3a0 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 61 63 6b 61 67 y.later.version...;;.This.packag
c3c0 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 e.is.distributed.in.the.hope.tha
c3e0 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 t.it.will.be.useful,.;;.but.WITH
c400 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 OUT.ANY.WARRANTY;.without.even.t
c420 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 he.implied.warranty.of.;;.MERCHA
c440 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 NTABILITY.or.FITNESS.FOR.A.PARTI
c460 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 CULAR.PURPOSE...See.the.;;.GNU.G
c480 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 eneral.Public.License.for.more.d
c4a0 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 etails...;;.You.should.have.rece
c4c0 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 ived.a.copy.of.the.GNU.General.P
c4e0 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47 4e 55 20 ublic.License.;;.along.with.GNU.
c500 45 6d 61 63 73 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 Emacs...If.not,.see.<https://www
c520 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e .gnu.org/licenses/>...;;;.Commen
c540 74 61 72 79 3a 0a 0a 3b 3b 20 41 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 6f 66 20 75 73 65 66 75 6c tary:..;;.A.collection.of.useful
c560 20 63 6f 6d 6d 61 6e 64 73 20 63 72 65 61 74 65 64 20 76 69 61 0a 3b 3b 20 60 64 77 69 6d 2d 73 .commands.created.via.;;.`dwim-s
c580 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 27 2e 0a 0a hell-command-on-marked-files'...
c5a0 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 62 72 6f 77 73 65 2d 75 72 6c 29 ;;;.Code:..(require.'browse-url)
c5c0 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 27 64 77 69 .(require.'cl-lib).(require.'dwi
c5e0 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 28 72 65 71 75 69 72 65 20 27 66 69 6c 65 73 m-shell-command).(require.'files
c600 29 0a 28 72 65 71 75 69 72 65 20 27 70 72 6f 63 65 64 29 0a 28 72 65 71 75 69 72 65 20 27 73 65 ).(require.'proced).(require.'se
c620 71 29 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f q).(require.'subr-x)..;;;###auto
c640 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d load.(defun.dwim-shell-commands-
c660 61 75 64 69 6f 2d 74 6f 2d 6d 70 33 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d audio-to-mp3.()..."Convert.all.m
c680 61 72 6b 65 64 20 61 75 64 69 6f 20 74 6f 20 6d 70 33 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 arked.audio.to.mp3(s)."...(inter
c6a0 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e active)...(dwim-shell-command-on
c6c0 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 6d 70 33 -marked-files...."Convert.to.mp3
c6e0 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 73 74 61 74 73 20 2d 6e 20 2d 69 20 27 3c 3c 66 3e 3e "...."ffmpeg.-stats.-n.-i.'<<f>>
c700 27 20 2d 61 63 6f 64 65 63 20 6c 69 62 6d 70 33 6c 61 6d 65 20 27 3c 3c 66 6e 65 3e 3e 2e 6d 70 '.-acodec.libmp3lame.'<<fne>>.mp
c720 33 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b 3b 23 23 23 3'"....:utils."ffmpeg"))..;;;###
c740 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 65 78 74 72 61 autoload.(defun.dwim-shell-extra
c760 63 74 2d 68 61 72 2d 63 6f 6e 74 65 6e 74 20 28 70 72 65 66 69 78 29 0a 20 20 22 45 78 74 72 61 ct-har-content.(prefix)..."Extra
c780 63 74 20 61 6c 6c 20 68 61 72 20 63 6f 6e 74 65 6e 74 20 66 69 65 6c 64 73 20 74 6f 20 66 69 6c ct.all.har.content.fields.to.fil
c7a0 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 77 68 65 6e es."...(interactive."P")...(when
c7c0 20 70 72 65 66 69 78 0a 20 20 20 20 28 73 65 74 71 20 70 72 65 66 69 78 20 28 73 74 72 69 6e 67 .prefix.....(setq.prefix.(string
c7e0 2d 74 72 69 6d 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 54 72 61 6e 73 63 72 69 70 74 69 6f -trim.(read-string."Transcriptio
c800 6e 20 6c 6f 63 61 6c 65 3a 20 22 20 22 6a 61 2d 4a 50 22 29 29 29 0a 20 20 20 20 28 77 68 65 6e n.locale:."."ja-JP"))).....(when
c820 20 28 73 74 72 69 6e 67 2d 65 6d 70 74 79 2d 70 20 70 72 65 66 69 78 29 0a 20 20 20 20 20 20 28 .(string-empty-p.prefix).......(
c840 65 72 72 6f 72 20 22 4e 6f 20 6c 6f 63 61 6c 65 20 67 69 76 65 6e 22 29 29 29 0a 20 20 28 64 77 error."No.locale.given")))...(dw
c860 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 im-shell-command-on-marked-files
c880 0a 20 20 20 22 45 78 74 72 61 63 74 20 68 61 72 20 72 65 73 70 6f 6e 73 65 20 63 6f 6e 74 65 6e ...."Extract.har.response.conten
c8a0 74 22 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 64 65 63 6c 61 72 65 20 2d 41 20 6d 69 6d 65 5f 6d t"....(format."declare.-A.mime_m
c8c0 61 70 3d 28 20 5c 0a 20 20 5b 5c 22 61 75 64 69 6f 2f 6d 70 65 67 5c 22 5d 3d 5c 22 6d 70 33 5c ap=(.\...[\"audio/mpeg\"]=\"mp3\
c8e0 22 20 5c 0a 20 20 5b 5c 22 69 6d 61 67 65 2f 6a 70 65 67 5c 22 5d 3d 5c 22 6a 70 67 5c 22 20 5c ".\...[\"image/jpeg\"]=\"jpg\".\
c900 0a 20 20 5b 5c 22 74 65 78 74 2f 70 6c 61 69 6e 5c 22 5d 3d 5c 22 74 78 74 5c 22 20 5c 0a 20 20 ...[\"text/plain\"]=\"txt\".\...
c920 5b 5c 22 61 70 70 6c 69 63 61 74 69 6f 6e 2f 6a 73 6f 6e 5c 22 5d 3d 5c 22 6a 73 6f 6e 5c 22 20 [\"application/json\"]=\"json\".
c940 5c 0a 20 20 23 20 54 4f 44 4f 3a 20 41 64 64 20 6d 6f 72 65 20 6d 61 70 70 69 6e 67 73 20 69 66 \...#.TODO:.Add.more.mappings.if
c960 20 6e 65 65 64 65 64 2e 0a 29 0a 6f 75 74 64 69 72 3d 27 3c 3c 66 6e 65 3e 3e 27 0a 6d 6b 64 69 .needed..).outdir='<<fne>>'.mkdi
c980 72 20 2d 70 20 5c 22 24 7b 6f 75 74 64 69 72 7d 5c 22 0a 20 20 3a 20 3e 20 5c 22 24 7b 6f 75 74 r.-p.\"${outdir}\"...:.>.\"${out
c9a0 64 69 72 7d 2f 3c 3c 62 6e 65 3e 3e 2e 6f 72 67 5c 22 0a 6a 71 20 2d 72 20 27 2e 6c 6f 67 2e 65 dir}/<<bne>>.org\".jq.-r.'.log.e
c9c0 6e 74 72 69 65 73 5b 5d 20 7c 20 40 62 61 73 65 36 34 27 20 27 3c 3c 66 3e 3e 27 20 7c 20 77 68 ntries[].|.@base64'.'<<f>>'.|.wh
c9e0 69 6c 65 20 72 65 61 64 20 2d 72 20 65 6e 74 72 79 3b 20 64 6f 0a 20 20 75 72 6c 3d 24 28 65 63 ile.read.-r.entry;.do...url=$(ec
ca00 68 6f 20 5c 22 24 65 6e 74 72 79 5c 22 20 7c 20 62 61 73 65 36 34 20 2d 2d 64 65 63 6f 64 65 20 ho.\"$entry\".|.base64.--decode.
ca20 7c 20 6a 71 20 2d 72 20 27 2e 72 65 71 75 65 73 74 2e 75 72 6c 27 29 0a 20 20 62 61 73 65 6e 61 |.jq.-r.'.request.url')...basena
ca40 6d 65 3d 24 28 65 63 68 6f 20 5c 22 24 65 6e 74 72 79 5c 22 20 7c 20 62 61 73 65 36 34 20 2d 2d me=$(echo.\"$entry\".|.base64.--
ca60 64 65 63 6f 64 65 20 7c 20 6a 71 20 2d 72 20 27 2e 72 65 71 75 65 73 74 2e 75 72 6c 20 7c 20 63 decode.|.jq.-r.'.request.url.|.c
ca80 61 70 74 75 72 65 28 5c 22 28 3f 3c 3d 2f 2f 29 5b 5e 2f 5d 2b 2f 28 3f 3c 70 61 74 68 3e 2e 2a apture(\"(?<=//)[^/]+/(?<path>.*
caa0 29 5c 22 29 20 7c 20 2e 70 61 74 68 20 7c 20 67 73 75 62 28 5c 22 5b 5e 61 2d 7a 41 2d 5a 30 2d )\").|..path.|.gsub(\"[^a-zA-Z0-
cac0 39 5d 5c 22 3b 20 5c 22 5f 5c 22 29 27 29 0a 20 20 6d 69 6d 65 3d 24 28 65 63 68 6f 20 5c 22 24 9]\";.\"_\")')...mime=$(echo.\"$
cae0 65 6e 74 72 79 5c 22 20 7c 20 62 61 73 65 36 34 20 2d 2d 64 65 63 6f 64 65 20 7c 20 6a 71 20 2d entry\".|.base64.--decode.|.jq.-
cb00 72 20 27 2e 72 65 73 70 6f 6e 73 65 2e 63 6f 6e 74 65 6e 74 2e 6d 69 6d 65 54 79 70 65 27 29 0a r.'.response.content.mimeType').
cb20 20 20 65 78 74 65 6e 73 69 6f 6e 3d 24 7b 6d 69 6d 65 5f 6d 61 70 5b 24 6d 69 6d 65 5d 3a 2d 5c ..extension=${mime_map[$mime]:-\
cb40 22 62 69 6e 5c 22 7d 0a 20 20 6e 61 6d 65 3d 5c 22 24 7b 6f 75 74 64 69 72 7d 2f 24 7b 62 61 73 "bin\"}...name=\"${outdir}/${bas
cb60 65 6e 61 6d 65 3a 30 3a 32 35 35 7d 2e 24 7b 65 78 74 65 6e 73 69 6f 6e 7d 5c 22 0a 20 20 65 63 ename:0:255}.${extension}\"...ec
cb80 68 6f 20 5c 22 24 7b 6e 61 6d 65 7d 5c 22 0a 20 20 63 6f 6e 74 65 6e 74 3d 24 28 65 63 68 6f 20 ho.\"${name}\"...content=$(echo.
cba0 5c 22 24 65 6e 74 72 79 5c 22 20 7c 20 62 61 73 65 36 34 20 2d 2d 64 65 63 6f 64 65 20 7c 20 6a \"$entry\".|.base64.--decode.|.j
cbc0 71 20 2d 72 20 27 2e 72 65 73 70 6f 6e 73 65 2e 63 6f 6e 74 65 6e 74 2e 74 65 78 74 27 29 0a 20 q.-r.'.response.content.text')..
cbe0 20 65 63 68 6f 20 5c 22 24 63 6f 6e 74 65 6e 74 5c 22 20 7c 20 62 61 73 65 36 34 20 2d 2d 64 65 .echo.\"$content\".|.base64.--de
cc00 63 6f 64 65 20 3e 20 5c 22 24 7b 6e 61 6d 65 7d 5c 22 0a 20 20 69 66 20 5b 20 2d 66 20 5c 22 24 code.>.\"${name}\"...if.[.-f.\"$
cc20 7b 6e 61 6d 65 7d 5c 22 20 5d 20 26 26 20 25 73 3b 20 74 68 65 6e 0a 20 20 20 20 74 72 61 6e 73 {name}\".].&&.%s;.then.....trans
cc40 63 72 69 70 74 69 6f 6e 3d 24 28 6d 61 63 6f 73 72 65 63 20 2d 2d 73 70 65 65 63 68 2d 74 6f 2d cription=$(macosrec.--speech-to-
cc60 74 65 78 74 20 2d 2d 6c 6f 63 61 6c 65 20 25 73 20 2d 2d 69 6e 70 75 74 20 5c 22 24 7b 6e 61 6d text.--locale.%s.--input.\"${nam
cc80 65 7d 5c 22 29 0a 20 20 20 20 69 66 20 5b 20 24 3f 20 2d 65 71 20 30 20 5d 3b 20 74 68 65 6e 0a e}\").....if.[.$?.-eq.0.];.then.
cca0 20 20 20 20 20 20 74 72 61 6e 73 63 72 69 62 65 64 5f 6e 61 6d 65 3d 5c 22 24 7b 6f 75 74 64 69 ......transcribed_name=\"${outdi
ccc0 72 7d 2f 24 7b 74 72 61 6e 73 63 72 69 70 74 69 6f 6e 7d 2e 24 7b 65 78 74 65 6e 73 69 6f 6e 7d r}/${transcription}.${extension}
cce0 5c 22 0a 20 20 20 20 20 20 6d 76 20 5c 22 24 7b 6e 61 6d 65 7d 5c 22 20 5c 22 24 7b 74 72 61 6e \".......mv.\"${name}\".\"${tran
cd00 73 63 72 69 62 65 64 5f 6e 61 6d 65 7d 5c 22 0a 20 20 20 20 20 20 62 61 73 65 6e 61 6d 65 3d 24 scribed_name}\".......basename=$
cd20 28 62 61 73 65 6e 61 6d 65 20 5c 22 24 7b 74 72 61 6e 73 63 72 69 62 65 64 5f 6e 61 6d 65 7d 5c (basename.\"${transcribed_name}\
cd40 22 29 0a 20 20 20 20 20 20 65 63 68 6f 20 5c 22 5b 5b 66 69 6c 65 3a 24 7b 62 61 73 65 6e 61 6d ").......echo.\"[[file:${basenam
cd60 65 7d 5d 5b 24 7b 74 72 61 6e 73 63 72 69 70 74 69 6f 6e 7d 5d 5d 20 5b 5b 24 7b 75 72 6c 7d 5d e}][${transcription}]].[[${url}]
cd80 5b 72 65 6d 6f 74 65 5d 5d 5c 22 20 3e 3e 20 5c 22 24 7b 6f 75 74 64 69 72 7d 2f 3c 3c 62 6e 65 [remote]]\".>>.\"${outdir}/<<bne
cda0 3e 3e 2e 6f 72 67 5c 22 0a 20 20 20 20 66 69 0a 20 20 66 69 0a 64 6f 6e 65 22 0a 20 20 20 20 20 >>.org\".....fi...fi.done"......
cdc0 20 20 20 20 20 20 28 69 66 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(if.prefix................
cde0 22 74 72 75 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 61 6c 73 65 22 29 0a 20 20 20 "true".............."false")....
ce00 20 20 20 20 20 20 20 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 70 72 ........prefix............(if.pr
ce20 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 74 72 75 65 22 0a 20 20 20 20 20 efix................"true"......
ce40 20 20 20 20 20 20 20 20 22 66 61 6c 73 65 22 29 29 0a 20 20 20 3a 75 74 69 6c 73 20 22 6a 71 22 ........"false"))....:utils."jq"
ce60 0a 20 20 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 68 61 72 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 ....:extensions."har"))..;;;###a
ce80 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 65 78 74 72 61 63 utoload.(defun.dwim-shell-extrac
cea0 74 2d 68 61 72 2d 75 72 6c 73 20 28 29 0a 20 20 22 47 65 74 20 61 6c 6c 20 72 65 71 75 65 73 74 t-har-urls.()..."Get.all.request
cec0 20 55 52 4c 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d .URLs."...(interactive)...(dwim-
cee0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 shell-command-on-marked-files...
cf00 20 22 45 78 74 72 61 63 74 20 68 61 72 20 72 65 71 75 65 73 74 20 55 52 4c 73 22 0a 20 20 20 22 ."Extract.har.request.URLs"...."
cf20 6a 71 20 2d 72 20 27 2e 6c 6f 67 2e 65 6e 74 72 69 65 73 5b 5d 2e 72 65 71 75 65 73 74 2e 75 72 jq.-r.'.log.entries[].request.ur
cf40 6c 27 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 6a 71 22 29 29 0a 0a 3b 3b l'.'<<f>>'"....:utils."jq"))..;;
cf60 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 76 ;###autoload.(defun.dwim-shell-v
cf80 69 65 77 2d 6f 70 65 6e 2d 70 6f 72 74 73 2d 70 65 72 2d 61 70 70 20 28 29 0a 20 20 22 56 69 65 iew-open-ports-per-app.()..."Vie
cfa0 77 20 6f 70 65 6e 20 70 6f 72 74 73 20 70 65 72 20 61 70 70 22 0a 20 20 28 69 6e 74 65 72 61 63 w.open.ports.per.app"...(interac
cfc0 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d tive)...(dwim-shell-command-on-m
cfe0 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 50 6f 72 74 73 20 70 65 72 20 61 70 70 22 0a 20 arked-files...."Ports.per.app"..
d000 20 20 3b 3b 20 68 74 74 70 73 3a 2f 2f 78 2e 63 6f 6d 2f 6e 75 72 6d 69 77 69 6c 6c 69 61 6d 2f ..;;.https://x.com/nurmiwilliam/
d020 73 74 61 74 75 73 2f 31 38 32 33 32 32 38 36 33 30 36 36 34 36 33 34 36 39 35 0a 20 20 20 22 73 status/1823228630664634695...."s
d040 75 64 6f 20 6c 73 6f 66 20 2d 69 54 43 50 20 2d 73 54 43 50 3a 4c 49 53 54 45 4e 20 2d 6e 20 2d udo.lsof.-iTCP.-sTCP:LISTEN.-n.-
d060 50 20 7c 20 61 77 6b 20 27 4e 52 3e 31 20 7b 70 72 69 6e 74 20 24 39 2c 20 24 31 2c 20 24 32 7d P.|.awk.'NR>1.{print.$9,.$1,.$2}
d080 27 20 7c 20 73 65 64 20 27 73 2f 2e 2a 3a 2f 2f 27 20 7c 20 73 6f 72 74 20 2d 75 20 7c 20 77 68 '.|.sed.'s/.*://'.|.sort.-u.|.wh
d0a0 69 6c 65 20 72 65 61 64 20 70 6f 72 74 20 70 72 6f 63 65 73 73 20 70 69 64 3b 20 64 6f 20 65 63 ile.read.port.process.pid;.do.ec
d0c0 68 6f 20 5c 22 50 6f 72 74 20 24 70 6f 72 74 3a 20 24 28 70 73 20 2d 70 20 24 70 69 64 20 2d 6f ho.\"Port.$port:.$(ps.-p.$pid.-o
d0e0 20 63 6f 6d 6d 61 6e 64 3d 20 7c 20 73 65 64 20 27 73 2f 5e 2d 2f 2f 27 29 20 28 50 49 44 3a 20 .command=.|.sed.'s/^-//').(PID:.
d100 24 70 69 64 29 5c 22 3b 20 64 6f 6e 65 20 7c 20 73 6f 72 74 20 2d 6e 22 0a 20 20 20 3a 75 74 69 $pid)\";.done.|.sort.-n"....:uti
d120 6c 73 20 22 6a 71 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e ls."jq"))..;;;###autoload.(defun
d140 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6f 70 65 6e 2d 63 6c 69 70 62 6f .dwim-shell-commands-open-clipbo
d160 61 72 64 2d 75 72 6c 20 28 29 0a 20 20 22 4f 70 65 6e 20 63 6c 69 70 62 6f 61 72 64 20 55 52 4c ard-url.()..."Open.clipboard.URL
d180 2e 20 20 4f 66 66 65 72 20 74 6f 20 73 74 72 65 61 6d 20 69 66 20 70 6f 73 73 69 62 6c 65 2e 22 ...Offer.to.stream.if.possible."
d1a0 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 75 72 6c 20 28 6f ...(interactive)...(let.((url.(o
d1c0 72 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(current-kill.0)..............
d1e0 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 74 68 69 6e 67 20 69 6e 20 63 6c 69 70 ....(user-error."Nothing.in.clip
d200 62 6f 61 72 64 22 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 board")))).....(dwim-shell-comma
d220 6e 64 73 2d 75 72 6c 2d 62 72 6f 77 73 65 20 75 72 6c 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 nds-url-browse.url)))..(defun.dw
d240 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 75 72 6c 2d 62 72 6f 77 73 65 20 28 75 72 im-shell-commands-url-browse.(ur
d260 6c 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 49 66 20 55 52 4c 20 69 73 20 70 6c 61 79 61 l.&rest.args)..."If.URL.is.playa
d280 62 6c 65 20 6d 65 64 69 61 2c 20 6f 66 66 65 72 20 74 6f 20 6f 70 65 6e 20 69 6e 20 6d 70 76 2e ble.media,.offer.to.open.in.mpv.
d2a0 20 20 45 6c 73 65 20 62 72 6f 77 73 65 72 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e ..Else.browser..Optional.argumen
d2c0 74 20 41 52 47 53 20 61 73 20 70 65 72 20 60 62 72 6f 77 73 65 2d 75 72 6c 2d 64 65 66 61 75 6c t.ARGS.as.per.`browse-url-defaul
d2e0 74 2d 62 72 6f 77 73 65 72 27 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 6f 72 20 28 73 74 72 69 t-browser'"...(if.(and.(or.(stri
d300 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 2e 2a 79 6f 75 74 75 62 ng-match-p."^http[s]?://.*youtub
d320 65 2e 63 6f 6d 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 e.com".url)................(stri
d340 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 2e 2a 6d 2e 79 6f 75 74 ng-match-p."^http[s]?://.*m.yout
d360 75 62 65 2e 63 6f 6d 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 ube.com".url)................(st
d380 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 2e 2a 79 6f 75 74 ring-match-p."^http[s]?://.*yout
d3a0 75 2e 62 65 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e u.be".url)................(strin
d3c0 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 2e 2a 73 6f 75 6e 64 63 6c g-match-p."^http[s]?://.*soundcl
d3e0 6f 75 64 2e 63 6f 6d 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 oud.com".url)................(st
d400 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 2e 2a 72 65 64 64 ring-match-p."^http[s]?://.*redd
d420 69 74 6d 65 64 69 61 2e 63 6f 6d 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 itmedia.com".url)...............
d440 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 2e 2a .(string-match-p."^http[s]?://.*
d460 72 65 64 64 69 74 2e 63 6f 6d 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 reddit.com".url)................
d480 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 2e 2a 62 (string-match-p."^http[s]?://.*b
d4a0 61 6e 64 63 61 6d 70 2e 63 6f 6d 22 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 79 andcamp.com".url))............(y
d4c0 2d 6f 72 2d 6e 2d 70 20 22 53 74 72 65 61 6d 20 66 72 6f 6d 20 6d 70 76 3f 20 22 29 29 0a 20 20 -or-n-p."Stream.from.mpv?."))...
d4e0 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 ....(dwim-shell-command-on-marke
d500 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 22 53 74 72 65 61 6d 69 6e 67 22 0a 20 20 20 20 20 d-files........"Streaming"......
d520 20 20 28 66 6f 72 6d 61 74 20 22 6d 70 76 20 2d 2d 67 65 6f 6d 65 74 72 79 3d 33 30 25 25 78 33 ..(format."mpv.--geometry=30%%x3
d540 30 25 25 2b 31 30 30 25 25 2b 30 25 25 20 27 25 73 27 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 0%%+100%%+0%%.'%s'".url)........
d560 3a 75 74 69 6c 73 20 22 6d 70 76 22 0a 20 20 20 20 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 :utils."mpv"........:no-progress
d580 20 74 0a 20 20 20 20 20 20 20 3a 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 20 74 0a 20 20 20 .t........:error-autofocus.t....
d5a0 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 29 0a 20 20 20 20 28 66 75 6e 63 ....:silent-success.t).....(func
d5c0 61 6c 6c 20 23 27 62 72 6f 77 73 65 2d 75 72 6c 2d 64 65 66 61 75 6c 74 2d 62 72 6f 77 73 65 72 all.#'browse-url-default-browser
d5e0 20 75 72 6c 20 61 72 67 73 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 .url.args)))..;;;###autoload.(de
d600 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 73 74 72 65 61 6d 2d 63 fun.dwim-shell-commands-stream-c
d620 6c 69 70 62 6f 61 72 64 2d 75 72 6c 20 28 29 0a 20 20 22 53 74 72 65 61 6d 20 63 6c 69 70 62 6f lipboard-url.()..."Stream.clipbo
d640 61 72 64 20 55 52 4c 20 75 73 69 6e 67 20 6d 70 76 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 ard.URL.using.mpv."...(interacti
d660 76 65 29 0a 20 20 28 63 6c 2d 61 73 73 65 72 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 ve)...(cl-assert.(string-match-p
d680 20 22 5e 68 74 74 70 5b 73 5d 3f 3a 2f 2f 22 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 ."^http[s]?://".(current-kill.0)
d6a0 29 20 6e 69 6c 20 22 4e 6f 74 20 61 20 55 52 4c 22 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c ).nil."Not.a.URL")...(dwim-shell
d6c0 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 53 74 72 -command-on-marked-files...."Str
d6e0 65 61 6d 69 6e 67 22 0a 20 20 20 22 6d 70 76 20 2d 2d 67 65 6f 6d 65 74 72 79 3d 33 30 25 78 33 eaming"...."mpv.--geometry=30%x3
d700 30 25 2b 31 30 30 25 2b 30 25 20 5c 22 3c 3c 63 62 3e 3e 5c 22 22 0a 20 20 20 3a 75 74 69 6c 73 0%+100%+0%.\"<<cb>>\""....:utils
d720 20 22 6d 70 76 22 0a 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 0a 20 20 20 3a 65 72 72 ."mpv"....:no-progress.t....:err
d740 6f 72 2d 61 75 74 6f 66 6f 63 75 73 20 74 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 or-autofocus.t....:silent-succes
d760 73 20 74 29 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 64 77 69 s.t))..;;;###autoload.(defun.dwi
d780 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 64 6f 77 6e 6c 6f 61 64 2d 63 6c 69 70 62 6f m-shell-commands-download-clipbo
d7a0 61 72 64 2d 73 74 72 65 61 6d 2d 75 72 6c 20 28 29 0a 20 20 22 44 6f 77 6e 6c 6f 61 64 20 63 6c ard-stream-url.()..."Download.cl
d7c0 69 70 62 6f 61 72 64 20 55 52 4c 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 ipboard.URL."...(interactive)...
d7e0 28 63 6c 2d 61 73 73 65 72 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 (cl-assert.(string-match-p."^htt
d800 70 5b 73 5d 3f 3a 2f 2f 22 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 29 20 6e 69 6c 20 p[s]?://".(current-kill.0)).nil.
d820 22 4e 6f 74 20 61 20 55 52 4c 22 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 "Not.a.URL")...(dwim-shell-comma
d840 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 44 6f 77 6e 6c 6f 61 64 69 nd-on-marked-files...."Downloadi
d860 6e 67 22 0a 20 20 20 22 79 6f 75 74 75 62 65 2d 64 6c 20 2d 2d 6e 65 77 6c 69 6e 65 20 2d 6f 20 ng"...."youtube-dl.--newline.-o.
d880 5c 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2f 25 28 74 69 74 6c 65 29 73 2e 25 28 65 78 74 29 73 5c \"~/Downloads/%(title)s.%(ext)s\
d8a0 22 20 5c 22 3c 3c 63 62 3e 3e 5c 22 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 79 6f 75 74 75 62 65 ".\"<<cb>>\""....:utils."youtube
d8c0 2d 64 6c 22 0a 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 0a 20 20 20 3a 65 72 72 6f 72 -dl"....:no-progress.t....:error
d8e0 2d 61 75 74 6f 66 6f 63 75 73 20 74 0a 20 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f -autofocus.t....:monitor-directo
d900 72 79 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 22 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 ry."~/Downloads"....:silent-succ
d920 65 73 73 20 74 29 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 64 ess.t))..;;;###autoload.(defun.d
d940 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 63 6c 65 61 72 2d 65 wim-shell-commands-image-clear-e
d960 78 69 66 2d 6d 65 74 61 64 61 74 61 20 28 29 0a 20 20 22 43 6c 65 61 72 20 45 58 49 46 20 6d 65 xif-metadata.()..."Clear.EXIF.me
d980 74 61 64 61 74 61 20 69 6e 20 69 6d 61 67 65 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 tadata.in.image(s)."...(interact
d9a0 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 ive)...(dwim-shell-command-on-ma
d9c0 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 56 69 65 77 20 45 58 49 46 22 0a 20 20 20 22 63 70 rked-files...."View.EXIF"...."cp
d9e0 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 5f 63 6c 65 61 72 65 64 2e 3c 3c 65 3e 3e 27 .'<<f>>'.'<<fne>>_cleared.<<e>>'
da00 0a 20 20 20 20 65 78 69 66 74 6f 6f 6c 20 2d 61 6c 6c 3a 61 6c 6c 3d 20 2d 6f 76 65 72 77 72 69 .....exiftool.-all:all=.-overwri
da20 74 65 5f 6f 72 69 67 69 6e 61 6c 20 27 3c 3c 66 6e 65 3e 3e 5f 63 6c 65 61 72 65 64 2e 3c 3c 65 te_original.'<<fne>>_cleared.<<e
da40 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 65 78 69 66 74 6f 6f 6c 22 29 29 0a 0a 3b 3b 3b >>'"....:utils."exiftool"))..;;;
da60 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ###autoload.(defun.dwim-shell-co
da80 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 73 63 61 6e 2d 63 6f 64 65 20 28 29 0a 20 20 22 53 63 61 mmands-image-scan-code.()..."Sca
daa0 6e 20 61 6e 79 20 63 6f 64 65 20 28 69 65 2e 20 71 72 2c 20 62 61 72 2c 20 65 74 63 29 20 66 72 n.any.code.(ie..qr,.bar,.etc).fr
dac0 6f 6d 20 69 6d 61 67 65 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 om.image(s)."...(interactive)...
dae0 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 (dwim-shell-command-on-marked-fi
db00 6c 65 73 0a 20 20 20 22 53 63 61 6e 20 63 6f 64 65 22 0a 20 20 20 22 7a 62 61 72 69 6d 67 20 2d les...."Scan.code"...."zbarimg.-
db20 2d 71 75 69 65 74 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 7a 62 61 72 69 -quiet.'<<f>>'"....:utils."zbari
db40 6d 67 22 29 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 64 77 69 mg"))..;;;###autoload.(defun.dwi
db60 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 65 78 69 66 2d 6d 65 74 61 m-shell-commands-image-exif-meta
db80 64 61 74 61 20 28 29 0a 20 20 22 56 69 65 77 20 45 58 49 46 20 6d 65 74 61 64 61 74 61 20 69 6e data.()..."View.EXIF.metadata.in
dba0 20 69 6d 61 67 65 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 .image(s)."...(interactive)...(d
dbc0 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 wim-shell-command-on-marked-file
dbe0 73 0a 20 20 20 22 56 69 65 77 20 45 58 49 46 22 0a 20 20 20 22 65 78 69 66 74 6f 6f 6c 20 27 3c s...."View.EXIF"...."exiftool.'<
dc00 3c 66 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 65 78 69 66 74 6f 6f 6c 22 29 29 0a 0a 3b <f>>'"....:utils."exiftool"))..;
dc20 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ;;###autoload.(defun.dwim-shell-
dc40 63 6f 6d 6d 61 6e 64 73 2d 74 65 73 73 65 72 61 63 74 2d 6f 63 72 2d 74 65 78 74 2d 66 72 6f 6d commands-tesseract-ocr-text-from
dc60 2d 69 6d 61 67 65 20 28 29 0a 20 20 22 45 78 74 72 61 63 74 20 74 65 78 74 20 66 72 6f 6d 20 69 -image.()..."Extract.text.from.i
dc80 6d 61 67 65 20 76 69 61 20 74 65 73 73 65 72 61 63 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 mage.via.tesseract."...(interact
dca0 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 ive)...(dwim-shell-command-on-ma
dcc0 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 45 78 74 72 61 63 74 20 74 65 78 74 20 66 72 6f 6d rked-files...."Extract.text.from
dce0 20 69 6d 61 67 65 20 76 69 61 20 74 65 73 73 65 72 61 63 74 2e 22 0a 20 20 20 22 74 65 73 73 65 .image.via.tesseract."...."tesse
dd00 72 61 63 74 20 27 3c 3c 66 3e 3e 27 20 2d 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 74 65 73 73 65 ract.'<<f>>'.-"....:utils."tesse
dd20 72 61 63 74 22 29 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 64 ract"))..;;;###autoload.(defun.d
dd40 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 76 69 65 77 2d 6c 6f wim-shell-commands-image-view-lo
dd60 63 61 74 69 6f 6e 2d 69 6e 2d 6f 70 65 6e 73 74 72 65 65 74 6d 61 70 20 28 29 0a 20 20 22 4f 70 cation-in-openstreetmap.()..."Op
dd80 65 6e 20 69 6d 61 67 65 28 73 29 20 6c 6f 63 61 74 69 6f 6e 20 69 6e 20 6d 61 70 2f 62 72 6f 77 en.image(s).location.in.map/brow
dda0 73 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 ser."...(interactive)...(dwim-sh
ddc0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 ell-command-on-marked-files...."
dde0 42 72 6f 77 73 65 20 6c 6f 63 61 74 69 6f 6e 22 0a 20 20 20 22 6c 61 74 3d 5c 22 24 28 65 78 69 Browse.location"...."lat=\"$(exi
de00 66 74 6f 6f 6c 20 2d 63 73 76 20 2d 6e 20 2d 67 70 73 6c 61 74 69 74 75 64 65 20 2d 67 70 73 6c ftool.-csv.-n.-gpslatitude.-gpsl
de20 6f 6e 67 69 74 75 64 65 20 27 3c 3c 66 3e 3e 27 20 7c 20 74 61 69 6c 20 2d 6e 20 31 20 7c 20 63 ongitude.'<<f>>'.|.tail.-n.1.|.c
de40 75 74 20 2d 73 20 2d 64 27 2c 27 20 2d 66 32 2d 32 29 5c 22 0a 20 20 20 20 69 66 20 5b 20 2d 7a ut.-s.-d','.-f2-2)\".....if.[.-z
de60 20 5c 22 24 6c 61 74 5c 22 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 65 63 68 6f 20 5c 22 6e .\"$lat\".];.then.......echo.\"n
de80 6f 20 6c 61 74 69 74 75 64 65 5c 22 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66 69 o.latitude\".......exit.1.....fi
dea0 0a 20 20 20 20 6c 6f 6e 3d 5c 22 24 28 65 78 69 66 74 6f 6f 6c 20 2d 63 73 76 20 2d 6e 20 2d 67 .....lon=\"$(exiftool.-csv.-n.-g
dec0 70 73 6c 61 74 69 74 75 64 65 20 2d 67 70 73 6c 6f 6e 67 69 74 75 64 65 20 27 3c 3c 66 3e 3e 27 pslatitude.-gpslongitude.'<<f>>'
dee0 20 7c 20 74 61 69 6c 20 2d 6e 20 31 20 7c 20 63 75 74 20 2d 73 20 2d 64 27 2c 27 20 2d 66 33 2d .|.tail.-n.1.|.cut.-s.-d','.-f3-
df00 33 29 5c 22 0a 20 20 20 20 69 66 20 5b 20 2d 7a 20 5c 22 24 6c 6f 6e 5c 22 20 5d 3b 20 74 68 65 3)\".....if.[.-z.\"$lon\".];.the
df20 6e 0a 20 20 20 20 20 20 65 63 68 6f 20 5c 22 6e 6f 20 6c 6f 6e 67 69 74 75 64 65 5c 22 0a 20 20 n.......echo.\"no.longitude\"...
df40 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a 20 20 20 20 69 66 20 5b 5b 20 24 4f 53 54 ....exit.1.....fi.....if.[[.$OST
df60 59 50 45 20 3d 3d 20 64 61 72 77 69 6e 2a 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 6f 70 YPE.==.darwin*.]];.then.......op
df80 65 6e 20 5c 22 68 74 74 70 3a 2f 2f 77 77 77 2e 6f 70 65 6e 73 74 72 65 65 74 6d 61 70 2e 6f 72 en.\"http://www.openstreetmap.or
dfa0 67 2f 3f 6d 6c 61 74 3d 24 7b 6c 61 74 7d 26 6d 6c 6f 6e 3d 24 7b 6c 6f 6e 7d 26 6c 61 79 65 72 g/?mlat=${lat}&mlon=${lon}&layer
dfc0 73 3d 43 5c 22 0a 20 20 20 20 65 6c 73 65 0a 20 20 20 20 20 20 78 64 67 2d 6f 70 65 6e 20 5c 22 s=C\".....else.......xdg-open.\"
dfe0 68 74 74 70 3a 2f 2f 77 77 77 2e 6f 70 65 6e 73 74 72 65 65 74 6d 61 70 2e 6f 72 67 2f 3f 6d 6c http://www.openstreetmap.org/?ml
e000 61 74 3d 24 7b 6c 61 74 7d 26 6d 6c 6f 6e 3d 24 7b 6c 6f 6e 7d 26 6c 61 79 65 72 73 3d 43 5c 22 at=${lat}&mlon=${lon}&layers=C\"
e020 0a 20 20 20 20 66 69 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 65 78 69 66 74 6f 6f 6c 22 0a 20 20 .....fi"....:utils."exiftool"...
e040 20 3a 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 20 74 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 .:error-autofocus.t....:silent-s
e060 75 63 63 65 73 73 20 74 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 uccess.t))..;;;###autoload.(defu
e080 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 72 65 76 65 n.dwim-shell-commands-image-reve
e0a0 72 73 65 2d 67 65 6f 63 6f 64 65 2d 6c 6f 63 61 74 69 6f 6e 20 28 29 0a 20 20 22 52 65 76 65 72 rse-geocode-location.()..."Rever
e0c0 73 65 20 67 65 6f 63 6f 64 65 20 69 6d 61 67 65 28 73 29 20 6c 6f 63 61 74 69 6f 6e 2e 22 0a 20 se.geocode.image(s).location."..
e0e0 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d .(interactive)...(dwim-shell-com
e100 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 52 65 76 65 72 73 65 mand-on-marked-files...."Reverse
e120 20 67 65 6f 63 6f 64 65 22 0a 20 20 20 22 6c 61 74 3d 5c 22 24 28 65 78 69 66 74 6f 6f 6c 20 2d .geocode"...."lat=\"$(exiftool.-
e140 63 73 76 20 2d 6e 20 2d 67 70 73 6c 61 74 69 74 75 64 65 20 2d 67 70 73 6c 6f 6e 67 69 74 75 64 csv.-n.-gpslatitude.-gpslongitud
e160 65 20 27 3c 3c 66 3e 3e 27 20 7c 20 74 61 69 6c 20 2d 6e 20 31 20 7c 20 63 75 74 20 2d 73 20 2d e.'<<f>>'.|.tail.-n.1.|.cut.-s.-
e180 64 27 2c 27 20 2d 66 32 2d 32 29 5c 22 0a 20 20 20 20 69 66 20 5b 20 2d 7a 20 5c 22 24 6c 61 74 d','.-f2-2)\".....if.[.-z.\"$lat
e1a0 5c 22 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 20 65 63 68 6f 20 5c 22 6e 6f 20 6c 61 74 69 74 \".];.then.......echo.\"no.latit
e1c0 75 64 65 5c 22 0a 20 20 20 20 20 20 65 78 69 74 20 31 0a 20 20 20 20 66 69 0a 20 20 20 20 6c 6f ude\".......exit.1.....fi.....lo
e1e0 6e 3d 5c 22 24 28 65 78 69 66 74 6f 6f 6c 20 2d 63 73 76 20 2d 6e 20 2d 67 70 73 6c 61 74 69 74 n=\"$(exiftool.-csv.-n.-gpslatit
e200 75 64 65 20 2d 67 70 73 6c 6f 6e 67 69 74 75 64 65 20 27 3c 3c 66 3e 3e 27 20 7c 20 74 61 69 6c ude.-gpslongitude.'<<f>>'.|.tail
e220 20 2d 6e 20 31 20 7c 20 63 75 74 20 2d 73 20 2d 64 27 2c 27 20 2d 66 33 2d 33 29 5c 22 0a 20 20 .-n.1.|.cut.-s.-d','.-f3-3)\"...
e240 20 20 69 66 20 5b 20 2d 7a 20 5c 22 24 6c 6f 6e 5c 22 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 20 ..if.[.-z.\"$lon\".];.then......
e260 20 65 63 68 6f 20 5c 22 6e 6f 20 6c 6f 6e 67 69 74 75 64 65 5c 22 0a 20 20 20 20 20 20 65 78 69 .echo.\"no.longitude\".......exi
e280 74 20 31 0a 20 20 20 20 66 69 0a 20 20 20 20 6a 73 6f 6e 3d 24 28 63 75 72 6c 20 5c 22 68 74 74 t.1.....fi.....json=$(curl.\"htt
e2a0 70 73 3a 2f 2f 6e 6f 6d 69 6e 61 74 69 6d 2e 6f 70 65 6e 73 74 72 65 65 74 6d 61 70 2e 6f 72 67 ps://nominatim.openstreetmap.org
e2c0 2f 72 65 76 65 72 73 65 3f 66 6f 72 6d 61 74 3d 6a 73 6f 6e 26 61 63 63 65 70 74 2d 6c 61 6e 67 /reverse?format=json&accept-lang
e2e0 75 61 67 65 3d 65 6e 26 6c 61 74 3d 24 7b 6c 61 74 7d 26 6c 6f 6e 3d 24 7b 6c 6f 6e 7d 26 7a 6f uage=en&lat=${lat}&lon=${lon}&zo
e300 6f 6d 3d 31 38 26 61 64 64 72 65 73 73 64 65 74 61 69 6c 73 3d 31 5c 22 29 0a 20 20 20 20 65 63 om=18&addressdetails=1\").....ec
e320 68 6f 20 5c 22 6a 73 6f 6e 5f 73 74 61 72 74 20 24 6a 73 6f 6e 20 6a 73 6f 6e 5f 65 6e 64 5c 22 ho.\"json_start.$json.json_end\"
e340 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 65 78 69 66 74 6f 6f 6c 22 20 22 63 75 72 6c 22 29 "....:utils.'("exiftool"."curl")
e360 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 3a 65 72 72 6f 72 2d ....:silent-success.t....:error-
e380 61 75 74 6f 66 6f 63 75 73 20 74 0a 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 28 6c autofocus.t....:on-completion.(l
e3a0 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 5f 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 ambda.(buffer._process).........
e3c0 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 ............(with-current-buffer
e3e0 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 .buffer.......................(g
e400 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 oto-char.(point-min))...........
e420 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73 20 27 28 29 29 29 ............(let.((matches.'()))
e440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 .........................(while.
e460 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 5e 6a 73 6f 6e 5f 73 74 61 72 74 5c (re-search-forward."^json_start\
e480 5c 28 2e 2a 3f 5c 5c 29 6a 73 6f 6e 5f 65 6e 64 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 \(.*?\\)json_end".nil.t)........
e4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6d 61 74 63 68 2d ...................(push.(match-
e4c0 73 74 72 69 6e 67 20 31 29 20 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 string.1).matches)).............
e4e0 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 28 73 74 72 69 6e ............(message."%s".(strin
e500 67 2d 6a 6f 69 6e 20 28 73 65 71 2d 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6a 73 6f 6e 29 0a 20 g-join.(seq-map.(lambda.(json)..
e520 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 ................................
e540 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 6d 61 .............................(ma
e560 70 2d 65 6c 74 20 28 6a 73 6f 6e 2d 70 61 72 73 65 2d 73 74 72 69 6e 67 20 6a 73 6f 6e 20 3a 6f p-elt.(json-parse-string.json.:o
e580 62 6a 65 63 74 2d 74 79 70 65 20 27 61 6c 69 73 74 29 20 27 64 69 73 70 6c 61 79 5f 6e 61 6d 65 bject-type.'alist).'display_name
e5a0 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 ))..............................
e5c0 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 6d ...............................m
e5e0 61 74 63 68 65 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 atches).........................
e600 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 6e 22 29 ..........................."\n")
e620 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 28 6b 69 6c 6c 2d 62 )).......................(kill-b
e640 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 uffer.buffer)))))..;;;###autoloa
e660 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 d.(defun.dwim-shell-commands-ima
e680 67 65 2d 68 6f 72 69 7a 6f 6e 74 61 6c 2d 66 6c 69 70 20 28 29 0a 20 20 22 48 6f 72 69 7a 6f 6e ge-horizontal-flip.()..."Horizon
e6a0 74 61 6c 6c 79 20 66 6c 69 70 20 69 6d 61 67 65 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 tally.flip.image(s)."...(interac
e6c0 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d tive)...(dwim-shell-command-on-m
e6e0 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 49 6d 61 67 65 20 68 6f 72 69 7a 6f 6e 74 61 6c arked-files...."Image.horizontal
e700 20 66 6c 69 70 22 0a 20 20 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f 73 65 20 2d 66 6c 6f .flip"...."convert.-verbose.-flo
e720 70 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 5f 68 5f 66 6c 69 70 70 65 64 2e 3c 3c 65 p.'<<f>>'.'<<fne>>_h_flipped.<<e
e740 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b 23 >>'"....:utils."convert"))..;;;#
e760 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d ##autoload.(defun.dwim-shell-com
e780 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 76 65 72 74 69 63 61 6c 2d 66 6c 69 70 20 28 29 0a 20 20 22 mands-image-vertical-flip.()..."
e7a0 48 6f 72 69 7a 6f 6e 74 61 6c 6c 79 20 66 6c 69 70 20 69 6d 61 67 65 28 73 29 2e 22 0a 20 20 28 Horizontally.flip.image(s)."...(
e7c0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 interactive)...(dwim-shell-comma
e7e0 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 49 6d 61 67 65 20 76 65 72 nd-on-marked-files...."Image.ver
e800 74 69 63 61 6c 20 66 6c 69 70 22 0a 20 20 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f 73 65 tical.flip"...."convert.-verbose
e820 20 2d 66 6c 69 70 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 5f 76 5f 66 6c 69 70 70 65 .-flip.'<<f>>'.'<<fne>>_v_flippe
e840 64 2e 3c 3c 65 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a d.<<e>>'"....:utils."convert")).
e860 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c .;;;###autoload.(defun.dwim-shel
e880 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 74 6f 2d 6a 70 67 20 28 29 0a 20 20 22 43 6f l-commands-image-to-jpg.()..."Co
e8a0 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 69 6d 61 67 65 73 20 74 6f 20 6a 70 67 28 73 nvert.all.marked.images.to.jpg(s
e8c0 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c )."...(interactive)...(dwim-shel
e8e0 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f l-command-on-marked-files...."Co
e900 6e 76 65 72 74 20 74 6f 20 6a 70 67 22 0a 20 20 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f nvert.to.jpg"...."convert.-verbo
e920 73 65 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6a 70 67 27 22 0a 20 20 20 3a 75 74 se.'<<f>>'.'<<fne>>.jpg'"....:ut
e940 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a ils."convert"))..;;;###autoload.
e960 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 (defun.dwim-shell-commands-image
e980 2d 74 6f 2d 70 6e 67 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 -to-png.()..."Convert.all.marked
e9a0 20 69 6d 61 67 65 73 20 74 6f 20 70 6e 67 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 .images.to.png(s)."...(interacti
e9c0 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 ve)...(dwim-shell-command-on-mar
e9e0 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 70 6e 67 22 0a 20 20 ked-files...."Convert.to.png"...
ea00 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f 73 65 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e ."convert.-verbose.'<<f>>'.'<<fn
ea20 65 3e 3e 2e 70 6e 67 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a e>>.png'"....:utils."convert")).
ea40 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c .;;;###autoload.(defun.dwim-shel
ea60 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 73 76 67 2d 74 6f 2d 70 6e 67 20 28 29 0a 20 20 22 43 6f 6e 76 l-commands-svg-to-png.()..."Conv
ea80 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 73 76 67 28 73 29 20 74 6f 20 70 6e 67 28 73 29 2e ert.all.marked.svg(s).to.png(s).
eaa0 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d "...(interactive)...(dwim-shell-
eac0 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 command-on-marked-files...."Conv
eae0 65 72 74 20 74 6f 20 70 6e 67 22 0a 20 20 20 22 72 73 76 67 2d 63 6f 6e 76 65 72 74 20 2d 62 20 ert.to.png"...."rsvg-convert.-b.
eb00 77 68 69 74 65 20 27 3c 3c 66 3e 3e 27 20 2d 66 20 70 6e 67 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e white.'<<f>>'.-f.png.-o.'<<fne>>
eb20 2e 70 6e 67 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 72 73 76 67 2d 63 6f 6e 76 65 72 74 22 29 .png'"....:utils."rsvg-convert")
eb40 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 64 77 69 6d 2d 73 68 )..;;;###autoload.(defun.dwim-sh
eb60 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 73 76 67 2d 74 6f 2d 66 61 76 69 63 6f 6e 73 20 28 29 0a ell-commands-svg-to-favicons.().
eb80 20 20 22 43 6f 6e 76 65 72 74 20 73 76 67 20 74 6f 20 63 6f 6d 6d 6f 6e 20 66 61 76 69 63 6f 6e .."Convert.svg.to.common.favicon
eba0 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c s."...(interactive)...(dwim-shel
ebc0 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 72 l-command-on-marked-files...."Cr
ebe0 65 61 74 65 20 66 61 76 69 63 6f 6e 73 22 0a 20 20 20 22 65 63 68 6f 20 27 3c 6c 69 6e 6b 20 72 eate.favicons"...."echo.'<link.r
ec00 65 6c 3d 5c 22 69 63 6f 6e 5c 22 20 74 79 70 65 3d 5c 22 69 6d 61 67 65 2f 73 76 67 2b 78 6d 6c el=\"icon\".type=\"image/svg+xml
ec20 5c 22 20 68 72 65 66 3d 5c 22 3c 3c 66 3e 3e 5c 22 3e 27 0a 20 20 20 72 73 76 67 2d 63 6f 6e 76 \".href=\"<<f>>\">'....rsvg-conv
ec40 65 72 74 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 2d 31 36 2e 70 6e 67 27 20 2d 77 20 31 36 20 2d 68 ert.-o.'<<fne>>-16.png'.-w.16.-h
ec60 20 31 36 20 27 3c 3c 66 3e 3e 27 0a 20 20 20 65 63 68 6f 20 27 3c 6c 69 6e 6b 20 72 65 6c 3d 5c .16.'<<f>>'....echo.'<link.rel=\
ec80 22 69 63 6f 6e 5c 22 20 74 79 70 65 3d 5c 22 69 6d 61 67 65 2f 70 6e 67 5c 22 20 68 72 65 66 3d "icon\".type=\"image/png\".href=
eca0 5c 22 3c 3c 66 6e 65 3e 3e 2d 31 36 2e 70 6e 67 5c 22 20 73 69 7a 65 73 3d 5c 22 31 36 78 31 36 \"<<fne>>-16.png\".sizes=\"16x16
ecc0 5c 22 3e 27 0a 20 20 20 72 73 76 67 2d 63 6f 6e 76 65 72 74 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e \">'....rsvg-convert.-o.'<<fne>>
ece0 2d 33 32 2e 70 6e 67 27 20 2d 77 20 33 32 20 2d 68 20 33 32 20 27 3c 3c 66 3e 3e 27 0a 20 20 20 -32.png'.-w.32.-h.32.'<<f>>'....
ed00 65 63 68 6f 20 27 3c 6c 69 6e 6b 20 72 65 6c 3d 5c 22 69 63 6f 6e 5c 22 20 74 79 70 65 3d 5c 22 echo.'<link.rel=\"icon\".type=\"
ed20 69 6d 61 67 65 2f 70 6e 67 5c 22 20 68 72 65 66 3d 5c 22 3c 3c 66 6e 65 3e 3e 2d 33 32 2e 70 6e image/png\".href=\"<<fne>>-32.pn
ed40 67 5c 22 20 73 69 7a 65 73 3d 5c 22 33 32 78 33 32 5c 22 3e 27 0a 20 20 20 72 73 76 67 2d 63 6f g\".sizes=\"32x32\">'....rsvg-co
ed60 6e 76 65 72 74 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 2d 34 38 2e 70 6e 67 27 20 2d 77 20 34 38 20 nvert.-o.'<<fne>>-48.png'.-w.48.
ed80 2d 68 20 34 38 20 27 3c 3c 66 3e 3e 27 0a 20 20 20 65 63 68 6f 20 27 3c 6c 69 6e 6b 20 72 65 6c -h.48.'<<f>>'....echo.'<link.rel
eda0 3d 5c 22 69 63 6f 6e 5c 22 20 74 79 70 65 3d 5c 22 69 6d 61 67 65 2f 70 6e 67 5c 22 20 68 72 65 =\"icon\".type=\"image/png\".hre
edc0 66 3d 5c 22 3c 3c 66 6e 65 3e 3e 2d 34 38 2e 70 6e 67 5c 22 20 73 69 7a 65 73 3d 5c 22 34 38 78 f=\"<<fne>>-48.png\".sizes=\"48x
ede0 34 38 5c 22 3e 27 0a 20 20 20 63 6f 6e 76 65 72 74 20 27 3c 3c 66 6e 65 3e 3e 2d 31 36 2e 70 6e 48\">'....convert.'<<fne>>-16.pn
ee00 67 27 20 27 3c 3c 66 6e 65 3e 3e 2d 33 32 2e 70 6e 67 27 20 27 3c 3c 66 6e 65 3e 3e 2d 34 38 2e g'.'<<fne>>-32.png'.'<<fne>>-48.
ee20 70 6e 67 27 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 27 0a 20 20 20 65 63 68 6f 20 27 3c 6c 69 6e png'.'<<fne>>.ico'....echo.'<lin
ee40 6b 20 72 65 6c 3d 5c 22 69 63 6f 6e 5c 22 20 74 79 70 65 3d 5c 22 69 6d 61 67 65 2f 78 2d 69 63 k.rel=\"icon\".type=\"image/x-ic
ee60 6f 6e 5c 22 20 68 72 65 66 3d 5c 22 2f 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 27 5c 22 3e 27 0a 20 on\".href=\"/'<<fne>>.ico'\">'..
ee80 20 20 72 73 76 67 2d 63 6f 6e 76 65 72 74 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 2d 36 34 2e 70 6e ..rsvg-convert.-o.'<<fne>>-64.pn
eea0 67 27 20 2d 77 20 36 34 20 2d 68 20 36 34 20 27 3c 3c 66 3e 3e 27 0a 20 20 20 65 63 68 6f 20 27 g'.-w.64.-h.64.'<<f>>'....echo.'
eec0 3c 6c 69 6e 6b 20 72 65 6c 3d 5c 22 69 63 6f 6e 5c 22 20 74 79 70 65 3d 5c 22 69 6d 61 67 65 2f <link.rel=\"icon\".type=\"image/
eee0 70 6e 67 5c 22 20 68 72 65 66 3d 5c 22 3c 3c 66 6e 65 3e 3e 2d 36 34 2e 70 6e 67 5c 22 20 73 69 png\".href=\"<<fne>>-64.png\".si
ef00 7a 65 73 3d 5c 22 36 34 78 36 34 5c 22 3e 27 0a 20 20 20 72 73 76 67 2d 63 6f 6e 76 65 72 74 20 zes=\"64x64\">'....rsvg-convert.
ef20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 2d 31 38 30 2e 70 6e 67 27 20 2d 77 20 31 38 30 20 2d 68 20 31 -o.'<<fne>>-180.png'.-w.180.-h.1
ef40 38 30 20 27 3c 3c 66 3e 3e 27 0a 20 20 20 65 63 68 6f 20 27 3c 6c 69 6e 6b 20 72 65 6c 3d 5c 22 80.'<<f>>'....echo.'<link.rel=\"
ef60 61 70 70 6c 65 2d 74 6f 75 63 68 2d 69 63 6f 6e 5c 22 20 68 72 65 66 3d 5c 22 3c 3c 66 6e 65 3e apple-touch-icon\".href=\"<<fne>
ef80 3e 2d 31 38 30 2e 70 6e 67 5c 22 20 73 69 7a 65 73 3d 5c 22 31 38 30 78 31 38 30 5c 22 3e 27 0a >-180.png\".sizes=\"180x180\">'.
efa0 20 20 20 72 65 61 64 20 2d 6e 20 31 20 2d 73 20 2d 72 22 0a 20 20 20 3a 65 78 74 65 6e 73 69 6f ...read.-n.1.-s.-r"....:extensio
efc0 6e 73 20 22 73 76 67 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 63 6f 6e 76 65 72 74 22 20 22 ns."svg"....:utils.'("convert"."
efe0 72 73 76 67 2d 63 6f 6e 76 65 72 74 22 29 0a 20 20 20 3a 66 6f 63 75 73 2d 6e 6f 77 20 74 29 29 rsvg-convert")....:focus-now.t))
f000 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 ..;;;###autoload.(defun.dwim-she
f020 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 6b 65 2d 74 72 61 6e 73 70 61 72 65 6e 74 2d 70 6e 67 ll-commands-make-transparent-png
f040 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 74 72 61 6e 73 70 61 72 65 6e 74 20 70 6e 67 2e .()..."Create.a.transparent.png.
f060 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d "...(interactive)...(dwim-shell-
f080 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 72 65 61 command-on-marked-files...."Crea
f0a0 74 65 20 74 72 61 6e 73 70 61 72 65 6e 74 20 70 6e 67 22 0a 20 20 20 22 63 6f 6e 76 65 72 74 20 te.transparent.png"...."convert.
f0c0 2d 76 65 72 62 6f 73 65 20 2d 73 69 7a 65 20 3c 3c 77 69 64 74 68 3a 32 30 30 3e 3e 78 3c 3c 68 -verbose.-size.<<width:200>>x<<h
f0e0 65 69 67 68 74 3a 32 30 30 3e 3e 20 78 63 3a 6e 6f 6e 65 20 27 3c 3c 65 6d 70 74 79 3c 3c 77 69 eight:200>>.xc:none.'<<empty<<wi
f100 64 74 68 3a 32 30 30 3e 3e 78 3c 3c 68 65 69 67 68 74 3a 32 30 30 3e 3e 2e 70 6e 67 28 75 29 3e dth:200>>x<<height:200>>.png(u)>
f120 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b 23 23 >'"....:utils."convert"))..;;;##
f140 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d #autoload.(defun.dwim-shell-comm
f160 61 6e 64 73 2d 6a 6f 69 6e 2d 61 73 2d 70 64 66 20 28 29 0a 20 20 22 4a 6f 69 6e 20 61 6c 6c 20 ands-join-as-pdf.()..."Join.all.
f180 6d 61 72 6b 65 64 20 69 6d 61 67 65 73 20 61 73 20 61 20 73 69 6e 67 6c 65 20 70 64 66 2e 22 0a marked.images.as.a.single.pdf.".
f1a0 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ..(interactive)...(dwim-shell-co
f1c0 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 4a 6f 69 6e 20 61 mmand-on-marked-files...."Join.a
f1e0 73 20 70 64 66 22 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 s.pdf"....(format."convert.-verb
f200 6f 73 65 20 27 3c 3c 2a 3e 3e 27 20 27 3c 3c 25 73 28 75 29 3e 3e 27 22 0a 20 20 20 20 20 20 20 ose.'<<*>>'.'<<%s(u)>>'"........
f220 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 72 65 61 64 2d 66 69 6c ....(dwim-shell-command-read-fil
f240 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 4a 6f 69 6e 20 61 73 20 70 64 66 20 e-name............."Join.as.pdf.
f260 6e 61 6d 65 64 20 28 64 65 66 61 75 6c 74 20 5c 22 6a 6f 69 6e 65 64 2e 70 64 66 5c 22 29 3a 20 named.(default.\"joined.pdf\"):.
f280 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 78 74 65 6e 73 69 6f 6e 20 22 70 64 66 22 0a 20 ".............:extension."pdf"..
f2a0 20 20 20 20 20 20 20 20 20 20 20 3a 64 65 66 61 75 6c 74 20 22 6a 6f 69 6e 65 64 2e 70 64 66 22 ...........:default."joined.pdf"
f2c0 29 29 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b 23 23 23 ))....:utils."convert"))..;;;###
f2e0 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 autoload.(defun.dwim-shell-comma
f300 6e 64 73 2d 6b 65 65 70 2d 70 64 66 2d 70 61 67 65 20 28 29 0a 20 20 22 4b 65 65 70 20 61 20 70 nds-keep-pdf-page.()..."Keep.a.p
f320 61 67 65 20 66 72 6f 6d 20 70 64 66 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 age.from.pdf."...(interactive)..
f340 20 28 6c 65 74 20 28 28 70 61 67 65 2d 6e 75 6d 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 4b .(let.((page-num.(read-number."K
f360 65 65 70 20 70 61 67 65 20 6e 75 6d 62 65 72 3a 20 22 20 31 29 29 29 0a 20 20 20 20 28 64 77 69 eep.page.number:.".1))).....(dwi
f380 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a m-shell-command-on-marked-files.
f3a0 20 20 20 20 20 22 4b 65 65 70 20 70 64 66 20 70 61 67 65 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 ....."Keep.pdf.page"......(forma
f3c0 74 20 22 71 70 64 66 20 27 3c 3c 66 3e 3e 27 20 2d 2d 70 61 67 65 73 20 2e 20 25 64 20 2d 2d 20 t."qpdf.'<<f>>'.--pages...%d.--.
f3e0 27 3c 3c 66 6e 65 3e 3e 5f 25 64 2e 3c 3c 65 3e 3e 27 22 20 70 61 67 65 2d 6e 75 6d 20 70 61 67 '<<fne>>_%d.<<e>>'".page-num.pag
f400 65 2d 6e 75 6d 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 71 70 64 66 22 29 29 29 0a 0a 3b 3b e-num)......:utils."qpdf")))..;;
f420 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ;###autoload.(defun.dwim-shell-c
f440 6f 6d 6d 61 6e 64 73 2d 6a 6f 69 6e 2d 69 6d 61 67 65 73 2d 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 ommands-join-images-horizontally
f460 20 28 29 0a 20 20 22 4a 6f 69 6e 20 61 6c 6c 20 6d 61 72 6b 65 64 20 69 6d 61 67 65 73 20 68 6f .()..."Join.all.marked.images.ho
f480 72 69 7a 6f 6e 74 61 6c 6c 79 20 61 73 20 61 20 73 69 6e 67 6c 65 20 69 6d 61 67 65 2e 22 0a 20 rizontally.as.a.single.image."..
f4a0 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 .(interactive)...(let.((filename
f4c0 20 28 66 6f 72 6d 61 74 20 22 6a 6f 69 6e 65 64 2e 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 .(format."joined.%s"............
f4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 65 71 2d 66 69 72 73 74 20 28 64 ...............(or.(seq-first.(d
f500 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6c 65 2d 65 78 74 65 6e 73 69 6f wim-shell-command--file-extensio
f520 6e 73 29 29 20 22 70 6e 67 22 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ns))."png")))).....(dwim-shell-c
f540 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 4a 6f 69 ommand-on-marked-files......"Joi
f560 6e 20 69 6d 61 67 65 73 20 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 22 0a 20 20 20 20 20 28 66 6f 72 n.images.horizontally"......(for
f580 6d 61 74 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f 73 65 20 27 3c 3c 2a 3e 3e 27 20 2b 61 mat."convert.-verbose.'<<*>>'.+a
f5a0 70 70 65 6e 64 20 27 3c 3c 25 73 28 75 29 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ppend.'<<%s(u)>>'"..............
f5c0 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 72 65 61 64 2d 66 69 6c 65 2d 6e 61 (dwim-shell-command-read-file-na
f5e0 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 4a 6f 69 6e 20 61 me...............(format."Join.a
f600 73 20 69 6d 61 67 65 20 6e 61 6d 65 64 20 28 64 65 66 61 75 6c 74 20 5c 22 25 73 5c 22 29 3a 20 s.image.named.(default.\"%s\"):.
f620 22 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 65 66 61 75 ".filename)...............:defau
f640 6c 74 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 lt.filename))......:utils."conve
f660 72 74 22 29 29 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 64 77 rt")))..;;;###autoload.(defun.dw
f680 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6a 6f 69 6e 2d 69 6d 61 67 65 73 2d 76 65 im-shell-commands-join-images-ve
f6a0 72 74 69 63 61 6c 6c 79 20 28 29 0a 20 20 22 4a 6f 69 6e 20 61 6c 6c 20 6d 61 72 6b 65 64 20 69 rtically.()..."Join.all.marked.i
f6c0 6d 61 67 65 73 20 76 65 72 74 69 63 61 6c 6c 79 20 61 73 20 61 20 73 69 6e 67 6c 65 20 69 6d 61 mages.vertically.as.a.single.ima
f6e0 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 66 69 ge."...(interactive)...(let.((fi
f700 6c 65 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 6a 6f 69 6e 65 64 2e 25 73 22 0a 20 20 20 20 20 lename.(format."joined.%s"......
f720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 65 71 2d 66 69 .....................(or.(seq-fi
f740 72 73 74 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6c 65 2d 65 78 rst.(dwim-shell-command--file-ex
f760 74 65 6e 73 69 6f 6e 73 29 29 20 22 70 6e 67 22 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 tensions))."png")))).....(dwim-s
f780 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 hell-command-on-marked-files....
f7a0 20 20 22 4a 6f 69 6e 20 69 6d 61 67 65 73 20 76 65 72 74 69 63 61 6c 6c 79 22 0a 20 20 20 20 20 .."Join.images.vertically"......
f7c0 28 66 6f 72 6d 61 74 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f 73 65 20 27 3c 3c 2a 3e 3e (format."convert.-verbose.'<<*>>
f7e0 27 20 2d 67 72 61 76 69 74 79 20 63 65 6e 74 65 72 20 2d 61 70 70 65 6e 64 20 27 3c 3c 25 73 28 '.-gravity.center.-append.'<<%s(
f800 75 29 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d u)>>'"..............(dwim-shell-
f820 63 6f 6d 6d 61 6e 64 2d 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 command-read-file-name..........
f840 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 4a 6f 69 6e 20 61 73 20 69 6d 61 67 65 20 6e 61 6d 65 .....(format."Join.as.image.name
f860 64 20 28 64 65 66 61 75 6c 74 20 5c 22 25 73 5c 22 29 3a 20 22 20 66 69 6c 65 6e 61 6d 65 29 0a d.(default.\"%s\"):.".filename).
f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 64 65 66 61 75 6c 74 20 66 69 6c 65 6e 61 6d 65 29 ..............:default.filename)
f8a0 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 29 0a 0a 3b 3b 3b 23 )......:utils."convert")))..;;;#
f8c0 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d ##autoload.(defun.dwim-shell-com
f8e0 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 74 6f 2d 67 72 61 79 73 63 61 6c 65 20 28 29 0a 20 20 22 43 mands-image-to-grayscale.()..."C
f900 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 69 6d 61 67 65 73 20 74 6f 20 67 72 61 79 onvert.all.marked.images.to.gray
f920 73 63 61 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d scale."...(interactive)...(dwim-
f940 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 shell-command-on-marked-files...
f960 20 22 43 6f 6e 76 65 72 74 20 69 6d 61 67 65 20 74 6f 20 67 72 61 79 73 63 61 6c 65 22 0a 20 20 ."Convert.image.to.grayscale"...
f980 20 22 63 6f 6e 76 65 72 74 20 2d 76 65 72 62 6f 73 65 20 2d 74 79 70 65 20 47 72 61 79 73 63 61 ."convert.-verbose.-type.Graysca
f9a0 6c 65 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 5f 67 72 61 79 73 63 61 6c 65 2e 3c 3c le.'<<f>>'.'<<fne>>_grayscale.<<
f9c0 65 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b e>>'"....:utils."convert"))..;;;
f9e0 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ###autoload.(defun.dwim-shell-co
fa00 6d 6d 61 6e 64 73 2d 72 65 6f 72 69 65 6e 74 2d 69 6d 61 67 65 20 28 29 0a 20 20 22 52 65 6f 72 mmands-reorient-image.()..."Reor
fa20 69 65 6e 74 20 69 6d 61 67 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 ient.images."...(interactive)...
fa40 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 (dwim-shell-command-on-marked-fi
fa60 6c 65 73 0a 20 20 20 22 52 65 6f 72 69 65 6e 74 20 69 6d 61 67 65 22 0a 20 20 20 22 63 6f 6e 76 les...."Reorient.image"...."conv
fa80 65 72 74 20 2d 76 65 72 62 6f 73 65 20 2d 61 75 74 6f 2d 6f 72 69 65 6e 74 20 27 3c 3c 66 3e 3e ert.-verbose.-auto-orient.'<<f>>
faa0 27 20 27 3c 3c 66 6e 65 3e 3e 5f 72 65 6f 72 69 65 6e 74 65 64 2e 3c 3c 65 3e 3e 27 22 0a 20 20 '.'<<fne>>_reoriented.<<e>>'"...
fac0 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c .:utils."convert"))..;;;###autol
fae0 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 67 oad.(defun.dwim-shell-commands-g
fb00 69 66 2d 74 6f 2d 76 69 64 65 6f 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 if-to-video.()..."Convert.all.ma
fb20 72 6b 65 64 20 67 69 66 28 73 29 20 74 6f 20 76 69 64 65 6f 28 73 29 2e 22 0a 20 20 28 69 6e 74 rked.gif(s).to.video(s)."...(int
fb40 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d eractive)...(dwim-shell-command-
fb60 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 67 on-marked-files...."Convert.to.g
fb80 69 66 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 6d 6f 76 66 6c if"...."ffmpeg.-i.'<<f>>'.-movfl
fba0 61 67 73 20 66 61 73 74 73 74 61 72 74 20 2d 70 69 78 5f 66 6d 74 20 79 75 76 34 32 30 70 20 2d ags.faststart.-pix_fmt.yuv420p.-
fbc0 76 66 20 27 73 63 61 6c 65 3d 74 72 75 6e 63 28 69 77 2f 32 29 2a 32 3a 74 72 75 6e 63 28 69 68 vf.'scale=trunc(iw/2)*2:trunc(ih
fbe0 2f 32 29 2a 32 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6d 70 34 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 /2)*2'.'<<fne>>.mp4'"....:utils.
fc00 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 "ffmpeg"))..;;;###autoload.(defu
fc20 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 65 6d 70 74 n.dwim-shell-commands-macos-empt
fc40 79 2d 74 72 61 73 68 20 28 29 0a 20 20 22 45 6d 70 74 79 20 6d 61 63 4f 53 20 74 72 61 73 68 2e y-trash.()..."Empty.macOS.trash.
fc60 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d "...(interactive)...(when.(y-or-
fc80 6e 2d 70 20 22 45 6d 70 74 79 20 6d 61 63 4f 53 20 74 72 61 73 68 3f 20 22 29 0a 20 20 20 20 28 n-p."Empty.macOS.trash?.").....(
fca0 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c dwim-shell-command-on-marked-fil
fcc0 65 73 0a 20 20 20 20 20 22 45 6d 70 74 79 20 6d 61 63 4f 53 20 74 72 61 73 68 22 0a 20 20 20 20 es......"Empty.macOS.trash".....
fce0 20 22 74 72 61 73 68 20 2d 65 20 2d 79 22 0a 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 ."trash.-e.-y"......:silent-succ
fd00 65 73 73 20 74 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 74 72 61 73 68 22 29 29 29 0a 0a 3b 3b ess.t......:utils."trash")))..;;
fd20 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ;###autoload.(defun.dwim-shell-c
fd40 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 6f 63 72 2d 74 65 78 74 2d 66 72 6f 6d 2d 64 65 73 6b ommands-macos-ocr-text-from-desk
fd60 74 6f 70 2d 72 65 67 69 6f 6e 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 61 20 6d 61 63 4f 53 20 top-region.()..."Select.a.macOS.
fd80 64 65 73 6b 74 6f 70 20 61 72 65 61 20 74 6f 20 4f 43 52 20 61 6e 64 20 63 6f 70 79 20 72 65 63 desktop.area.to.OCR.and.copy.rec
fda0 6f 67 6e 69 7a 65 64 20 74 65 78 74 20 74 6f 20 6b 69 6c 6c 20 72 69 6e 67 2e 22 0a 20 20 28 69 ognized.text.to.kill.ring."...(i
fdc0 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e nteractive)...(dwim-shell-comman
fde0 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 4f 43 52 20 61 72 65 61 22 0a d-on-marked-files...."OCR.area".
fe00 20 20 20 22 6d 61 63 6f 73 72 65 63 20 2d 2d 6f 63 72 22 0a 20 20 20 3b 3b 20 62 72 65 77 20 69 ..."macosrec.--ocr"....;;.brew.i
fe20 6e 73 74 61 6c 6c 20 78 65 6e 6f 64 69 75 6d 2f 6d 61 63 6f 73 72 65 63 2f 6d 61 63 6f 73 72 65 nstall.xenodium/macosrec/macosre
fe40 63 0a 20 20 20 3a 75 74 69 6c 73 20 22 6d 61 63 6f 73 72 65 63 22 0a 20 20 20 3a 6f 6e 2d 63 6f c....:utils."macosrec"....:on-co
fe60 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 70 72 6f 63 mpletion....(lambda.(buffer.proc
fe80 65 73 73 29 0a 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 73 75 63 63 65 73 73 20 28 3d ess)......(when-let.((success.(=
fea0 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 72 6f 63 65 73 73 29 20 30 .(process-exit-status.process).0
fec0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 20 28 77 69 74 68 2d 63 )).................(text.(with-c
fee0 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 urrent-buffer.buffer............
ff00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 28 62 75 66 66 65 .............(string-trim.(buffe
ff20 72 2d 73 74 72 69 6e 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 r-string)))))........(progn.....
ff40 20 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 20 28 73 .....(kill-new.text)..........(s
ff60 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 witch-to-buffer.buffer).........
ff80 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 .(goto-char.(point-min))........
ffa0 20 20 28 6d 65 73 73 61 67 65 20 22 4f 43 52 20 63 6f 70 69 65 64 20 74 6f 20 63 6c 69 70 62 6f ..(message."OCR.copied.to.clipbo
ffc0 61 72 64 22 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 ard"))))))..;;;###autoload.(defu
ffe0 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 6f 63 72 2d n.dwim-shell-commands-macos-ocr-
10000 74 65 78 74 2d 66 72 6f 6d 2d 69 6d 61 67 65 20 28 29 0a 20 20 22 4f 43 52 20 66 69 6c 65 20 61 text-from-image.()..."OCR.file.a
10020 6e 64 20 63 6f 70 79 20 72 65 63 6f 67 6e 69 7a 65 64 20 74 65 78 74 20 74 6f 20 6b 69 6c 6c 20 nd.copy.recognized.text.to.kill.
10040 72 69 6e 67 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 ring."...(interactive)...(dwim-s
10060 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 hell-command-on-marked-files....
10080 22 4f 43 52 20 61 72 65 61 22 0a 20 20 20 22 6d 61 63 6f 73 72 65 63 20 2d 2d 6f 63 72 20 2d 2d "OCR.area"...."macosrec.--ocr.--
100a0 63 6c 69 70 62 6f 61 72 64 20 2d 2d 69 6e 70 75 74 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 3b 3b clipboard.--input.'<<f>>'"....;;
100c0 20 62 72 65 77 20 69 6e 73 74 61 6c 6c 20 78 65 6e 6f 64 69 75 6d 2f 6d 61 63 6f 73 72 65 63 2f .brew.install.xenodium/macosrec/
100e0 6d 61 63 6f 73 72 65 63 0a 20 20 20 3a 75 74 69 6c 73 20 22 6d 61 63 6f 73 72 65 63 22 0a 20 20 macosrec....:utils."macosrec"...
10100 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 .:on-completion....(lambda.(buff
10120 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 73 75 63 er.process)......(when-let.((suc
10140 63 65 73 73 20 28 3d 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 72 6f cess.(=.(process-exit-status.pro
10160 63 65 73 73 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 20 cess).0)).................(text.
10180 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 (with-current-buffer.buffer.....
101a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 72 69 6d ....................(string-trim
101c0 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 70 72 6f .(buffer-string)))))........(pro
101e0 67 6e 0a 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 74 65 78 74 29 0a 20 20 20 20 gn..........(kill-new.text).....
10200 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 .....(switch-to-buffer.buffer)..
10220 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a ........(goto-char.(point-min)).
10240 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 4f 43 52 20 63 6f 70 69 65 64 20 74 6f .........(message."OCR.copied.to
10260 20 63 6c 69 70 62 6f 61 72 64 22 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 .clipboard"))))))..;;;###autoloa
10280 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 d.(defun.dwim-shell-commands-mac
102a0 6f 73 2d 63 6f 6e 76 65 72 74 2d 74 6f 2d 6d 70 34 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 os-convert-to-mp4.()..."Convert.
102c0 74 6f 20 6d 6f 76 20 74 6f 20 6d 70 34 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 to.mov.to.mp4"...(interactive)..
102e0 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 .(dwim-shell-command-on-marked-f
10300 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 6d 6f 76 20 74 6f 20 6d 70 34 22 0a iles...."Convert.to.mov.to.mp4".
10320 20 20 20 3b 3b 20 22 66 66 6d 70 65 67 20 2d 6c 6f 67 6c 65 76 65 6c 20 71 75 69 65 74 20 2d 73 ...;;."ffmpeg.-loglevel.quiet.-s
10340 74 61 74 73 20 2d 79 20 2d 69 20 3c 3c 66 3e 3e 2e 6d 6f 76 20 2d 76 63 6f 64 65 63 20 68 32 36 tats.-y.-i.<<f>>.mov.-vcodec.h26
10360 34 20 2d 61 63 6f 64 65 63 20 63 6f 70 79 20 3c 3c 66 6e 65 3e 3e 2e 6d 70 34 22 0a 20 20 20 3b 4.-acodec.copy.<<fne>>.mp4"....;
10380 3b 20 46 6f 75 6e 64 20 74 68 65 20 65 6e 63 6f 64 65 72 20 76 69 61 20 66 66 6d 70 65 67 20 2d ;.Found.the.encoder.via.ffmpeg.-
103a0 65 6e 63 6f 64 65 72 73 20 7c 20 67 72 65 70 20 76 69 64 65 6f 74 6f 6f 6c 62 6f 78 2c 0a 20 20 encoders.|.grep.videotoolbox,...
103c0 20 3b 3b 20 73 6f 75 72 63 65 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 72 65 64 64 69 74 2e 63 6f .;;.source.https://www.reddit.co
103e0 6d 2f 72 2f 66 66 6d 70 65 67 2f 63 6f 6d 6d 65 6e 74 73 2f 31 34 70 71 65 65 78 2f 67 65 74 74 m/r/ffmpeg/comments/14pqeex/gett
10400 69 6e 67 5f 30 5f 67 70 75 5f 75 74 69 6c 69 7a 61 74 69 6f 6e 5f 77 69 74 68 5f 61 70 70 6c 65 ing_0_gpu_utilization_with_apple
10420 5f 73 69 6c 69 63 6f 6e 73 2f 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c 66 3e 3e 27 _silicons/...."ffmpeg.-i.'<<f>>'
10440 20 2d 6d 61 70 5f 6d 65 74 61 64 61 74 61 20 30 20 5c 0a 20 20 20 20 20 2d 63 3a 76 20 68 65 76 .-map_metadata.0.\......-c:v.hev
10460 63 5f 76 69 64 65 6f 74 6f 6f 6c 62 6f 78 20 2d 71 3a 76 20 33 35 20 2d 70 72 65 73 65 74 20 66 c_videotoolbox.-q:v.35.-preset.f
10480 61 73 74 20 2d 63 3a 61 20 61 61 63 20 2d 62 3a 61 20 31 32 38 6b 20 2d 74 61 67 3a 76 20 68 76 ast.-c:a.aac.-b:a.128k.-tag:v.hv
104a0 63 31 20 27 3c 3c 66 6e 65 3e 3e 27 2e 6d 70 34 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d c1.'<<fne>>'.mp4"....:utils."ffm
104c0 70 65 67 22 29 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 64 77 peg"))..;;;###autoload.(defun.dw
104e0 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 76 69 64 65 6f 2d 74 6f 2d 67 69 66 20 28 im-shell-commands-video-to-gif.(
10500 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 69 64 65 6f 73 20 74 )..."Convert.all.marked.videos.t
10520 6f 20 67 69 66 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 o.gif(s)."...(interactive)...(dw
10540 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 im-shell-command-on-marked-files
10560 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 67 69 66 22 0a 20 20 20 22 66 66 6d 70 65 67 20 ...."Convert.to.gif"...."ffmpeg.
10580 2d 6c 6f 67 6c 65 76 65 6c 20 71 75 69 65 74 20 2d 73 74 61 74 73 20 2d 79 20 2d 69 20 27 3c 3c -loglevel.quiet.-stats.-y.-i.'<<
105a0 66 3e 3e 27 20 2d 70 69 78 5f 66 6d 74 20 72 67 62 32 34 20 2d 72 20 31 35 20 27 3c 3c 66 6e 65 f>>'.-pix_fmt.rgb24.-r.15.'<<fne
105c0 3e 3e 2e 67 69 66 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b >>.gif'"....:utils."ffmpeg"))..;
105e0 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ;;###autoload.(defun.dwim-shell-
10600 63 6f 6d 6d 61 6e 64 73 2d 76 69 64 65 6f 2d 74 6f 2d 6d 6f 76 20 28 29 0a 20 20 22 43 6f 6e 76 commands-video-to-mov.()..."Conv
10620 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 69 64 65 6f 73 20 74 6f 20 6d 6f 76 28 73 29 2e ert.all.marked.videos.to.mov(s).
10640 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d "...(interactive)...(dwim-shell-
10660 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 command-on-marked-files...."Conv
10680 65 72 74 20 74 6f 20 6d 6f 76 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 69 20 20 27 3c 3c 66 3e ert.to.mov"...."ffmpeg.-i..'<<f>
106a0 3e 27 20 2d 63 3a 76 20 6c 69 62 78 32 36 34 20 2d 63 3a 61 20 61 61 63 20 20 27 3c 3c 66 6e 65 >'.-c:v.libx264.-c:a.aac..'<<fne
106c0 3e 3e 2e 6d 6f 76 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b >>.mov'"....:utils."ffmpeg"))..;
106e0 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ;;###autoload.(defun.dwim-shell-
10700 63 6f 6d 6d 61 6e 64 73 2d 76 69 64 65 6f 2d 74 6f 2d 77 65 62 70 20 28 29 0a 20 20 22 43 6f 6e commands-video-to-webp.()..."Con
10720 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 69 64 65 6f 73 20 74 6f 20 77 65 62 70 28 73 vert.all.marked.videos.to.webp(s
10740 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c )."...(interactive)...(dwim-shel
10760 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f l-command-on-marked-files...."Co
10780 6e 76 65 72 74 20 74 6f 20 77 65 62 70 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c nvert.to.webp"...."ffmpeg.-i.'<<
107a0 66 3e 3e 27 20 2d 76 63 6f 64 65 63 20 6c 69 62 77 65 62 70 20 2d 66 69 6c 74 65 72 3a 76 20 66 f>>'.-vcodec.libwebp.-filter:v.f
107c0 70 73 3d 66 70 73 3d 31 30 20 2d 63 6f 6d 70 72 65 73 73 69 6f 6e 5f 6c 65 76 65 6c 20 33 20 2d ps=fps=10.-compression_level.3.-
107e0 6c 6f 73 73 6c 65 73 73 20 31 20 2d 6c 6f 6f 70 20 30 20 2d 70 72 65 73 65 74 20 64 65 66 61 75 lossless.1.-loop.0.-preset.defau
10800 6c 74 20 2d 61 6e 20 2d 76 73 79 6e 63 20 30 20 27 3c 3c 66 6e 65 3e 3e 27 2e 77 65 62 70 22 0a lt.-an.-vsync.0.'<<fne>>'.webp".
10820 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f ...:utils."ffmpeg"))..;;;###auto
10840 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d load.(defun.dwim-shell-commands-
10860 77 65 62 70 2d 74 6f 2d 76 69 64 65 6f 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 webp-to-video.()..."Convert.all.
10880 6d 61 72 6b 65 64 20 77 65 62 70 28 73 29 20 74 6f 20 76 69 64 65 6f 28 73 29 2e 22 0a 20 20 28 marked.webp(s).to.video(s)."...(
108a0 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 interactive)...(dwim-shell-comma
108c0 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 77 nd-on-marked-files...."Convert.w
108e0 65 62 70 20 74 6f 20 76 69 64 65 6f 22 0a 20 20 20 22 63 6f 6e 76 65 72 74 20 27 3c 3c 66 3e 3e ebp.to.video"...."convert.'<<f>>
10900 27 20 27 3c 3c 74 64 3e 3e 2f 3c 3c 62 6e 65 3e 3e 2e 67 69 66 27 0a 20 20 20 20 66 66 6d 70 65 '.'<<td>>/<<bne>>.gif'.....ffmpe
10920 67 20 2d 69 20 27 3c 3c 74 64 3e 3e 2f 3c 3c 62 6e 65 3e 3e 2e 67 69 66 27 20 2d 6d 6f 76 66 6c g.-i.'<<td>>/<<bne>>.gif'.-movfl
10940 61 67 73 20 66 61 73 74 73 74 61 72 74 20 2d 70 69 78 5f 66 6d 74 20 79 75 76 34 32 30 70 20 2d ags.faststart.-pix_fmt.yuv420p.-
10960 76 66 20 27 73 63 61 6c 65 3d 74 72 75 6e 63 28 69 77 2f 32 29 2a 32 3a 74 72 75 6e 63 28 69 68 vf.'scale=trunc(iw/2)*2:trunc(ih
10980 2f 32 29 2a 32 27 20 27 3c 3c 66 6e 65 3e 3e 2e 6d 70 34 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 /2)*2'.'<<fne>>.mp4'"....:utils.
109a0 27 28 22 66 66 6d 70 65 67 22 20 22 63 6f 6e 76 65 72 74 22 29 0a 20 20 20 3a 65 78 74 65 6e 73 '("ffmpeg"."convert")....:extens
109c0 69 6f 6e 73 20 22 77 65 62 70 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 ions."webp"))..;;;###autoload.(d
109e0 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 77 65 62 70 2d 74 6f efun.dwim-shell-commands-webp-to
10a00 2d 67 69 66 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 77 65 -gif.()..."Convert.all.marked.we
10a20 62 70 28 73 29 20 74 6f 20 67 69 66 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 bp(s).to.gif(s)."...(interactive
10a40 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 )...(dwim-shell-command-on-marke
10a60 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 77 65 62 70 20 74 6f 20 76 69 64 65 d-files...."Convert.webp.to.vide
10a80 6f 22 0a 20 20 20 22 63 6f 6e 76 65 72 74 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e o"...."convert.'<<f>>'.'<<fne>>.
10aa0 67 69 66 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 63 6f 6e 76 65 72 74 22 29 0a 20 20 20 gif'"....:utils.'("convert")....
10ac0 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 77 65 62 70 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f :extensions."webp"))..;;;###auto
10ae0 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d load.(defun.dwim-shell-commands-
10b00 76 69 64 65 6f 2d 74 6f 2d 68 65 76 63 2d 6d 6b 76 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 video-to-hevc-mkv.()..."Convert.
10b20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 69 64 65 6f 73 20 74 6f 20 68 65 76 63 20 6d 6b 76 2e 22 0a all.marked.videos.to.hevc.mkv.".
10b40 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ..(interactive)...(dwim-shell-co
10b60 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 mmand-on-marked-files...."Conver
10b80 74 20 76 69 64 65 6f 20 74 6f 20 68 32 36 35 20 22 0a 20 20 20 22 52 45 50 4f 5f 44 49 52 3d 2f t.video.to.h265."...."REPO_DIR=/
10ba0 74 6d 70 2f 6f 74 68 65 72 5f 76 69 64 65 6f 5f 74 72 61 6e 73 63 6f 64 69 6e 67 0a 20 20 20 20 tmp/other_video_transcoding.....
10bc0 69 66 20 21 20 5b 20 2d 64 20 5c 22 24 52 45 50 4f 5f 44 49 52 5c 22 20 5d 0a 20 20 20 20 74 68 if.!.[.-d.\"$REPO_DIR\".].....th
10be0 65 6e 0a 20 20 20 20 20 20 67 69 74 20 63 6c 6f 6e 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 en.......git.clone.https://githu
10c00 62 2e 63 6f 6d 2f 64 6f 6e 6d 65 6c 74 6f 6e 2f 6f 74 68 65 72 5f 76 69 64 65 6f 5f 74 72 61 6e b.com/donmelton/other_video_tran
10c20 73 63 6f 64 69 6e 67 2e 67 69 74 20 24 52 45 50 4f 5f 44 49 52 0a 20 20 20 20 66 69 0a 20 20 20 scoding.git.$REPO_DIR.....fi....
10c40 20 70 75 73 68 64 20 24 52 45 50 4f 5f 44 49 52 0a 20 20 20 20 67 69 74 20 70 75 6c 6c 20 6f 72 .pushd.$REPO_DIR.....git.pull.or
10c60 69 67 69 6e 20 6d 61 73 74 65 72 20 7c 7c 20 65 63 68 6f 20 5c 22 73 6b 69 70 70 69 6e 67 20 72 igin.master.||.echo.\"skipping.r
10c80 65 70 6f 20 75 70 64 61 74 65 2e 2e 2e 5c 22 0a 20 20 20 20 70 6f 70 64 0a 20 20 20 20 72 75 62 epo.update...\".....popd.....rub
10ca0 79 20 24 52 45 50 4f 5f 44 49 52 2f 62 69 6e 2f 6f 74 68 65 72 2d 74 72 61 6e 73 63 6f 64 65 20 y.$REPO_DIR/bin/other-transcode.
10cc0 2d 2d 68 65 76 63 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 67 69 74 --hevc.'<<f>>'"....:utils.'("git
10ce0 22 20 22 66 66 6d 70 65 67 22 20 22 6d 6b 76 74 6f 6f 6c 6e 69 78 22 20 22 6d 70 76 22 29 29 29 "."ffmpeg"."mkvtoolnix"."mpv")))
10d00 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 ..;;;###autoload.(defun.dwim-she
10d20 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 76 69 64 65 6f 2d 74 6f 2d 6f 70 74 69 6d 69 7a 65 64 2d 67 ll-commands-video-to-optimized-g
10d40 69 66 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 69 64 65 if.()..."Convert.all.marked.vide
10d60 6f 73 20 74 6f 20 6f 70 74 69 6d 69 7a 65 64 20 67 69 66 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 os.to.optimized.gif(s)."...(inte
10d80 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f ractive)...(dwim-shell-command-o
10da0 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 6f 70 n-marked-files...."Convert.to.op
10dc0 74 69 6d 69 7a 65 64 20 67 69 66 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 6c 6f 67 6c 65 76 65 timized.gif"...."ffmpeg.-logleve
10de0 6c 20 71 75 69 65 74 20 2d 73 74 61 74 73 20 2d 79 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 70 69 l.quiet.-stats.-y.-i.'<<f>>'.-pi
10e00 78 5f 66 6d 74 20 72 67 62 32 34 20 2d 72 20 31 35 20 27 3c 3c 66 6e 65 3e 3e 2e 67 69 66 27 0a x_fmt.rgb24.-r.15.'<<fne>>.gif'.
10e20 20 20 20 20 67 69 66 73 69 63 6c 65 20 2d 4f 33 20 27 3c 3c 66 6e 65 3e 3e 2e 67 69 66 27 20 2d ....gifsicle.-O3.'<<fne>>.gif'.-
10e40 2d 6c 6f 73 73 79 3d 38 30 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 2e 67 69 66 27 22 0a 20 20 20 3a -lossy=80.-o.'<<fne>>.gif'"....:
10e60 75 74 69 6c 73 20 27 28 22 66 66 6d 70 65 67 22 20 22 67 69 66 73 69 63 6c 65 22 29 29 29 0a 0a utils.'("ffmpeg"."gifsicle")))..
10e80 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c ;;;###autoload.(defun.dwim-shell
10ea0 2d 63 6f 6d 6d 61 6e 64 73 2d 75 6e 7a 69 70 20 28 29 0a 20 20 22 55 6e 7a 69 70 20 61 6c 6c 20 -commands-unzip.()..."Unzip.all.
10ec0 6d 61 72 6b 65 64 20 61 72 63 68 69 76 65 73 20 28 6f 66 20 61 6e 79 20 6b 69 6e 64 29 20 75 73 marked.archives.(of.any.kind).us
10ee0 69 6e 67 20 60 61 74 6f 6f 6c 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 ing.`atool'."...(interactive)...
10f00 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 (dwim-shell-command-on-marked-fi
10f20 6c 65 73 0a 20 20 20 22 55 6e 7a 69 70 22 20 22 61 74 6f 6f 6c 20 2d 2d 65 78 74 72 61 63 74 20 les...."Unzip"."atool.--extract.
10f40 2d 2d 65 78 70 6c 61 69 6e 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 61 74 --explain.'<<f>>'"....:utils."at
10f60 6f 6f 6c 22 29 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 64 77 ool"))..;;;###autoload.(defun.dw
10f80 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 7a 69 70 20 28 29 0a 20 20 22 5a 69 70 20 im-shell-commands-zip.()..."Zip.
10fa0 61 6c 6c 20 6d 61 72 6b 65 64 20 66 69 6c 65 73 20 69 6e 74 6f 20 61 72 63 68 69 76 65 2e 7a 69 all.marked.files.into.archive.zi
10fc0 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c p."...(interactive)...(dwim-shel
10fe0 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 5a 69 l-command-on-marked-files...."Zi
11000 70 22 20 28 69 66 20 28 65 71 20 31 20 28 73 65 71 2d 6c 65 6e 67 74 68 20 28 64 77 69 6d 2d 73 p".(if.(eq.1.(seq-length.(dwim-s
11020 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 hell-command--files)))..........
11040 20 20 20 20 22 7a 69 70 20 2d 72 20 27 3c 3c 66 6e 65 3e 3e 2e 3c 3c 65 3e 3e 27 20 27 3c 3c 66 ...."zip.-r.'<<fne>>.<<e>>'.'<<f
11060 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 22 7a 69 70 20 2d 72 20 27 3c 3c 61 72 63 68 69 >>'"............"zip.-r.'<<archi
11080 76 65 2e 7a 69 70 28 75 29 3e 3e 27 20 27 3c 3c 2a 3e 3e 27 22 29 0a 20 20 20 3a 75 74 69 6c 73 ve.zip(u)>>'.'<<*>>'")....:utils
110a0 20 22 7a 69 70 22 29 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 ."zip"))..;;;###autoload.(defun.
110c0 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 7a 69 70 2d 70 61 73 73 77 6f 72 64 dwim-shell-commands-zip-password
110e0 2d 70 72 6f 74 65 63 74 20 28 29 0a 20 20 22 50 72 6f 74 65 63 74 2f 65 6e 63 72 79 70 74 20 7a -protect.()..."Protect/encrypt.z
11100 69 70 20 66 69 6c 65 28 73 29 20 77 69 74 68 20 70 61 73 73 77 6f 72 64 2e 22 0a 20 20 28 69 6e ip.file(s).with.password."...(in
11120 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 teractive)...(dwim-shell-command
11140 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 41 64 64 20 7a 69 70 20 70 61 73 -on-marked-files...."Add.zip.pas
11160 73 77 6f 72 64 22 20 22 7a 69 70 63 6c 6f 61 6b 20 2d 2d 6f 75 74 70 75 74 2d 66 69 6c 65 20 27 sword"."zipcloak.--output-file.'
11180 3c 3c 66 6e 65 3e 3e 5f 70 72 6f 74 65 63 74 65 64 2e 3c 3c 65 3e 3e 27 20 27 3c 3c 66 3e 3e 27 <<fne>>_protected.<<e>>'.'<<f>>'
111a0 22 0a 20 20 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 7a 69 70 22 0a 20 20 20 3a 75 74 69 6c 73 "....:extensions."zip"....:utils
111c0 20 22 7a 69 70 63 6c 6f 61 6b 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 ."zipcloak"))..;;;###autoload.(d
111e0 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6f 70 74 69 6d 69 7a efun.dwim-shell-commands-optimiz
11200 65 2d 67 69 66 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 e-gif.()..."Convert.all.marked.v
11220 69 64 65 6f 73 20 74 6f 20 6f 70 74 69 6d 69 7a 65 64 20 67 69 66 28 73 29 2e 22 0a 20 20 28 69 ideos.to.optimized.gif(s)."...(i
11240 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e nteractive)...(dwim-shell-comman
11260 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f d-on-marked-files...."Convert.to
11280 20 6f 70 74 69 6d 69 7a 65 64 20 67 69 66 22 0a 20 20 20 22 67 69 66 73 69 63 6c 65 20 2d 4f 33 .optimized.gif"...."gifsicle.-O3
112a0 20 27 3c 3c 66 3e 3e 27 20 2d 2d 6c 6f 73 73 79 3d 39 30 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 5f .'<<f>>'.--lossy=90.-o.'<<fne>>_
112c0 6f 70 74 69 6d 69 7a 65 64 2e 67 69 66 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 66 66 6d optimized.gif'"....:utils.'("ffm
112e0 70 65 67 22 20 22 67 69 66 73 69 63 6c 65 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f peg"."gifsicle")))..;;;###autolo
11300 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 73 70 ad.(defun.dwim-shell-commands-sp
11320 65 65 64 2d 75 70 2d 67 69 66 20 28 29 0a 20 20 22 53 70 65 65 64 73 20 75 70 20 67 69 66 28 73 eed-up-gif.()..."Speeds.up.gif(s
11340 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 66 61 63 )."...(interactive)...(let.((fac
11360 74 6f 72 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 tor.(string-to-number...........
11380 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 70 65 65 64 20 75 .......(completing-read."Speed.u
113a0 70 20 78 20 74 69 6d 65 73 3a 20 22 20 27 28 22 31 22 20 22 31 2e 35 22 20 22 32 22 20 22 32 2e p.x.times:.".'("1"."1.5"."2"."2.
113c0 35 22 20 22 33 22 20 22 34 22 29 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 5"."3"."4"))))).....(dwim-shell-
113e0 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 53 70 command-on-marked-files......"Sp
11400 65 65 64 20 75 70 20 67 69 66 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 67 69 66 73 69 63 eed.up.gif"......(format."gifsic
11420 6c 65 20 2d 55 20 27 3c 3c 66 3e 3e 27 20 3c 3c 66 72 61 6d 65 73 3e 3e 20 2d 4f 32 20 2d 6f 20 le.-U.'<<f>>'.<<frames>>.-O2.-o.
11440 27 3c 3c 66 6e 65 3e 3e 5f 78 25 73 2e 3c 3c 65 3e 3e 27 22 20 66 61 63 74 6f 72 29 0a 20 20 20 '<<fne>>_x%s.<<e>>'".factor)....
11460 20 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 67 69 66 22 20 3a 75 74 69 6c 73 20 27 28 22 67 69 ..:extensions."gif".:utils.'("gi
11480 66 73 69 63 6c 65 22 20 22 69 64 65 6e 74 69 66 79 22 29 0a 20 20 20 20 20 3a 70 6f 73 74 2d 70 fsicle"."identify")......:post-p
114a0 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 20 28 6c 61 6d 62 64 61 20 28 73 63 72 69 70 74 20 rocess-template.(lambda.(script.
114c0 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file)...........................
114e0 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 22 3c 3c 66 72 61 6d 65 73 3e 3e 22 ....(string-replace."<<frames>>"
11500 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 67 69 66 73 69 63 6c 65 2d .(dwim-shell-commands--gifsicle-
11520 66 72 61 6d 65 73 2d 65 76 65 72 79 20 66 61 63 74 6f 72 20 66 69 6c 65 29 20 73 63 72 69 70 74 frames-every.factor.file).script
11540 29 29 29 29 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 64 77 69 )))))..;;;###autoload.(defun.dwi
11560 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 61 70 70 6c 79 2d 69 6f 73 m-shell-commands-image-apply-ios
11580 2d 72 6f 75 6e 64 2d 63 6f 72 6e 65 72 73 20 28 29 0a 20 20 22 41 70 70 6c 79 20 69 4f 53 20 72 -round-corners.()..."Apply.iOS.r
115a0 6f 75 6e 64 20 63 6f 72 6e 65 72 73 20 74 6f 20 69 6d 61 67 65 28 73 29 2e 22 0a 20 20 28 69 6e ound.corners.to.image(s)."...(in
115c0 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 teractive)...(dwim-shell-command
115e0 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 53 70 65 65 64 20 75 70 20 67 69 -on-marked-files...."Speed.up.gi
11600 66 22 0a 20 20 20 22 73 65 74 20 2d 6f 20 78 74 72 61 63 65 0a 20 20 20 20 20 20 77 69 64 74 68 f"...."set.-o.xtrace.......width
11620 3d 24 28 66 66 70 72 6f 62 65 20 2d 76 20 65 72 72 6f 72 20 2d 73 65 6c 65 63 74 5f 73 74 72 65 =$(ffprobe.-v.error.-select_stre
11640 61 6d 73 20 76 3a 30 20 2d 73 68 6f 77 5f 65 6e 74 72 69 65 73 20 73 74 72 65 61 6d 3d 77 69 64 ams.v:0.-show_entries.stream=wid
11660 74 68 20 2d 6f 66 20 64 65 66 61 75 6c 74 3d 6e 6f 70 72 69 6e 74 5f 77 72 61 70 70 65 72 73 3d th.-of.default=noprint_wrappers=
11680 31 3a 6e 6f 6b 65 79 3d 31 20 27 3c 3c 66 3e 3e 27 29 0a 20 20 20 20 20 20 68 65 69 67 68 74 3d 1:nokey=1.'<<f>>').......height=
116a0 24 28 66 66 70 72 6f 62 65 20 2d 76 20 65 72 72 6f 72 20 2d 73 65 6c 65 63 74 5f 73 74 72 65 61 $(ffprobe.-v.error.-select_strea
116c0 6d 73 20 76 3a 30 20 2d 73 68 6f 77 5f 65 6e 74 72 69 65 73 20 73 74 72 65 61 6d 3d 68 65 69 67 ms.v:0.-show_entries.stream=heig
116e0 68 74 20 2d 6f 66 20 64 65 66 61 75 6c 74 3d 6e 6f 70 72 69 6e 74 5f 77 72 61 70 70 65 72 73 3d ht.-of.default=noprint_wrappers=
11700 31 3a 6e 6f 6b 65 79 3d 31 20 27 3c 3c 66 3e 3e 27 29 0a 20 20 20 20 20 20 63 6f 72 6e 65 72 3d 1:nokey=1.'<<f>>').......corner=
11720 24 28 28 24 7b 77 69 64 74 68 7d 2f 34 29 29 0a 20 20 20 20 20 20 65 63 68 6f 20 24 7b 63 6f 72 $((${width}/4)).......echo.${cor
11740 6e 65 72 7d 0a 20 20 20 20 20 20 63 6f 6e 76 65 72 74 20 2d 73 69 7a 65 20 24 7b 77 69 64 74 68 ner}.......convert.-size.${width
11760 7d 78 24 7b 68 65 69 67 68 74 7d 20 78 63 3a 6e 6f 6e 65 20 2d 66 69 6c 6c 20 77 68 69 74 65 20 }x${height}.xc:none.-fill.white.
11780 2d 64 72 61 77 20 5c 22 72 6f 75 6e 64 52 65 63 74 61 6e 67 6c 65 20 30 2c 30 20 24 7b 77 69 64 -draw.\"roundRectangle.0,0.${wid
117a0 74 68 7d 2c 24 7b 68 65 69 67 68 74 7d 20 24 7b 63 6f 72 6e 65 72 7d 2c 24 7b 63 6f 72 6e 65 72 th},${height}.${corner},${corner
117c0 7d 5c 22 20 27 3c 3c 66 3e 3e 27 20 2d 63 6f 6d 70 6f 73 65 20 53 72 63 49 6e 20 2d 63 6f 6d 70 }\".'<<f>>'.-compose.SrcIn.-comp
117e0 6f 73 69 74 65 20 27 3c 3c 66 6e 65 3e 3e 5f 69 6f 73 5f 72 6f 75 6e 64 2e 3c 3c 65 3e 3e 27 22 osite.'<<fne>>_ios_round.<<e>>'"
11800 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 66 66 70 72 6f 62 65 22 20 22 63 6f 6e 76 65 72 74 22 ....:utils.'("ffprobe"."convert"
11820 29 29 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 64 77 69 6d 2d )))..;;;###autoload.(defun.dwim-
11840 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 63 6c 69 70 2d 72 6f 75 6e 64 2d 72 65 63 74 2d 67 shell-commands-clip-round-rect-g
11860 69 66 20 28 29 0a 20 20 22 43 6c 69 70 20 67 69 66 28 73 29 20 77 69 74 68 20 72 6f 75 6e 64 20 if.()..."Clip.gif(s).with.round.
11880 72 65 63 74 61 6e 67 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 rectangle."...(interactive)...(d
118a0 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 wim-shell-command-on-marked-file
118c0 73 0a 20 20 20 22 43 6c 69 70 20 72 6f 75 6e 64 20 72 65 63 74 20 67 69 66 28 73 29 22 0a 20 20 s...."Clip.round.rect.gif(s)"...
118e0 20 22 77 69 64 74 68 3d 24 28 66 66 70 72 6f 62 65 20 2d 76 20 65 72 72 6f 72 20 2d 73 65 6c 65 ."width=$(ffprobe.-v.error.-sele
11900 63 74 5f 73 74 72 65 61 6d 73 20 76 3a 30 20 2d 73 68 6f 77 5f 65 6e 74 72 69 65 73 20 73 74 72 ct_streams.v:0.-show_entries.str
11920 65 61 6d 3d 77 69 64 74 68 20 2d 6f 66 20 64 65 66 61 75 6c 74 3d 6e 6f 70 72 69 6e 74 5f 77 72 eam=width.-of.default=noprint_wr
11940 61 70 70 65 72 73 3d 31 3a 6e 6f 6b 65 79 3d 31 20 27 3c 3c 66 3e 3e 27 29 0a 20 20 20 20 68 65 appers=1:nokey=1.'<<f>>').....he
11960 69 67 68 74 3d 24 28 66 66 70 72 6f 62 65 20 2d 76 20 65 72 72 6f 72 20 2d 73 65 6c 65 63 74 5f ight=$(ffprobe.-v.error.-select_
11980 73 74 72 65 61 6d 73 20 76 3a 30 20 2d 73 68 6f 77 5f 65 6e 74 72 69 65 73 20 73 74 72 65 61 6d streams.v:0.-show_entries.stream
119a0 3d 68 65 69 67 68 74 20 2d 6f 66 20 64 65 66 61 75 6c 74 3d 6e 6f 70 72 69 6e 74 5f 77 72 61 70 =height.-of.default=noprint_wrap
119c0 70 65 72 73 3d 31 3a 6e 6f 6b 65 79 3d 31 20 27 3c 3c 66 3e 3e 27 29 0a 20 20 20 20 63 6f 6e 76 pers=1:nokey=1.'<<f>>').....conv
119e0 65 72 74 20 2d 71 75 69 65 74 20 2d 73 69 7a 65 20 5c 22 24 7b 77 69 64 74 68 7d 78 24 7b 68 65 ert.-quiet.-size.\"${width}x${he
11a00 69 67 68 74 7d 5c 22 20 78 63 3a 6e 6f 6e 65 20 2d 66 69 6c 6c 20 62 6c 61 63 6b 20 2d 64 72 61 ight}\".xc:none.-fill.black.-dra
11a20 77 20 5c 22 72 6f 75 6e 64 52 65 63 74 61 6e 67 6c 65 20 30 2c 30 2c 24 7b 77 69 64 74 68 7d 2c w.\"roundRectangle.0,0,${width},
11a40 24 7b 68 65 69 67 68 74 7d 20 3c 3c 57 69 64 74 68 20 77 69 64 74 68 3a 32 37 3e 3e 2c 3c 3c 57 ${height}.<<Width.width:27>>,<<W
11a60 69 64 74 68 20 77 69 64 74 68 3a 32 37 3e 3e 5c 22 20 27 3c 3c 74 64 3e 3e 2f 6d 61 73 6b 2e 70 idth.width:27>>\".'<<td>>/mask.p
11a80 6e 67 27 0a 20 20 20 20 63 6f 6e 76 65 72 74 20 20 27 3c 3c 66 3e 3e 27 20 2d 63 6f 61 6c 65 73 ng'.....convert..'<<f>>'.-coales
11aa0 63 65 20 2d 62 61 63 6b 67 72 6f 75 6e 64 20 62 6c 61 63 6b 20 2d 61 6c 70 68 61 20 72 65 6d 6f ce.-background.black.-alpha.remo
11ac0 76 65 20 2d 61 6c 70 68 61 20 6f 66 66 20 27 3c 3c 74 64 3e 3e 2f 6e 6f 5f 61 6c 70 68 61 2e 3c ve.-alpha.off.'<<td>>/no_alpha.<
11ae0 3c 65 3e 3e 27 0a 20 20 20 20 23 20 68 74 74 70 73 3a 2f 2f 73 74 61 63 6b 6f 76 65 72 66 6c 6f <e>>'.....#.https://stackoverflo
11b00 77 2e 63 6f 6d 2f 61 2f 36 36 39 39 30 31 33 35 0a 20 20 20 20 63 6f 6e 76 65 72 74 20 27 3c 3c w.com/a/66990135.....convert.'<<
11b20 74 64 3e 3e 2f 6e 6f 5f 61 6c 70 68 61 2e 3c 3c 65 3e 3e 27 20 2d 71 75 69 65 74 20 2d 63 6f 61 td>>/no_alpha.<<e>>'.-quiet.-coa
11b40 6c 65 73 63 65 20 2d 61 6c 70 68 61 20 65 78 74 72 61 63 74 20 6e 75 6c 6c 3a 20 5c 5c 28 20 27 lesce.-alpha.extract.null:.\\(.'
11b60 3c 3c 74 64 3e 3e 2f 6d 61 73 6b 2e 70 6e 67 27 20 2d 61 6c 70 68 61 20 65 78 74 72 61 63 74 20 <<td>>/mask.png'.-alpha.extract.
11b80 5c 5c 29 20 2d 63 6f 6d 70 6f 73 65 20 6d 75 6c 74 69 70 6c 79 20 2d 6c 61 79 65 72 73 20 63 6f \\).-compose.multiply.-layers.co
11ba0 6d 70 6f 73 69 74 65 20 27 3c 3c 74 64 3e 3e 2f 61 6c 70 68 61 2e 67 69 66 27 0a 20 20 20 20 63 mposite.'<<td>>/alpha.gif'.....c
11bc0 6f 6e 76 65 72 74 20 27 3c 3c 74 64 3e 3e 2f 6e 6f 5f 61 6c 70 68 61 2e 3c 3c 65 3e 3e 27 20 6e onvert.'<<td>>/no_alpha.<<e>>'.n
11be0 75 6c 6c 3a 20 27 3c 3c 74 64 3e 3e 2f 61 6c 70 68 61 2e 67 69 66 27 20 2d 71 75 69 65 74 20 2d ull:.'<<td>>/alpha.gif'.-quiet.-
11c00 61 6c 70 68 61 20 6f 66 66 20 2d 63 6f 6d 70 6f 73 65 20 63 6f 70 79 5f 6f 70 61 63 69 74 79 20 alpha.off.-compose.copy_opacity.
11c20 2d 6c 61 79 65 72 73 20 63 6f 6d 70 6f 73 69 74 65 20 27 3c 3c 66 6e 65 3e 3e 5f 72 6f 75 6e 64 -layers.composite.'<<fne>>_round
11c40 65 64 2e 3c 3c 65 3e 3e 27 0a 20 20 20 20 23 20 54 75 72 6e 20 6c 6f 6f 70 69 6e 67 20 6f 6e 2e ed.<<e>>'.....#.Turn.looping.on.
11c60 0a 20 20 20 20 6d 6f 67 72 69 66 79 20 2d 6c 6f 6f 70 20 30 20 27 3c 3c 66 6e 65 3e 3e 5f 72 6f .....mogrify.-loop.0.'<<fne>>_ro
11c80 75 6e 64 65 64 2e 3c 3c 65 3e 3e 27 0a 20 20 20 20 67 69 66 73 69 63 6c 65 20 2d 4f 33 20 20 27 unded.<<e>>'.....gifsicle.-O3..'
11ca0 3c 3c 66 6e 65 3e 3e 5f 72 6f 75 6e 64 65 64 2e 3c 3c 65 3e 3e 27 20 2d 2d 6c 6f 73 73 79 3d 38 <<fne>>_rounded.<<e>>'.--lossy=8
11cc0 30 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 5f 72 6f 75 6e 64 65 64 2e 3c 3c 65 3e 3e 27 22 0a 20 20 0.-o.'<<fne>>_rounded.<<e>>'"...
11ce0 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 67 69 66 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 .:extensions."gif"....:utils.'("
11d00 66 66 70 72 6f 62 65 22 20 22 63 6f 6e 76 65 72 74 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 ffprobe"."convert")))..;;;###aut
11d20 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 oload.(defun.dwim-shell-commands
11d40 2d 72 65 73 69 7a 65 2d 67 69 66 20 28 29 0a 20 20 22 52 65 73 69 7a 65 20 6d 61 72 6b 65 64 20 -resize-gif.()..."Resize.marked.
11d60 67 69 66 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d gif(s)."...(interactive)...(dwim
11d80 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 -shell-command-on-marked-files..
11da0 20 20 22 52 65 73 69 7a 65 20 6d 61 72 6b 65 64 20 67 69 66 28 73 29 22 0a 20 20 20 22 67 69 66 .."Resize.marked.gif(s)"...."gif
11dc0 73 69 63 6c 65 20 2d 2d 73 63 61 6c 65 20 3c 3c 53 63 61 6c 69 6e 67 20 66 61 63 74 6f 72 3a 30 sicle.--scale.<<Scaling.factor:0
11de0 2e 35 3e 3e 20 27 3c 3c 66 3e 3e 27 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e 5f 78 3c 3c 53 63 61 6c .5>>.'<<f>>'.-o.'<<fne>>_x<<Scal
11e00 69 6e 67 20 66 61 63 74 6f 72 3a 30 2e 35 3e 3e 2e 67 69 66 27 22 0a 20 20 20 3a 65 78 74 65 6e ing.factor:0.5>>.gif'"....:exten
11e20 73 69 6f 6e 73 20 22 67 69 66 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 67 69 66 73 69 63 6c 65 22 sions."gif"....:utils."gifsicle"
11e40 29 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 64 77 69 6d 2d 73 ))..;;;###autoload.(defun.dwim-s
11e60 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 65 70 75 62 2d 74 6f 2d 6f 72 67 20 28 29 0a 20 20 22 hell-commands-epub-to-org.()..."
11e80 43 6f 6e 76 65 72 74 20 65 70 75 62 28 73 29 20 74 6f 20 6f 72 67 2e 22 0a 20 20 28 69 6e 74 65 Convert.epub(s).to.org."...(inte
11ea0 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f ractive)...(dwim-shell-command-o
11ec0 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 65 70 75 62 20 74 6f 20 6f 72 67 22 0a n-marked-files...."epub.to.org".
11ee0 20 20 20 22 70 61 6e 64 6f 63 20 2d 2d 66 72 6f 6d 3d 65 70 75 62 20 2d 2d 74 6f 3d 6f 72 67 20 ..."pandoc.--from=epub.--to=org.
11f00 27 3c 3c 66 3e 3e 27 20 3e 20 27 3c 3c 66 6e 65 3e 3e 2e 6f 72 67 27 22 0a 20 20 20 3a 65 78 74 '<<f>>'.>.'<<fne>>.org'"....:ext
11f20 65 6e 73 69 6f 6e 73 20 22 65 70 75 62 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 70 61 6e 64 6f 63 ensions."epub"....:utils."pandoc
11f40 22 29 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 64 77 69 6d 2d "))..;;;###autoload.(defun.dwim-
11f60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 64 6f 63 78 2d 74 6f 2d 70 64 66 20 28 29 0a 20 20 shell-commands-docx-to-pdf.()...
11f80 22 43 6f 6e 76 65 72 74 20 64 6f 63 78 28 73 29 20 74 6f 20 70 64 66 20 28 76 69 61 20 6c 61 74 "Convert.docx(s).to.pdf.(via.lat
11fa0 65 78 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 ex)."...(interactive)...(dwim-sh
11fc0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 ell-command-on-marked-files...."
11fe0 64 6f 63 78 20 74 6f 20 70 64 66 20 28 76 69 61 20 6c 61 74 65 78 29 22 0a 20 20 20 22 70 61 6e docx.to.pdf.(via.latex)"...."pan
12000 64 6f 63 20 2d 74 20 6c 61 74 65 78 20 27 3c 3c 66 3e 3e 27 20 2d 6f 20 27 3c 3c 66 6e 65 3e 3e doc.-t.latex.'<<f>>'.-o.'<<fne>>
12020 2e 70 64 66 27 22 0a 20 20 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 64 6f 63 78 22 20 3b 3b 20 .pdf'"....:extensions."docx".;;.
12040 62 72 65 77 20 69 6e 73 74 61 6c 6c 20 6d 61 63 74 65 78 0a 20 20 20 3a 75 74 69 6c 73 20 22 70 brew.install.mactex....:utils."p
12060 64 66 6c 61 74 65 78 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 dflatex"))..;;;###autoload.(defu
12080 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6b 69 6c 6c 2d 70 72 6f 63 65 n.dwim-shell-commands-kill-proce
120a0 73 73 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 61 6e 64 20 6b 69 6c 6c 20 70 72 6f 63 65 73 73 ss.()..."Select.and.kill.process
120c0 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 70 69 64 ."...(interactive)...(let*.((pid
120e0 2d 77 69 64 74 68 20 35 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 2d 77 69 64 74 68 20 32 -width.5)..........(comm-width.2
12100 35 29 0a 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 77 69 64 74 68 20 31 30 29 0a 20 20 20 20 5)..........(user-width.10).....
12120 20 20 20 20 20 28 70 72 6f 63 65 73 73 65 73 20 28 70 72 6f 63 65 64 2d 70 72 6f 63 65 73 73 2d .....(processes.(proced-process-
12140 61 74 74 72 69 62 75 74 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6e 64 69 64 61 74 65 attributes))..........(candidate
12160 73 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 61 74 74 s...........(mapcar.(lambda.(att
12180 72 69 62 75 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 ributes).....................(le
121a0 74 2a 20 28 28 70 72 6f 63 65 73 73 20 28 63 64 72 20 61 74 74 72 69 62 75 74 65 73 29 29 0a 20 t*.((process.(cdr.attributes))..
121c0 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 69 64 20 28 ..........................(pid.(
121e0 66 6f 72 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 25 64 73 22 20 70 69 64 2d 77 69 64 74 68 format.(format."%%%ds".pid-width
12200 29 20 28 6d 61 70 2d 65 6c 74 20 70 72 6f 63 65 73 73 20 27 70 69 64 29 29 29 0a 20 20 20 20 20 ).(map-elt.process.'pid)))......
12220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 20 28 66 6f 72 ......................(user.(for
12240 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 2d 25 64 73 22 20 75 73 65 72 2d 77 69 64 74 68 29 mat.(format."%%-%ds".user-width)
12260 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
12280 20 20 20 20 20 20 20 20 20 20 28 74 72 75 6e 63 61 74 65 2d 73 74 72 69 6e 67 2d 74 6f 2d 77 69 ..........(truncate-string-to-wi
122a0 64 74 68 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 dth.............................
122c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 2d 65 6c 74 20 70 72 6f 63 65 73 73 20 27 ..............(map-elt.process.'
122e0 75 73 65 72 29 20 75 73 65 72 2d 77 69 64 74 68 20 6e 69 6c 20 6e 69 6c 20 74 29 29 29 0a 20 20 user).user-width.nil.nil.t)))...
12300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 20 28 .........................(comm.(
12320 66 6f 72 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 2d 25 64 73 22 20 63 6f 6d 6d 2d 77 69 64 format.(format."%%-%ds".comm-wid
12340 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th).............................
12360 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 75 6e 63 61 74 65 2d 73 74 72 69 6e 67 2d 74 6f .............(truncate-string-to
12380 2d 77 69 64 74 68 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 -width..........................
123a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 2d 65 6c 74 20 70 72 6f 63 65 73 .................(map-elt.proces
123c0 73 20 27 63 6f 6d 6d 29 20 63 6f 6d 6d 2d 77 69 64 74 68 20 6e 69 6c 20 6e 69 6c 20 74 29 29 29 s.'comm).comm-width.nil.nil.t)))
123e0 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 61 72 67 ............................(arg
12400 73 2d 77 69 64 74 68 20 28 2d 20 28 77 69 6e 64 6f 77 2d 77 69 64 74 68 29 20 28 2b 20 70 69 64 s-width.(-.(window-width).(+.pid
12420 2d 77 69 64 74 68 20 75 73 65 72 2d 77 69 64 74 68 20 63 6f 6d 6d 2d 77 69 64 74 68 20 33 29 29 -width.user-width.comm-width.3))
12440 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 28 61 72 )............................(ar
12460 67 73 20 28 6d 61 70 2d 65 6c 74 20 70 72 6f 63 65 73 73 20 27 61 72 67 73 29 29 29 0a 20 20 20 gs.(map-elt.process.'args)))....
12480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 69 66 20 61 72 67 ...................(cons.(if.arg
124a0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s...............................
124c0 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 25 73 20 25 73 20 25 73 22 20 70 69 64 20 75 73 65 72 ..(format."%s.%s.%s.%s".pid.user
124e0 20 63 6f 6d 6d 20 28 74 72 75 6e 63 61 74 65 2d 73 74 72 69 6e 67 2d 74 6f 2d 77 69 64 74 68 20 .comm.(truncate-string-to-width.
12500 61 72 67 73 20 61 72 67 73 2d 77 69 64 74 68 20 6e 69 6c 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 args.args-width.nil.nil.t)).....
12520 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 6f 72 6d 61 ..........................(forma
12540 74 20 22 25 73 20 25 73 20 25 73 22 20 70 69 64 20 75 73 65 72 20 63 6f 6d 6d 29 29 0a 20 20 20 t."%s.%s.%s".pid.user.comm))....
12560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 .........................process
12580 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 65 73 29 )))...................processes)
125a0 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 6c 65 63 74 69 6f 6e 20 28 6d 61 70 2d 65 6c 74 20 63 )..........(selection.(map-elt.c
125c0 61 6e 64 69 64 61 74 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 andidates.......................
125e0 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 6b 69 6c 6c 20 70 72 .......(completing-read."kill.pr
12600 6f 63 65 73 73 3a 20 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 ocess:."........................
12620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 73 6f 72 74 .......................(seq-sort
12640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
12660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 31 20 70 32 29 0a ................(lambda.(p1.p2).
12680 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 ................................
126a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 28 .................(string-lessp.(
126c0 6e 74 68 20 32 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 73 74 72 69 6e 67 2d 74 72 69 6d nth.2.(split-string.(string-trim
126e0 20 28 63 61 72 20 70 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(car.p1))))....................
12700 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 ................................
12720 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 32 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 ............(nth.2.(split-string
12740 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 28 63 61 72 20 70 32 29 29 29 29 29 29 0a 20 20 20 20 .(string-trim.(car.p2)))))).....
12760 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 ................................
12780 20 20 20 20 20 20 20 20 20 20 20 63 61 6e 64 69 64 61 74 65 73 29 20 6e 69 6c 20 74 29 29 29 0a ...........candidates).nil.t))).
127a0 20 20 20 20 20 20 20 20 20 28 70 72 6f 6d 70 74 2d 74 69 74 6c 65 20 28 66 6f 72 6d 61 74 20 22 .........(prompt-title.(format."
127c0 25 73 20 25 73 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %s.%s.%s".......................
127e0 20 20 20 20 20 20 20 20 20 28 6d 61 70 2d 65 6c 74 20 73 65 6c 65 63 74 69 6f 6e 20 27 70 69 64 .........(map-elt.selection.'pid
12800 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 20 )...............................
12820 20 28 6d 61 70 2d 65 6c 74 20 73 65 6c 65 63 74 69 6f 6e 20 27 75 73 65 72 29 0a 20 20 20 20 20 .(map-elt.selection.'user)......
12840 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 6d 61 70 2d 65 ..........................(map-e
12860 6c 74 20 73 65 6c 65 63 74 69 6f 6e 20 27 63 6f 6d 6d 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e lt.selection.'comm)))).....(when
12880 20 28 79 2d 6f 72 2d 6e 2d 70 20 28 66 6f 72 6d 61 74 20 22 4b 69 6c 6c 20 25 73 3f 22 20 70 72 .(y-or-n-p.(format."Kill.%s?".pr
128a0 6f 6d 70 74 2d 74 69 74 6c 65 29 29 0a 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ompt-title)).......(dwim-shell-c
128c0 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 28 66 ommand-on-marked-files........(f
128e0 6f 72 6d 61 74 20 22 4b 69 6c 6c 20 25 73 22 20 70 72 6f 6d 70 74 2d 74 69 74 6c 65 29 0a 20 20 ormat."Kill.%s".prompt-title)...
12900 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 6b 69 6c 6c 20 2d 39 20 25 64 22 20 28 6d 61 70 2d 65 .....(format."kill.-9.%d".(map-e
12920 6c 74 20 73 65 6c 65 63 74 69 6f 6e 20 27 70 69 64 29 29 0a 20 20 20 20 20 20 20 3a 75 74 69 6c lt.selection.'pid))........:util
12940 73 20 22 6b 69 6c 6c 22 0a 20 20 20 20 20 20 20 3a 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 73 s."kill"........:error-autofocus
12960 20 74 0a 20 20 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 29 29 29 29 0a .t........:silent-success.t)))).
12980 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c .;;;###autoload.(defun.dwim-shel
129a0 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 61 64 64 2d 74 6f 2d 70 68 6f 74 6f 73 20 28 l-commands-macos-add-to-photos.(
129c0 29 0a 20 20 22 41 64 64 20 74 6f 20 50 68 6f 74 6f 73 2e 61 70 70 2e 22 0a 20 20 28 69 6e 74 65 )..."Add.to.Photos.app."...(inte
129e0 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f ractive)...(dwim-shell-command-o
12a00 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 41 64 64 20 74 6f 20 50 68 6f 74 6f 73 n-marked-files...."Add.to.Photos
12a20 2e 61 70 70 22 0a 20 20 20 22 6f 73 61 73 63 72 69 70 74 20 3c 3c 45 4f 46 0a 20 20 74 65 6c 6c .app"...."osascript.<<EOF...tell
12a40 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 5c 22 50 68 6f 74 6f 73 5c 22 0a 20 20 20 20 69 6d 70 6f .application.\"Photos\".....impo
12a60 72 74 20 50 4f 53 49 58 20 66 69 6c 65 20 5c 22 3c 3c 66 3e 3e 5c 22 0a 20 20 65 6e 64 20 74 65 rt.POSIX.file.\"<<f>>\"...end.te
12a80 6c 6c 0a 45 4f 46 22 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 ll.EOF"....:silent-success.t....
12aa0 3a 75 74 69 6c 73 20 22 6f 73 61 73 63 72 69 70 74 22 0a 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 :utils."osascript"....:on-comple
12ac0 74 69 6f 6e 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 tion.(lambda.(buffer.process)...
12ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 73 75 63 63 ..................(if-let.((succ
12b00 65 73 73 20 28 3d 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 72 6f 63 ess.(=.(process-exit-status.proc
12b20 65 73 73 29 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ess).0))).......................
12b40 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(progn........................
12b60 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 ...(kill-buffer.buffer).........
12b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 72 74 2d 70 72 6f 63 65 73 73 ..................(start-process
12ba0 20 22 4f 70 65 6e 20 50 68 6f 74 6f 73 22 20 6e 69 6c 20 22 6f 70 65 6e 22 20 22 2d 61 22 20 22 ."Open.Photos".nil."open"."-a"."
12bc0 50 68 6f 74 6f 73 22 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 Photos")).......................
12be0 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 29 0a 0a 3b (switch-to-buffer.buffer)))))..;
12c00 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ;;###autoload.(defun.dwim-shell-
12c20 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 74 6f 67 67 6c 65 2d 62 6c 75 65 74 6f 6f 74 68 2d commands-macos-toggle-bluetooth-
12c40 64 65 76 69 63 65 2d 63 6f 6e 6e 65 63 74 69 6f 6e 20 28 29 0a 20 20 22 54 6f 67 67 6c 65 20 42 device-connection.()..."Toggle.B
12c60 6c 75 65 74 6f 6f 74 68 20 64 65 76 69 63 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2e 22 0a 20 20 28 luetooth.device.connection."...(
12c80 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 64 65 76 69 63 65 73 20 28 interactive)...(let*.((devices.(
12ca0 73 65 71 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c seq-filter....................(l
12cc0 61 6d 62 64 61 20 28 6c 69 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(line)....................
12ce0 20 20 3b 3b 20 4b 65 65 70 20 6c 69 6e 65 73 20 6c 69 6b 65 3a 20 61 66 2d 38 63 2d 33 62 2d 62 ..;;.Keep.lines.like:.af-8c-3b-b
12d00 31 2d 39 39 2d 61 66 20 2d 20 44 65 76 69 63 65 20 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 1-99-af.-.Device.name...........
12d20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 5b 30 2d ...........(string-match-p."^[0-
12d40 39 61 2d 66 5d 5c 5c 7b 32 5c 5c 7d 22 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 9a-f]\\{2\\}".line))............
12d60 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 ........(with-current-buffer.(ge
12d80 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 22 2a 42 6c 75 65 74 6f 6f 74 68 43 6f 6e 6e 65 t-buffer-create."*BluetoothConne
12da0 63 74 6f 72 2a 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 ctor*")......................(er
12dc0 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ase-buffer).....................
12de0 20 3b 3b 20 42 6c 75 65 74 6f 6f 74 68 43 6f 6e 6e 65 63 74 6f 72 20 65 78 69 74 73 20 77 69 74 .;;.BluetoothConnector.exits.wit
12e00 68 20 36 34 20 69 66 20 6e 6f 20 70 61 72 61 6d 20 69 73 20 67 69 76 65 6e 2e 0a 20 20 20 20 20 h.64.if.no.param.is.given.......
12e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 76 6f 6b 65 20 77 69 74 68 20 6e ................;;.Invoke.with.n
12e40 6f 20 70 61 72 61 6d 73 20 74 6f 20 67 65 74 20 61 20 6c 69 73 74 20 6f 66 20 64 65 76 69 63 65 o.params.to.get.a.list.of.device
12e60 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 s.......................(unless.
12e80 28 65 71 20 36 34 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 42 6c 75 65 74 6f 6f 74 68 43 (eq.64.(call-process."BluetoothC
12ea0 6f 6e 6e 65 63 74 6f 72 22 20 6e 69 6c 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 onnector".nil.(current-buffer)))
12ec0 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 6b 69 6c 6c 2d 62 75 ........................(kill-bu
12ee0 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 ffer.(current-buffer))..........
12f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 28 62 75 66 66 65 72 2d 73 74 72 ..............(error.(buffer-str
12f20 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 ing)))......................(let
12f40 20 28 28 6c 69 6e 65 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 62 75 66 66 65 72 2d 73 .((lines.(split-string.(buffer-s
12f60 74 72 69 6e 67 29 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring)."\n")))..................
12f80 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 ......(kill-buffer.(current-buff
12fa0 65 72 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 6c 69 6e 65 er))........................line
12fc0 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 6e 64 69 64 61 74 65 73 20 28 6d 61 70 63 s))))..........(candidates.(mapc
12fe0 61 72 20 28 6c 61 6d 62 64 61 20 28 64 65 76 69 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ar.(lambda.(device).............
13000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 6b 65 79 20 28 64 65 76 69 63 ...................;;.key.(devic
13020 65 20 6e 61 6d 65 29 20 3a 20 76 61 6c 75 65 20 28 61 64 64 72 65 73 73 29 0a 20 20 20 20 20 20 e.name).:.value.(address).......
13040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 .........................(cons.(
13060 6e 74 68 20 31 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 64 65 76 69 63 65 20 22 20 2d 20 22 nth.1.(split-string.device.".-."
13080 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 ))..............................
130a0 20 20 20 20 20 20 20 20 28 6e 74 68 20 30 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 64 65 76 ........(nth.0.(split-string.dev
130c0 69 63 65 20 22 20 2d 20 22 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ice.".-."))))...................
130e0 20 20 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 ...........devices))..........(s
13100 65 6c 65 63 74 65 64 2d 6e 61 6d 65 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 54 elected-name.(completing-read."T
13120 6f 67 67 6c 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 3a 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 oggle.connection:.".............
13140 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 73 65 .............................(se
13160 71 2d 73 6f 72 74 20 23 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 63 61 6e 64 69 64 61 74 65 73 q-sort.#'string-lessp.candidates
13180 29 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 64 64 72 65 73 73 20 28 6d 61 70 ).nil.t))..........(address.(map
131a0 2d 65 6c 74 20 63 61 6e 64 69 64 61 74 65 73 20 73 65 6c 65 63 74 65 64 2d 6e 61 6d 65 29 29 29 -elt.candidates.selected-name)))
131c0 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b .....(dwim-shell-command-on-mark
131e0 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 54 6f 67 67 6c 65 20 25 73 ed-files......(format."Toggle.%s
13200 22 20 73 65 6c 65 63 74 65 64 2d 6e 61 6d 65 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 42 ".selected-name)......(format."B
13220 6c 75 65 74 6f 6f 74 68 43 6f 6e 6e 65 63 74 6f 72 20 25 73 20 2d 2d 6e 6f 74 69 66 79 22 20 61 luetoothConnector.%s.--notify".a
13240 64 64 72 65 73 73 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 42 6c 75 65 74 6f 6f 74 68 43 6f ddress)......:utils."BluetoothCo
13260 6e 6e 65 63 74 6f 72 22 0a 20 20 20 20 20 3b 3b 20 3a 65 72 72 6f 72 2d 61 75 74 6f 66 6f 63 75 nnector"......;;.:error-autofocu
13280 73 20 74 0a 20 20 20 20 20 3b 3b 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 s.t......;;.:silent-success.t...
132a0 20 20 20 29 29 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 64 77 ...)))..;;;###autoload.(defun.dw
132c0 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 62 69 6e 2d 70 6c 69 73 im-shell-commands-macos-bin-plis
132e0 74 2d 74 6f 2d 78 6d 6c 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 62 69 6e 61 72 79 20 70 6c t-to-xml.()..."Convert.binary.pl
13300 69 73 74 20 74 6f 20 78 6d 6c 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 ist.to.xml."...(interactive)...(
13320 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c dwim-shell-command-on-marked-fil
13340 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 62 69 6e 61 72 79 20 70 6c 69 73 74 20 74 6f 20 78 es...."Convert.binary.plist.to.x
13360 6d 6c 22 0a 20 20 20 22 70 6c 75 74 69 6c 20 2d 63 6f 6e 76 65 72 74 20 78 6d 6c 31 20 2d 6f 20 ml"...."plutil.-convert.xml1.-o.
13380 27 3c 3c 66 6e 65 3e 3e 2e 78 6d 6c 27 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 '<<fne>>.xml'.'<<f>>'"....:utils
133a0 20 22 70 6c 75 74 69 6c 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 ."plutil"))..;;;###autoload.(def
133c0 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 74 6f 67 un.dwim-shell-commands-macos-tog
133e0 67 6c 65 2d 64 61 72 6b 2d 6d 6f 64 65 20 28 29 0a 20 20 22 54 6f 67 67 6c 65 20 6d 61 63 4f 53 gle-dark-mode.()..."Toggle.macOS
13400 20 64 61 72 6b 20 6d 6f 64 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 .dark.mode."...(interactive)...(
13420 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c dwim-shell-command-on-marked-fil
13440 65 73 0a 20 20 20 22 54 6f 67 67 6c 65 20 64 61 72 6b 20 6d 6f 64 65 22 0a 20 20 20 22 64 61 72 es...."Toggle.dark.mode"...."dar
13460 6b 2d 6d 6f 64 65 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 64 61 72 6b 2d 6d 6f 64 65 22 20 3b 3b k-mode"....:utils."dark-mode".;;
13480 20 62 72 65 77 20 69 6e 73 74 61 6c 6c 20 64 61 72 6b 2d 6d 6f 64 65 0a 20 20 20 3a 73 69 6c 65 .brew.install.dark-mode....:sile
134a0 6e 74 2d 73 75 63 63 65 73 73 20 74 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 nt-success.t))..;;;###autoload.(
134c0 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d defun.dwim-shell-commands-macos-
134e0 74 6f 67 67 6c 65 2d 6d 65 6e 75 2d 62 61 72 2d 61 75 74 6f 68 69 64 65 20 28 29 0a 20 20 22 54 toggle-menu-bar-autohide.()..."T
13500 6f 67 67 6c 65 20 6d 61 63 4f 53 20 64 61 72 6b 20 6d 6f 64 65 2e 22 0a 20 20 28 69 6e 74 65 72 oggle.macOS.dark.mode."...(inter
13520 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e active)...(dwim-shell-command-on
13540 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 54 6f 67 67 6c 65 20 6d 65 6e 75 20 62 61 -marked-files...."Toggle.menu.ba
13560 72 20 61 75 74 6f 2d 68 69 64 65 2e 22 0a 20 20 20 22 63 75 72 72 65 6e 74 5f 73 74 61 74 75 73 r.auto-hide."...."current_status
13580 3d 24 28 6f 73 61 73 63 72 69 70 74 20 2d 65 20 27 74 65 6c 6c 20 61 70 70 6c 69 63 61 74 69 6f =$(osascript.-e.'tell.applicatio
135a0 6e 20 5c 22 53 79 73 74 65 6d 20 45 76 65 6e 74 73 5c 22 20 74 6f 20 67 65 74 20 61 75 74 6f 68 n.\"System.Events\".to.get.autoh
135c0 69 64 65 20 6d 65 6e 75 20 62 61 72 20 6f 66 20 64 6f 63 6b 20 70 72 65 66 65 72 65 6e 63 65 73 ide.menu.bar.of.dock.preferences
135e0 27 29 0a 0a 69 66 20 5b 20 5c 22 24 63 75 72 72 65 6e 74 5f 73 74 61 74 75 73 5c 22 20 3d 20 5c ')..if.[.\"$current_status\".=.\
13600 22 74 72 75 65 5c 22 20 5d 3b 20 74 68 65 6e 0a 20 20 20 20 6f 73 61 73 63 72 69 70 74 20 2d 65 "true\".];.then.....osascript.-e
13620 20 27 74 65 6c 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 5c 22 53 79 73 74 65 6d 20 45 76 65 6e .'tell.application.\"System.Even
13640 74 73 5c 22 20 74 6f 20 73 65 74 20 61 75 74 6f 68 69 64 65 20 6d 65 6e 75 20 62 61 72 20 6f 66 ts\".to.set.autohide.menu.bar.of
13660 20 64 6f 63 6b 20 70 72 65 66 65 72 65 6e 63 65 73 20 74 6f 20 66 61 6c 73 65 27 0a 20 20 20 20 .dock.preferences.to.false'.....
13680 65 63 68 6f 20 5c 22 41 75 74 6f 2d 68 69 64 65 20 64 69 73 61 62 6c 65 64 2e 5c 22 0a 65 6c 73 echo.\"Auto-hide.disabled.\".els
136a0 65 0a 20 20 20 20 6f 73 61 73 63 72 69 70 74 20 2d 65 20 27 74 65 6c 6c 20 61 70 70 6c 69 63 61 e.....osascript.-e.'tell.applica
136c0 74 69 6f 6e 20 5c 22 53 79 73 74 65 6d 20 45 76 65 6e 74 73 5c 22 20 74 6f 20 73 65 74 20 61 75 tion.\"System.Events\".to.set.au
136e0 74 6f 68 69 64 65 20 6d 65 6e 75 20 62 61 72 20 6f 66 20 64 6f 63 6b 20 70 72 65 66 65 72 65 6e tohide.menu.bar.of.dock.preferen
13700 63 65 73 20 74 6f 20 74 72 75 65 27 0a 20 20 20 20 65 63 68 6f 20 5c 22 41 75 74 6f 2d 68 69 64 ces.to.true'.....echo.\"Auto-hid
13720 65 20 65 6e 61 62 6c 65 64 2e 5c 22 0a 66 69 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 6f 73 61 73 e.enabled.\".fi"....:utils."osas
13740 63 72 69 70 74 22 0a 20 20 20 3a 73 68 65 6c 6c 2d 75 74 69 6c 20 22 7a 73 68 22 0a 20 20 20 3a cript"....:shell-util."zsh"....:
13760 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f silent-success.t))..;;;###autolo
13780 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 70 64 ad.(defun.dwim-shell-commands-pd
137a0 66 2d 74 6f 2d 74 78 74 20 28 29 0a 20 20 22 43 6f 6e 76 65 72 74 20 70 64 66 20 74 6f 20 74 78 f-to-txt.()..."Convert.pdf.to.tx
137c0 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c t."...(interactive)...(dwim-shel
137e0 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 70 64 l-command-on-marked-files...."pd
13800 66 20 74 6f 20 74 78 74 22 0a 20 20 20 22 70 64 66 74 6f 74 65 78 74 20 2d 6c 61 79 6f 75 74 20 f.to.txt"...."pdftotext.-layout.
13820 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 2e 74 78 74 27 22 0a 20 20 20 3a 75 74 69 6c 73 '<<f>>'.'<<fne>>.txt'"....:utils
13840 20 22 70 64 66 74 6f 74 65 78 74 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 ."pdftotext"))..;;;###autoload.(
13860 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 72 65 73 69 7a 65 defun.dwim-shell-commands-resize
13880 2d 69 6d 61 67 65 2d 62 79 2d 66 61 63 74 6f 72 20 28 29 0a 20 20 22 52 65 73 69 7a 65 20 6d 61 -image-by-factor.()..."Resize.ma
138a0 72 6b 65 64 20 69 6d 61 67 65 28 73 29 20 62 79 20 66 61 63 74 6f 72 2e 22 0a 20 20 28 69 6e 74 rked.image(s).by.factor."...(int
138c0 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d eractive)...(dwim-shell-command-
138e0 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 52 65 73 69 7a 65 20 69 6d 61 67 65 on-marked-files...."Resize.image
13900 22 0a 20 20 20 28 6c 65 74 20 28 28 66 61 63 74 6f 72 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 "....(let.((factor.(read-number.
13920 22 52 65 73 69 7a 65 20 73 63 61 6c 69 6e 67 20 66 61 63 74 6f 72 3a 20 22 20 30 2e 35 29 29 29 "Resize.scaling.factor:.".0.5)))
13940 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 63 6f 6e 76 65 72 74 20 2d 72 65 73 69 7a 65 20 25 ......(format."convert.-resize.%
13960 25 25 64 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 5f 78 25 2e 32 66 2e 3c 3c 65 3e 3e %%d.'<<f>>'.'<<fne>>_x%.2f.<<e>>
13980 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2a 20 31 30 30 20 66 61 63 74 6f 72 29 20 66 '"..............(*.100.factor).f
139a0 61 63 74 6f 72 29 29 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b actor))....:utils."convert"))..;
139c0 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ;;###autoload.(defun.dwim-shell-
139e0 63 6f 6d 6d 61 6e 64 73 2d 72 65 73 69 7a 65 2d 69 6d 61 67 65 2d 69 6e 2d 70 69 78 65 6c 73 20 commands-resize-image-in-pixels.
13a00 28 29 0a 20 20 22 52 65 73 69 7a 65 20 6d 61 72 6b 65 64 20 69 6d 61 67 65 28 73 29 20 69 6e 20 ()..."Resize.marked.image(s).in.
13a20 70 69 78 65 6c 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d pixels."...(interactive)...(dwim
13a40 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 -shell-command-on-marked-files..
13a60 20 20 22 52 65 73 69 7a 65 20 69 6d 61 67 65 22 0a 20 20 20 28 6c 65 74 20 28 28 77 69 64 74 68 .."Resize.image"....(let.((width
13a80 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 52 65 73 69 7a 65 20 77 69 64 74 68 20 28 70 69 78 .(read-number."Resize.width.(pix
13aa0 65 6c 73 29 3a 20 22 20 35 30 30 29 29 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 63 6f 6e els):.".500)))......(format."con
13ac0 76 65 72 74 20 2d 72 65 73 69 7a 65 20 25 64 78 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e vert.-resize.%dx.'<<f>>'.'<<fne>
13ae0 3e 5f 78 25 64 2e 3c 3c 65 3e 3e 27 22 20 77 69 64 74 68 20 77 69 64 74 68 29 29 0a 20 20 20 3a >_x%d.<<e>>'".width.width))....:
13b00 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 utils."convert"))..;;;###autoloa
13b20 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 70 64 66 d.(defun.dwim-shell-commands-pdf
13b40 2d 70 61 73 73 77 6f 72 64 2d 70 72 6f 74 65 63 74 20 28 29 0a 20 20 22 41 64 64 20 61 20 70 61 -password-protect.()..."Add.a.pa
13b60 73 73 77 6f 72 64 20 74 6f 20 70 64 66 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 ssword.to.pdf(s)."...(interactiv
13b80 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b e)...(dwim-shell-command-on-mark
13ba0 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 50 61 73 73 77 6f 72 64 20 70 72 6f 74 65 63 74 20 70 64 ed-files...."Password.protect.pd
13bc0 66 22 0a 20 20 20 28 66 6f 72 6d 61 74 20 22 71 70 64 66 20 2d 2d 76 65 72 62 6f 73 65 20 2d 2d f"....(format."qpdf.--verbose.--
13be0 65 6e 63 72 79 70 74 20 27 25 73 27 20 27 25 73 27 20 32 35 36 20 2d 2d 20 27 3c 3c 66 3e 3e 27 encrypt.'%s'.'%s'.256.--.'<<f>>'
13c00 20 27 3c 3c 66 6e 65 3e 3e 5f 70 72 6f 74 65 63 74 65 64 2e 3c 3c 65 3e 3e 27 22 0a 20 20 20 20 .'<<fne>>_protected.<<e>>'".....
13c20 20 20 20 20 20 20 20 28 72 65 61 64 2d 70 61 73 73 77 64 20 22 75 73 65 72 2d 70 61 73 73 77 6f .......(read-passwd."user-passwo
13c40 72 64 3a 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 70 61 73 73 77 64 20 22 rd:.")............(read-passwd."
13c60 6f 77 6e 65 72 2d 70 61 73 73 77 6f 72 64 3a 20 22 29 29 0a 20 20 20 3a 75 74 69 6c 73 20 22 71 owner-password:."))....:utils."q
13c80 70 64 66 22 0a 20 20 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 70 64 66 22 29 29 0a 0a 3b 3b 3b pdf"....:extensions."pdf"))..;;;
13ca0 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ###autoload.(defun.dwim-shell-co
13cc0 6d 6d 61 6e 64 73 2d 70 64 66 2d 70 61 73 73 77 6f 72 64 2d 75 6e 70 72 6f 74 65 63 74 20 28 29 mmands-pdf-password-unprotect.()
13ce0 0a 20 20 22 52 65 6d 6f 76 65 20 61 20 70 61 73 73 77 6f 72 64 20 66 72 6f 6d 20 70 64 66 28 73 ..."Remove.a.password.from.pdf(s
13d00 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c )."...(interactive)...(dwim-shel
13d20 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 52 65 l-command-on-marked-files...."Re
13d40 6d 6f 76 65 20 70 72 6f 74 65 63 74 69 6f 6e 20 66 72 6f 6d 20 70 64 66 22 0a 20 20 20 28 66 6f move.protection.from.pdf"....(fo
13d60 72 6d 61 74 20 22 71 70 64 66 20 2d 2d 76 65 72 62 6f 73 65 20 2d 2d 64 65 63 72 79 70 74 20 2d rmat."qpdf.--verbose.--decrypt.-
13d80 2d 70 61 73 73 77 6f 72 64 3d 27 25 73 27 20 2d 2d 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 -password='%s'.--.'<<f>>'.'<<fne
13da0 3e 3e 5f 75 6e 70 72 6f 74 65 63 74 65 64 2e 3c 3c 65 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 20 >>_unprotected.<<e>>'"..........
13dc0 20 20 28 72 65 61 64 2d 70 61 73 73 77 64 20 22 70 61 73 73 77 6f 72 64 3a 20 22 29 29 0a 20 20 ..(read-passwd."password:."))...
13de0 20 3a 75 74 69 6c 73 20 22 71 70 64 66 22 0a 20 20 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 70 .:utils."qpdf"....:extensions."p
13e00 64 66 22 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 df"))..(defun.dwim-shell-command
13e20 73 2d 2d 67 69 66 73 69 63 6c 65 2d 66 72 61 6d 65 73 2d 65 76 65 72 79 20 28 73 6b 69 70 70 69 s--gifsicle-frames-every.(skippi
13e40 6e 67 2d 65 76 65 72 79 20 66 69 6c 65 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 66 72 61 6d 65 ng-every.file)..."Generate.frame
13e60 73 20 53 4b 49 50 50 49 4e 47 2d 45 56 45 52 59 20 63 6f 75 6e 74 20 66 6f 72 20 76 69 64 65 6f s.SKIPPING-EVERY.count.for.video
13e80 20 46 49 4c 45 2e 22 0a 20 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 0a 20 20 20 28 73 65 71 2d 6d .FILE."...(string-join....(seq-m
13ea0 61 70 20 28 6c 61 6d 62 64 61 20 28 6e 29 20 28 66 6f 72 6d 61 74 20 22 27 23 25 64 27 22 20 6e ap.(lambda.(n).(format."'#%d'".n
13ec0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6d 62 65 72 2d 73 65 71 75 65 6e 63 65 20 )).............(number-sequence.
13ee0 30 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 0.(string-to-number.............
13f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 47 65 74 20 74 6f 74 61 6c ....................;;.Get.total
13f20 20 66 72 61 6d 65 73 20 63 6f 75 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .frames.count...................
13f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 66 69 72 73 74 20 28 70 72 6f 63 65 ...............(seq-first.(proce
13f60 73 73 2d 6c 69 6e 65 73 20 22 69 64 65 6e 74 69 66 79 22 20 22 2d 66 6f 72 6d 61 74 22 20 22 25 ss-lines."identify"."-format"."%
13f80 6e 5c 6e 22 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n\n".file)))....................
13fa0 20 20 20 20 20 20 20 20 20 20 73 6b 69 70 70 69 6e 67 2d 65 76 65 72 79 29 29 20 22 20 22 29 29 ..........skipping-every))."."))
13fc0 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 ..;;;###autoload.(defun.dwim-she
13fe0 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 76 69 64 65 6f 2d 74 6f 2d 6d 70 33 20 28 29 0a 20 20 22 43 ll-commands-video-to-mp3.()..."C
14000 6f 6e 76 65 72 74 20 76 69 64 65 6f 28 73 29 20 74 6f 20 6d 70 33 2e 22 0a 20 20 28 69 6e 74 65 onvert.video(s).to.mp3."...(inte
14020 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f ractive)...(dwim-shell-command-o
14040 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 6d 70 n-marked-files...."Convert.to.mp
14060 33 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 76 6e 20 2d 61 62 3"...."ffmpeg.-i.'<<f>>'.-vn.-ab
14080 20 31 32 38 6b 20 2d 61 72 20 34 34 31 30 30 20 2d 79 20 27 3c 3c 66 6e 65 3e 3e 2e 6d 70 33 27 .128k.-ar.44100.-y.'<<fne>>.mp3'
140a0 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 "....:utils."ffmpeg"))..;;;###au
140c0 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 toload.(defun.dwim-shell-command
140e0 73 2d 76 69 64 65 6f 2d 74 6f 2d 6d 70 33 2d 77 69 74 68 2d 61 72 74 77 6f 72 6b 20 28 29 0a 20 s-video-to-mp3-with-artwork.()..
14100 20 22 43 6f 6e 76 65 72 74 20 76 69 64 65 6f 28 73 29 20 74 6f 20 6d 70 33 20 28 6b 65 65 70 20 ."Convert.video(s).to.mp3.(keep.
14120 66 72 61 6d 65 20 61 73 20 61 72 74 77 6f 72 6b 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 frame.as.artwork)."...(interacti
14140 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 ve)...(dwim-shell-command-on-mar
14160 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 74 6f 20 6d 70 33 22 0a 20 20 ked-files...."Convert.to.mp3"...
14180 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 76 66 20 27 73 65 6c 65 63 74 3d ."ffmpeg.-i.'<<f>>'.-vf.'select=
141a0 65 71 28 6e 5c 5c 2c 30 29 27 20 2d 71 3a 76 20 33 20 63 6f 76 65 72 2e 6a 70 67 20 2d 69 20 27 eq(n\\,0)'.-q:v.3.cover.jpg.-i.'
141c0 3c 3c 66 3e 3e 27 20 2d 76 6e 20 2d 61 62 20 31 32 38 6b 20 2d 61 72 20 34 34 31 30 30 20 2d 79 <<f>>'.-vn.-ab.128k.-ar.44100.-y
141e0 20 2d 6d 61 70 5f 6d 65 74 61 64 61 74 61 20 30 20 2d 69 64 33 76 32 5f 76 65 72 73 69 6f 6e 20 .-map_metadata.0.-id3v2_version.
14200 33 20 2d 77 72 69 74 65 5f 69 64 33 76 31 20 31 20 2d 6d 65 74 61 64 61 74 61 3a 73 3a 76 20 74 3.-write_id3v1.1.-metadata:s:v.t
14220 69 74 6c 65 3d 27 41 6c 62 75 6d 20 63 6f 76 65 72 27 20 2d 6d 65 74 61 64 61 74 61 3a 73 3a 76 itle='Album.cover'.-metadata:s:v
14240 20 63 6f 6d 6d 65 6e 74 3d 27 43 6f 76 65 72 20 28 66 72 6f 6e 74 29 27 20 27 3c 3c 66 6e 65 3e .comment='Cover.(front)'.'<<fne>
14260 3e 2e 6d 70 33 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b >.mp3'"....:utils."ffmpeg"))..;;
14280 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ;###autoload.(defun.dwim-shell-c
142a0 6f 6d 6d 61 6e 64 73 2d 6e 64 6a 73 6f 6e 2d 74 6f 2d 6f 72 67 20 28 29 0a 20 20 22 43 6f 6e 76 ommands-ndjson-to-org.()..."Conv
142c0 65 72 74 20 6e 64 6a 73 6f 6e 20 66 69 6c 65 20 74 6f 20 6f 72 67 2e 22 0a 20 20 28 69 6e 74 65 ert.ndjson.file.to.org."...(inte
142e0 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 28 6c 65 6e 67 74 68 20 28 ractive)...(unless.(eq.(length.(
14300 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 66 69 6c 65 73 29 29 20 31 29 0a 20 dwim-shell-command--files)).1)..
14320 20 20 20 28 65 72 72 6f 72 20 22 4f 6e 6c 79 20 31 20 66 69 6c 65 20 73 75 70 70 6f 72 74 65 64 ...(error."Only.1.file.supported
14340 22 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 65 6d 61 63 73 2d 62 69 6e 20 28 66 69 6c 65 2d 74 72 "))...(let*.((emacs-bin.(file-tr
14360 75 65 6e 61 6d 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 69 6e 76 6f 63 61 74 uename.(expand-file-name.invocat
14380 69 6f 6e 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion-name........................
143a0 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 69 6e ..............................in
143c0 76 6f 63 61 74 69 6f 6e 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 vocation-directory)))..........(
143e0 73 6f 75 72 63 65 20 28 6e 74 68 20 30 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e source.(nth.0.(dwim-shell-comman
14400 64 2d 2d 66 69 6c 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 65 73 74 69 6e 61 74 69 6f d--files)))..........(destinatio
14420 6e 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 n.(concat.(file-name-sans-extens
14440 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion.............................
14460 20 20 20 73 6f 75 72 63 65 29 20 22 2e 6f 72 67 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 ...source).".org"))..........(fi
14480 65 6c 64 73 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 elds.(with-temp-buffer..........
144a0 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 ..........(insert-file-contents.
144c0 73 6f 75 72 63 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 source)....................(buff
144e0 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 20 28 70 6f 69 6e er-substring-no-properties.(poin
14500 74 2d 6d 69 6e 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 29 0a 20 20 20 20 t-min).(line-end-position)).....
14520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 46 69 65 ...............(read-string."Fie
14540 6c 64 73 3a 20 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 27 69 64 65 6e 74 69 74 79 20 28 6d 61 70 lds:.".(mapconcat.'identity.(map
14560 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 65 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 car.(lambda.(item)..............
14580 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 ................................
145a0 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 73 79 .............................(sy
145c0 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 69 74 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 mbol-name.(car.item)))..........
145e0 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 ................................
14600 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 ...............................(
14620 6a 73 6f 6e 2d 72 65 61 64 2d 66 72 6f 6d 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 json-read-from-string...........
14640 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 ................................
14660 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 ...............................(
14680 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 buffer-substring-no-properties..
146a0 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 ................................
146c0 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 ................................
146e0 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 .........(point-min).(line-end-p
14700 6f 73 69 74 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 osition)))).....................
14720 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 ................................
14740 20 20 22 20 22 29 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 .."."))))).....(dwim-shell-comma
14760 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 43 6f 6e 76 65 72 74 nd-on-marked-files......"Convert
14780 20 6e 64 6a 73 6f 6e 20 74 6f 20 6f 72 67 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 .ndjson.to.org"......(format."%s
147a0 20 2d 2d 71 75 69 63 6b 20 2d 2d 62 61 74 63 68 20 2d 2d 65 76 61 6c 20 5c 22 25 73 5c 22 22 20 .--quick.--batch.--eval.\"%s\"".
147c0 65 6d 61 63 73 2d 62 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d emacs-bin..............(replace-
147e0 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 regexp-in-string..............."
14800 5c 22 22 20 22 5c 5c 5c 5c 5c 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e \""."\\\\\""...............(prin
14820 31 2d 74 6f 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 70 72 6f 1-to-string................`(pro
14840 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 6f gn...................(require.'o
14860 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 rg)...................(require.'
14880 6a 73 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 75 6e 20 63 json)...................(defun.c
148a0 6f 6e 76 65 72 74 2d 74 6f 2d 6f 72 67 2d 74 61 62 6c 65 20 28 6e 64 6a 73 6f 6e 29 0a 20 20 20 onvert-to-org-table.(ndjson)....
148c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 6f 77 73 20 28 6d 61 .................(let.((rows.(ma
148e0 70 63 61 72 20 23 27 6a 73 6f 6e 2d 72 65 61 64 2d 66 72 6f 6d 2d 73 74 72 69 6e 67 0a 20 20 20 pcar.#'json-read-from-string....
14900 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 ................................
14920 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 6e 64 6a 73 6f 6e 20 22 5c 6e 22 20 74 .....(split-string.ndjson."\n".t
14940 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 67 74 )))).......................(orgt
14960 62 6c 2d 74 6f 2d 6f 72 67 74 62 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 bl-to-orgtbl....................
14980 20 20 20 20 28 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(append.....................
149a0 20 20 20 20 28 6c 69 73 74 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 2c 66 69 65 6c 64 73 29 ....(list.(split-string.,fields)
149c0 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 27 28 68 6c 69 6e ).........................'(hlin
149e0 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 28 6d 61 70 63 e).........................(mapc
14a00 61 72 20 28 6c 61 6d 62 64 61 20 28 6f 62 6a 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ar.(lambda.(obj)................
14a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 ...................(mapcar.(lamb
14a40 64 61 20 28 6b 65 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 da.(key)........................
14a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 61 6c 69 73 74 2d .....................(or.(alist-
14a80 67 65 74 20 28 69 6e 74 65 72 6e 20 6b 65 79 29 20 6f 62 6a 29 20 22 22 29 29 0a 20 20 20 20 20 get.(intern.key).obj).""))......
14aa0 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 ................................
14ac0 20 20 20 20 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 2c 66 69 65 6c 64 73 29 29 29 0a 20 20 .....(split-string.,fields)))...
14ae0 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 72 6f ..............................ro
14b00 77 73 29 29 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 ws)).nil)))...................(w
14b20 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ith-temp-buffer.................
14b40 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e 74 65 6e 74 73 20 2c 73 6f 75 72 63 ....(insert-file-contents.,sourc
14b60 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 72 e).....................(let.((or
14b80 67 20 28 63 6f 6e 76 65 72 74 2d 74 6f 2d 6f 72 67 2d 74 61 62 6c 65 20 28 62 75 66 66 65 72 2d g.(convert-to-org-table.(buffer-
14ba0 73 74 72 69 6e 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 string))))......................
14bc0 20 28 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 2c 64 65 73 74 69 6e 61 74 69 6f 6e 0a 20 20 .(with-temp-file.,destination...
14be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 6f 72 ......................(insert.or
14c00 67 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 3a 65 78 74 65 6e 73 69 6f 6e 73 20 22 6e 64 6a 73 g))))))))......:extensions."ndjs
14c20 6f 6e 22 29 29 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 64 77 on")))..;;;###autoload.(defun.dw
14c40 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 73 65 74 2d 6d 65 64 69 61 2d 61 72 74 77 im-shell-commands-set-media-artw
14c60 6f 72 6b 2d 69 6d 61 67 65 2d 6d 65 74 61 64 61 74 61 20 28 29 0a 20 20 22 53 65 74 20 69 6d 61 ork-image-metadata.()..."Set.ima
14c80 67 65 20 61 72 74 77 6f 72 6b 20 6d 65 74 61 64 61 74 61 20 66 6f 72 20 6d 65 64 69 61 20 66 69 ge.artwork.metadata.for.media.fi
14ca0 6c 65 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 le(s)."...(interactive)...(let.(
14cc0 28 61 72 74 77 6f 72 6b 2d 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 (artwork-file.(file-name-unquote
14ce0 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 61 64 2d 66 69 ........................(read-fi
14d00 6c 65 2d 6e 61 6d 65 20 22 53 65 6c 65 63 74 20 61 72 74 77 6f 72 6b 20 69 6d 61 67 65 3a 20 22 le-name."Select.artwork.image:."
14d20 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
14d40 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 68 ........nil.nil.t))).........(sh
14d60 6f 75 6c 64 2d 62 61 63 6b 75 70 20 28 79 2d 6f 72 2d 6e 2d 70 20 22 43 72 65 61 74 65 20 62 61 ould-backup.(y-or-n-p."Create.ba
14d80 63 6b 75 70 20 66 69 6c 65 73 3f 20 22 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 69 ckup.files?."))).....(unless.(fi
14da0 6c 65 2d 72 65 67 75 6c 61 72 2d 70 20 61 72 74 77 6f 72 6b 2d 66 69 6c 65 29 0a 20 20 20 20 20 le-regular-p.artwork-file)......
14dc0 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 74 20 61 20 66 69 6c 65 22 29 29 0a 20 20 20 20 .(user-error."Not.a.file")).....
14de0 28 75 6e 6c 65 73 73 20 73 68 6f 75 6c 64 2d 62 61 63 6b 75 70 0a 20 20 20 20 20 20 28 75 6e 6c (unless.should-backup.......(unl
14e00 65 73 73 20 28 79 2d 6f 72 2d 6e 2d 70 20 22 4f 76 65 72 72 69 64 65 20 66 69 6c 65 28 73 29 3f ess.(y-or-n-p."Override.file(s)?
14e20 20 22 29 0a 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 41 62 6f 72 74 65 64 .").........(user-error."Aborted
14e40 22 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d "))).....(dwim-shell-command-on-
14e60 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 53 65 74 20 61 6c 62 75 6d 20 61 72 74 marked-files......"Set.album.art
14e80 77 6f 72 6b 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 28 69 66 20 73 68 6f 75 6c 64 2d 62 61 work"......(format.(if.should-ba
14ea0 63 6b 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 66 6d 70 65 67 20 2d 69 ckup.................."ffmpeg.-i
14ec0 20 27 3c 3c 66 3e 3e 27 20 2d 69 20 27 25 73 27 20 2d 6d 61 70 5f 6d 65 74 61 64 61 74 61 20 30 .'<<f>>'.-i.'%s'.-map_metadata.0
14ee0 20 2d 6d 61 70 20 30 3a 61 20 2d 6d 61 70 20 31 20 2d 63 20 63 6f 70 79 20 2d 64 69 73 70 6f 73 .-map.0:a.-map.1.-c.copy.-dispos
14f00 69 74 69 6f 6e 3a 76 3a 30 20 61 74 74 61 63 68 65 64 5f 70 69 63 20 27 3c 3c 66 3e 3e 2e 74 6d ition:v:0.attached_pic.'<<f>>.tm
14f20 70 2e 3c 3c 65 3e 3e 27 20 26 26 20 6d 76 20 2d 66 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 3e 3e p.<<e>>'.&&.mv.-f.'<<f>>'.'<<f>>
14f40 2e 62 61 6b 27 20 26 26 20 6d 76 20 27 3c 3c 66 3e 3e 2e 74 6d 70 2e 3c 3c 65 3e 3e 27 20 27 3c .bak'.&&.mv.'<<f>>.tmp.<<e>>'.'<
14f60 3c 66 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 66 66 6d 70 65 67 20 2d 69 <f>>'"................"ffmpeg.-i
14f80 20 27 3c 3c 66 3e 3e 27 20 2d 69 20 27 25 73 27 20 2d 6d 61 70 5f 6d 65 74 61 64 61 74 61 20 30 .'<<f>>'.-i.'%s'.-map_metadata.0
14fa0 20 2d 6d 61 70 20 30 3a 61 20 2d 6d 61 70 20 31 20 2d 63 20 63 6f 70 79 20 2d 64 69 73 70 6f 73 .-map.0:a.-map.1.-c.copy.-dispos
14fc0 69 74 69 6f 6e 3a 76 3a 30 20 61 74 74 61 63 68 65 64 5f 70 69 63 20 27 3c 3c 66 3e 3e 2e 74 6d ition:v:0.attached_pic.'<<f>>.tm
14fe0 70 2e 3c 3c 65 3e 3e 27 20 26 26 20 6d 76 20 2d 66 20 27 3c 3c 66 3e 3e 2e 74 6d 70 2e 3c 3c 65 p.<<e>>'.&&.mv.-f.'<<f>>.tmp.<<e
15000 3e 3e 27 20 27 3c 3c 66 3e 3e 27 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 61 72 74 77 6f >>'.'<<f>>'")..............artwo
15020 72 6b 2d 66 69 6c 65 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 41 74 6f 6d 69 63 50 61 72 73 rk-file)......:utils."AtomicPars
15040 6c 65 79 22 0a 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 29 29 29 0a 0a ley"......:silent-success.t)))..
15060 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c ;;;###autoload.(defun.dwim-shell
15080 2d 63 6f 6d 6d 61 6e 64 73 2d 76 69 64 65 6f 2d 74 72 69 6d 2d 62 65 67 69 6e 6e 69 6e 67 20 28 -commands-video-trim-beginning.(
150a0 29 0a 20 20 22 44 72 6f 70 20 61 75 64 69 6f 20 66 72 6f 6d 20 61 6c 6c 20 6d 61 72 6b 65 64 20 )..."Drop.audio.from.all.marked.
150c0 76 69 64 65 6f 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d videos."...(interactive)...(dwim
150e0 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 -shell-command-on-marked-files..
15100 20 20 22 54 72 69 6d 20 62 65 67 69 6e 6e 69 6e 67 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 69 .."Trim.beginning"...."ffmpeg.-i
15120 20 27 3c 3c 66 3e 3e 27 20 2d 79 20 2d 73 73 20 3c 3c 53 65 63 6f 6e 64 73 3a 35 3e 3e 20 2d 63 .'<<f>>'.-y.-ss.<<Seconds:5>>.-c
15140 3a 76 20 63 6f 70 79 20 2d 63 3a 61 20 63 6f 70 79 20 27 3c 3c 66 6e 65 3e 3e 5f 74 72 69 6d 6d :v.copy.-c:a.copy.'<<fne>>_trimm
15160 65 64 2e 3c 3c 65 3e 3e 27 22 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a ed.<<e>>'"....:silent-success.t.
15180 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f ...:utils."ffmpeg"))..;;;###auto
151a0 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d load.(defun.dwim-shell-commands-
151c0 76 69 64 65 6f 2d 74 72 69 6d 2d 65 6e 64 20 28 29 0a 20 20 22 44 72 6f 70 20 61 75 64 69 6f 20 video-trim-end.()..."Drop.audio.
151e0 66 72 6f 6d 20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 69 64 65 6f 73 2e 22 0a 20 20 28 69 6e 74 65 from.all.marked.videos."...(inte
15200 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f ractive)...(dwim-shell-command-o
15220 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 54 72 69 6d 20 62 65 67 69 6e 6e 69 6e n-marked-files...."Trim.beginnin
15240 67 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 73 73 65 6f 66 20 2d 3c 3c 53 65 63 6f 6e 64 73 3a g"...."ffmpeg.-sseof.-<<Seconds:
15260 35 3e 3e 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 79 20 2d 63 3a 76 20 63 6f 70 79 20 2d 63 3a 61 5>>.-i.'<<f>>'.-y.-c:v.copy.-c:a
15280 20 63 6f 70 79 20 27 3c 3c 66 6e 65 3e 3e 5f 74 72 69 6d 6d 65 64 2e 3c 3c 65 3e 3e 27 22 0a 20 .copy.'<<fne>>_trimmed.<<e>>'"..
152a0 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 ..:silent-success.t....:utils."f
152c0 66 6d 70 65 67 22 29 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 fmpeg"))..;;;###autoload.(defun.
152e0 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 76 69 64 65 6f 2d 74 6f 2d 74 68 75 dwim-shell-commands-video-to-thu
15300 6d 62 6e 61 69 6c 20 28 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 74 68 75 6d 62 6e 61 69 mbnail.()..."Generate.a.thumbnai
15320 6c 20 66 6f 72 20 6d 61 72 6b 65 64 20 76 69 64 65 6f 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 l.for.marked.video(s)."...(inter
15340 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 74 65 6d 70 2d 64 69 72 20 28 6d 61 6b 65 2d active)...(let.((temp-dir.(make-
15360 74 65 6d 70 2d 66 69 6c 65 20 22 74 68 75 6d 62 6e 61 69 6c 73 2d 22 20 74 29 29 29 0a 20 20 20 temp-file."thumbnails-".t)))....
15380 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 .(dwim-shell-command-on-marked-f
153a0 69 6c 65 73 0a 20 20 20 20 20 22 54 68 75 6d 62 6e 61 69 6c 20 77 69 74 68 20 66 66 6d 70 65 67 iles......"Thumbnail.with.ffmpeg
153c0 22 0a 20 20 20 20 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 73 73 20 30 30 "......"ffmpeg.-i.'<<f>>'.-ss.00
153e0 3a 30 30 3a 30 31 2e 30 30 30 20 2d 76 66 72 61 6d 65 73 20 31 20 27 3c 3c 66 6e 65 3e 3e 2e 6a :00:01.000.-vframes.1.'<<fne>>.j
15400 70 67 27 22 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 29 0a 0a 3b 3b pg'"......:utils."ffmpeg")))..;;
15420 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ;###autoload.(defun.dwim-shell-c
15440 6f 6d 6d 61 6e 64 73 2d 64 72 6f 70 2d 76 69 64 65 6f 2d 61 75 64 69 6f 20 28 29 0a 20 20 22 44 ommands-drop-video-audio.()..."D
15460 72 6f 70 20 61 75 64 69 6f 20 66 72 6f 6d 20 61 6c 6c 20 6d 61 72 6b 65 64 20 76 69 64 65 6f 73 rop.audio.from.all.marked.videos
15480 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c ."...(interactive)...(dwim-shell
154a0 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 44 72 6f -command-on-marked-files...."Dro
154c0 70 20 61 75 64 69 6f 22 0a 20 20 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d p.audio"...."ffmpeg.-i.'<<f>>'.-
154e0 63 20 63 6f 70 79 20 2d 61 6e 20 27 3c 3c 66 6e 65 3e 3e 5f 6e 6f 5f 61 75 64 69 6f 2e 3c 3c 65 c.copy.-an.'<<fne>>_no_audio.<<e
15500 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b 3b 23 23 >>'"....:utils."ffmpeg"))..;;;##
15520 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d #autoload.(defun.dwim-shell-comm
15540 61 6e 64 73 2d 70 69 6e 67 2d 67 6f 6f 67 6c 65 20 28 29 0a 20 20 22 50 69 6e 67 20 67 6f 6f 67 ands-ping-google.()..."Ping.goog
15560 6c 65 2e 63 6f 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d le.com."...(interactive)...(dwim
15580 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 -shell-command-on-marked-files..
155a0 20 20 22 50 69 6e 67 20 67 6f 6f 67 6c 65 2e 63 6f 6d 22 0a 20 20 20 22 70 69 6e 67 20 2d 63 20 .."Ping.google.com"...."ping.-c.
155c0 33 20 67 6f 6f 67 6c 65 2e 63 6f 6d 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 70 69 6e 67 22 0a 20 3.google.com"....:utils."ping"..
155e0 20 20 3a 66 6f 63 75 73 2d 6e 6f 77 20 74 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 ..:focus-now.t))..;;;###autoload
15600 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 73 70 65 65 .(defun.dwim-shell-commands-spee
15620 64 2d 75 70 2d 76 69 64 65 6f 20 28 29 0a 20 20 22 53 70 65 65 64 20 75 70 20 76 69 64 65 6f 28 d-up-video.()..."Speed.up.video(
15640 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 s)."...(interactive)...(dwim-she
15660 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 53 ll-command-on-marked-files...."S
15680 70 65 65 64 20 75 70 20 76 69 64 65 6f 22 0a 20 20 20 28 6c 65 74 20 28 28 66 61 63 74 6f 72 20 peed.up.video"....(let.((factor.
156a0 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 52 65 73 69 7a 65 20 73 63 61 6c 69 6e 67 20 66 61 63 (read-number."Resize.scaling.fac
156c0 74 6f 72 3a 20 22 20 32 29 29 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 66 66 6d 70 65 67 tor:.".2)))......(format."ffmpeg
156e0 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 61 6e 20 2d 66 69 6c 74 65 72 3a 76 20 27 73 65 74 70 74 .-i.'<<f>>'.-an.-filter:v.'setpt
15700 73 3d 25 73 2a 50 54 53 27 20 27 3c 3c 66 6e 65 3e 3e 5f 78 25 73 2e 3c 3c 65 3e 3e 27 22 0a 20 s=%s*PTS'.'<<fne>>_x%s.<<e>>'"..
15720 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 31 20 28 66 6c 6f 61 74 20 66 61 63 74 6f 72 29 29 ............(/.1.(float.factor))
15740 20 66 61 63 74 6f 72 29 29 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a .factor))....:utils."ffmpeg"))..
15760 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c ;;;###autoload.(defun.dwim-shell
15780 2d 63 6f 6d 6d 61 6e 64 73 2d 73 70 65 65 64 2d 75 70 2d 76 69 64 65 6f 2d 66 72 61 67 6d 65 6e -commands-speed-up-video-fragmen
157a0 74 20 28 29 0a 20 20 22 53 70 65 65 64 20 75 70 20 66 72 61 67 6d 65 6e 74 20 69 6e 20 76 69 64 t.()..."Speed.up.fragment.in.vid
157c0 65 6f 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 eo(s)."...(interactive)...(let.(
157e0 28 73 74 61 72 74 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 53 74 61 72 74 20 28 73 65 63 6f (start.(read-number."Start.(seco
15800 6e 64 73 29 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 28 65 6e 64 20 28 72 65 61 64 2d 6e 75 6d nds):.")).........(end.(read-num
15820 62 65 72 20 22 45 6e 64 20 28 73 65 63 6f 6e 64 73 29 3a 20 22 29 29 0a 20 20 20 20 20 20 20 20 ber."End.(seconds):.")).........
15840 28 66 61 63 74 6f 72 20 28 72 65 61 64 2d 6e 75 6d 62 65 72 20 22 53 70 65 65 64 20 75 70 20 66 (factor.(read-number."Speed.up.f
15860 61 63 74 6f 72 3a 20 22 20 32 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f actor:.".2))).....(dwim-shell-co
15880 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 53 70 65 65 mmand-on-marked-files......"Spee
158a0 64 20 75 70 20 66 72 61 67 6d 65 6e 74 20 69 6e 20 76 69 64 65 6f 22 0a 20 20 20 20 20 28 66 6f d.up.fragment.in.video"......(fo
158c0 72 6d 61 74 20 22 66 66 6d 70 65 67 20 2d 69 20 27 3c 3c 66 3e 3e 27 20 2d 66 69 6c 74 65 72 5f rmat."ffmpeg.-i.'<<f>>'.-filter_
158e0 63 6f 6d 70 6c 65 78 20 27 5b 30 3a 76 5d 74 72 69 6d 3d 73 74 61 72 74 3d 30 3a 65 6e 64 3d 25 complex.'[0:v]trim=start=0:end=%
15900 64 2c 73 65 74 70 74 73 3d 50 54 53 2d 53 54 41 52 54 50 54 53 5b 76 30 5d 3b 5b 30 3a 76 5d 74 d,setpts=PTS-STARTPTS[v0];[0:v]t
15920 72 69 6d 3d 73 74 61 72 74 3d 25 64 3a 65 6e 64 3d 25 64 2c 73 65 74 70 74 73 3d 28 50 54 53 2d rim=start=%d:end=%d,setpts=(PTS-
15940 31 29 2f 25 64 5b 76 31 5d 3b 5b 30 3a 76 5d 74 72 69 6d 3d 73 74 61 72 74 3d 25 64 2c 73 65 74 1)/%d[v1];[0:v]trim=start=%d,set
15960 70 74 73 3d 50 54 53 2d 53 54 41 52 54 50 54 53 5b 76 32 5d 3b 5b 76 30 5d 5b 76 31 5d 5b 76 32 pts=PTS-STARTPTS[v2];[v0][v1][v2
15980 5d 63 6f 6e 63 61 74 3d 6e 3d 33 3a 76 3d 31 3a 61 3d 30 27 20 2d 70 72 65 73 65 74 20 66 61 73 ]concat=n=3:v=1:a=0'.-preset.fas
159a0 74 20 27 3c 3c 66 6e 65 3e 3e 5f 25 64 3a 25 64 78 25 64 2e 3c 3c 65 3e 3e 27 22 20 73 74 61 72 t.'<<fne>>_%d:%dx%d.<<e>>'".star
159c0 74 20 73 74 61 72 74 20 65 6e 64 20 66 61 63 74 6f 72 20 65 6e 64 20 73 74 61 72 74 20 65 6e 64 t.start.end.factor.end.start.end
159e0 20 66 61 63 74 6f 72 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 29 .factor)......:utils."ffmpeg")))
15a00 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 73 65 74 ..(defun.dwim-shell-commands-set
15a20 2d 73 6f 6e 67 2d 74 69 74 6c 65 20 28 29 0a 20 20 22 53 65 74 20 73 6f 6e 67 28 73 29 20 74 69 -song-title.()..."Set.song(s).ti
15a40 74 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 74 tle."...(interactive)...(let.((t
15a60 69 74 6c 65 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 20 22 itle.(replace-regexp-in-string."
15a80 27 22 20 22 5c 27 22 20 28 72 65 61 64 2d 73 74 72 69 6e 67 20 22 4e 65 77 20 74 69 74 6c 65 3a '"."\'".(read-string."New.title:
15aa0 20 22 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f .")))).....(dwim-shell-command-o
15ac0 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 53 65 74 20 73 6f 6e 67 28 73 29 n-marked-files......"Set.song(s)
15ae0 20 74 69 74 6c 65 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 66 66 6d 70 65 67 20 2d 69 20 .title"......(format."ffmpeg.-i.
15b00 27 3c 3c 66 3e 3e 27 20 2d 6d 65 74 61 64 61 74 61 20 74 69 74 6c 65 3d 27 25 73 27 20 2d 63 6f '<<f>>'.-metadata.title='%s'.-co
15b20 64 65 63 20 63 6f 70 79 20 27 3c 3c 74 64 3e 3e 2f 3c 3c 62 6e 65 3e 3e 5f 74 65 6d 70 2e 3c 3c dec.copy.'<<td>>/<<bne>>_temp.<<
15b40 65 3e 3e 27 20 26 26 20 6d 76 20 2d 66 20 27 3c 3c 74 64 3e 3e 2f 3c 3c 62 6e 65 3e 3e 5f 74 65 e>>'.&&.mv.-f.'<<td>>/<<bne>>_te
15b60 6d 70 2e 3c 3c 65 3e 3e 27 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 mp.<<e>>'.'<<f>>'"..............
15b80 74 69 74 6c 65 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 29 0a 0a title)......:utils."ffmpeg")))..
15ba0 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c ;;;###autoload.(defun.dwim-shell
15bc0 2d 63 6f 6d 6d 61 6e 64 73 2d 72 65 73 69 7a 65 2d 76 69 64 65 6f 20 28 29 0a 20 20 22 52 65 73 -commands-resize-video.()..."Res
15be0 69 7a 65 20 6d 61 72 6b 65 64 20 69 6d 61 67 65 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 ize.marked.images."...(interacti
15c00 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 ve)...(dwim-shell-command-on-mar
15c20 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 52 65 73 69 7a 65 20 76 69 64 65 6f 22 0a 20 20 20 22 ked-files...."Resize.video"...."
15c40 0a 65 76 61 6c 20 24 28 66 66 70 72 6f 62 65 20 2d 76 20 71 75 69 65 74 20 2d 73 68 6f 77 5f 66 .eval.$(ffprobe.-v.quiet.-show_f
15c60 6f 72 6d 61 74 20 2d 6f 66 20 66 6c 61 74 3d 73 3d 5f 20 2d 73 68 6f 77 5f 65 6e 74 72 69 65 73 ormat.-of.flat=s=_.-show_entries
15c80 20 73 74 72 65 61 6d 3d 77 69 64 74 68 20 27 3c 3c 66 3e 3e 27 29 3b 0a 77 69 64 74 68 3d 24 7b .stream=width.'<<f>>');.width=${
15ca0 73 74 72 65 61 6d 73 5f 73 74 72 65 61 6d 5f 30 5f 77 69 64 74 68 7d 3b 0a 7a 6d 6f 64 6c 6f 61 streams_stream_0_width};.zmodloa
15cc0 64 20 7a 73 68 2f 6d 61 74 68 66 75 6e 63 0a 77 69 64 74 68 3d 24 28 28 72 69 6e 74 28 24 77 69 d.zsh/mathfunc.width=$((rint($wi
15ce0 64 74 68 20 2a 20 3c 3c 53 63 61 6c 69 6e 67 20 66 61 63 74 6f 72 3a 30 2e 35 3e 3e 29 29 29 3b dth.*.<<Scaling.factor:0.5>>)));
15d00 0a 23 20 4d 61 6b 65 20 69 74 20 65 76 65 6e 20 6f 72 20 66 61 63 65 20 27 6e 6f 74 20 64 69 76 .#.Make.it.even.or.face.'not.div
15d20 69 73 69 62 6c 65 20 62 79 20 32 27 20 65 72 72 6f 72 73 2e 0a 69 66 20 5b 5b 20 24 28 28 77 69 isible.by.2'.errors..if.[[.$((wi
15d40 64 74 68 25 32 29 29 20 2d 6e 65 20 30 20 5d 5d 20 74 68 65 6e 0a 20 20 77 69 64 74 68 3d 24 28 dth%2)).-ne.0.]].then...width=$(
15d60 28 24 77 69 64 74 68 20 2d 20 31 29 29 0a 66 69 0a 66 66 6d 70 65 67 20 2d 6e 20 2d 69 20 27 3c ($width.-.1)).fi.ffmpeg.-n.-i.'<
15d80 3c 66 3e 3e 27 20 2d 76 66 20 5c 22 73 63 61 6c 65 3d 24 77 69 64 74 68 3a 2d 32 5c 22 20 27 3c <f>>'.-vf.\"scale=$width:-2\".'<
15da0 3c 66 6e 65 3e 3e 5f 78 3c 3c 53 63 61 6c 69 6e 67 20 66 61 63 74 6f 72 3a 30 2e 35 3e 3e 2e 3c <fne>>_x<<Scaling.factor:0.5>>.<
15dc0 3c 65 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 66 66 6d 70 65 67 22 29 29 0a 0a 3b 3b 3b <e>>'"....:utils."ffmpeg"))..;;;
15de0 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ###autoload.(defun.dwim-shell-co
15e00 6d 6d 61 6e 64 73 2d 63 6c 69 70 62 6f 61 72 64 2d 74 6f 2d 71 72 20 28 29 0a 20 20 22 47 65 6e mmands-clipboard-to-qr.()..."Gen
15e20 65 72 61 74 65 20 61 20 51 52 20 63 6f 64 65 20 66 72 6f 6d 20 63 6c 69 70 62 6f 61 72 64 2e 22 erate.a.QR.code.from.clipboard."
15e40 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 74 65 6d 70 2d 66 ...(interactive)...(let.((temp-f
15e60 69 6c 65 20 28 63 6f 6e 63 61 74 20 28 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 ile.(concat.(temporary-file-dire
15e80 63 74 6f 72 79 29 20 22 71 72 2d 63 6f 64 65 22 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 ctory)."qr-code"))).....(dwim-sh
15ea0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 ell-command-on-marked-files.....
15ec0 20 22 47 65 6e 65 72 61 74 65 20 61 20 51 52 20 63 6f 64 65 20 66 72 6f 6d 20 63 6c 69 70 62 6f ."Generate.a.QR.code.from.clipbo
15ee0 61 72 64 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 71 72 65 6e 63 6f 64 65 20 2d 73 31 30 ard"......(format."qrencode.-s10
15f00 20 2d 6f 20 25 73 20 25 73 22 20 74 65 6d 70 2d 66 69 6c 65 20 28 73 68 65 6c 6c 2d 71 75 6f 74 .-o.%s.%s".temp-file.(shell-quot
15f20 65 2d 61 72 67 75 6d 65 6e 74 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 29 29 0a 20 20 e-argument.(current-kill.0)))...
15f40 20 20 20 3a 75 74 69 6c 73 20 22 71 72 65 6e 63 6f 64 65 22 0a 20 20 20 20 20 3a 6f 6e 2d 63 6f ...:utils."qrencode"......:on-co
15f60 6d 70 6c 65 74 69 6f 6e 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 5f 70 72 6f 63 65 73 mpletion.(lambda.(buffer._proces
15f80 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 28 6b 69 6c 6c 2d 62 s).......................(kill-b
15fa0 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uffer.buffer)...................
15fc0 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 ....(switch-to-buffer.(find-file
15fe0 2d 6e 6f 73 65 6c 65 63 74 20 74 65 6d 70 2d 66 69 6c 65 20 74 29 29 29 29 29 29 0a 0a 3b 3b 3b -noselect.temp-file.t))))))..;;;
16000 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ###autoload.(defun.dwim-shell-co
16020 6d 6d 61 6e 64 73 2d 73 68 61 2d 32 35 36 2d 68 61 73 68 2d 66 69 6c 65 2d 61 74 2d 63 6c 69 70 mmands-sha-256-hash-file-at-clip
16040 62 6f 61 72 64 2d 75 72 6c 20 28 29 0a 20 20 22 44 6f 77 6e 6c 6f 61 64 20 66 69 6c 65 20 61 74 board-url.()..."Download.file.at
16060 20 63 6c 69 70 62 6f 61 72 64 20 55 52 4c 20 61 6e 64 20 67 65 6e 65 72 61 74 65 20 53 48 41 2d .clipboard.URL.and.generate.SHA-
16080 32 35 36 20 68 61 73 68 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 75 6e 256.hash."...(interactive)...(un
160a0 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 68 74 74 70 5b 73 5d 3f 3a less.(string-match-p."^http[s]?:
160c0 2f 2f 22 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 29 0a 20 20 20 20 28 75 73 65 72 2d //".(current-kill.0)).....(user-
160e0 65 72 72 6f 72 20 22 4e 6f 20 55 52 4c 20 69 6e 20 63 6c 69 70 62 6f 61 72 64 22 29 29 0a 20 20 error."No.URL.in.clipboard"))...
16100 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 (dwim-shell-command-on-marked-fi
16120 6c 65 73 0a 20 20 20 22 47 65 6e 65 72 61 74 65 20 53 48 41 2d 32 35 36 20 68 61 73 68 20 66 72 les...."Generate.SHA-256.hash.fr
16140 6f 6d 20 63 6c 69 70 62 6f 61 72 64 20 55 52 4c 2e 22 0a 20 20 20 22 63 75 72 6c 20 2d 73 20 27 om.clipboard.URL."...."curl.-s.'
16160 3c 3c 63 62 3e 3e 27 20 7c 20 73 68 61 32 35 36 73 75 6d 20 2d 20 7c 20 63 75 74 20 2d 64 20 27 <<cb>>'.|.sha256sum.-.|.cut.-d.'
16180 20 27 20 2d 66 31 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 63 75 72 6c 22 20 22 73 68 61 32 .'.-f1"....:utils.'("curl"."sha2
161a0 35 36 73 75 6d 22 29 0a 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 28 6c 61 56sum")....:on-completion....(la
161c0 6d 62 64 61 20 28 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 28 69 66 2d 6c mbda.(buffer.process)......(if-l
161e0 65 74 20 28 28 73 75 63 63 65 73 73 20 28 3d 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 et.((success.(=.(process-exit-st
16200 61 74 75 73 20 70 72 6f 63 65 73 73 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 atus.process).0))...............
16220 28 68 61 73 68 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 (hash.(with-current-buffer.buffe
16240 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d r.......................(string-
16260 74 72 69 6d 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 29 29 0a 20 20 20 20 20 20 20 trim.(buffer-string)))))........
16280 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 ..(progn............(kill-buffer
162a0 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 68 61 .buffer)............(kill-new.ha
162c0 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 70 69 65 64 20 sh)............(message."Copied.
162e0 25 73 20 74 6f 20 63 6c 69 70 62 6f 61 72 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 %s.to.clipboard"................
16300 20 20 20 20 20 28 70 72 6f 70 65 72 74 69 7a 65 20 68 61 73 68 20 27 66 61 63 65 20 27 66 6f 6e .....(propertize.hash.'face.'fon
16320 74 2d 6c 6f 63 6b 2d 73 74 72 69 6e 67 2d 66 61 63 65 29 29 29 0a 20 20 20 20 20 20 20 28 73 77 t-lock-string-face)))........(sw
16340 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 29 0a 0a 3b 3b 3b 23 itch-to-buffer.buffer)))))..;;;#
16360 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d ##autoload.(defun.dwim-shell-com
16380 6d 61 6e 64 73 2d 76 69 65 77 2d 73 71 6c 69 74 65 2d 73 63 68 65 6d 61 2d 64 69 61 67 72 61 6d mands-view-sqlite-schema-diagram
163a0 20 28 29 0a 20 20 22 56 69 65 77 20 73 71 6c 69 74 65 20 73 63 68 65 6d 61 20 64 69 61 67 72 61 .()..."View.sqlite.schema.diagra
163c0 6d 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c m."...(interactive)...(dwim-shel
163e0 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 56 69 l-command-on-marked-files...."Vi
16400 65 77 20 73 71 6c 69 74 65 20 73 63 68 65 6d 61 22 0a 20 20 20 22 73 65 74 20 2d 65 0a 74 65 6d ew.sqlite.schema"...."set.-e.tem
16420 70 5f 64 69 72 3d 5c 22 24 7b 54 4d 50 44 49 52 3a 2d 2f 74 6d 70 2f 7d 5c 22 0a 66 69 6c 65 5f p_dir=\"${TMPDIR:-/tmp/}\".file_
16440 6e 61 6d 65 3d 5c 22 73 71 6c 69 74 65 2d 73 63 68 65 6d 61 2d 64 69 61 67 72 61 6d 2e 73 71 6c name=\"sqlite-schema-diagram.sql
16460 5c 22 0a 66 69 6c 65 5f 70 61 74 68 3d 5c 22 24 7b 74 65 6d 70 5f 64 69 72 7d 2f 24 7b 66 69 6c \".file_path=\"${temp_dir}/${fil
16480 65 5f 6e 61 6d 65 7d 5c 22 0a 75 72 6c 3d 5c 22 68 74 74 70 73 3a 2f 2f 67 69 74 6c 61 62 2e 63 e_name}\".url=\"https://gitlab.c
164a0 6f 6d 2f 53 63 72 65 77 74 61 70 65 6c 6c 6f 2f 73 71 6c 69 74 65 2d 73 63 68 65 6d 61 2d 64 69 om/Screwtapello/sqlite-schema-di
164c0 61 67 72 61 6d 2f 2d 2f 72 61 77 2f 6d 61 69 6e 2f 73 71 6c 69 74 65 2d 73 63 68 65 6d 61 2d 64 agram/-/raw/main/sqlite-schema-d
164e0 69 61 67 72 61 6d 2e 73 71 6c 5c 22 0a 0a 69 66 20 5b 5b 20 21 20 2d 66 20 5c 22 24 66 69 6c 65 iagram.sql\"..if.[[.!.-f.\"$file
16500 5f 70 61 74 68 5c 22 20 5d 5d 3b 20 74 68 65 6e 0a 20 20 63 75 72 6c 20 2d 6f 20 5c 22 24 66 69 _path\".]];.then...curl.-o.\"$fi
16520 6c 65 5f 70 61 74 68 5c 22 20 5c 22 24 75 72 6c 5c 22 0a 66 69 0a 0a 73 71 6c 69 74 65 33 20 2d le_path\".\"$url\".fi..sqlite3.-
16540 6c 69 73 74 20 5c 22 3c 3c 66 3e 3e 5c 22 20 3c 20 24 66 69 6c 65 5f 70 61 74 68 20 3e 20 5c 22 list.\"<<f>>\".<.$file_path.>.\"
16560 3c 3c 66 6e 65 3e 3e 2e 64 6f 74 5c 22 0a 64 6f 74 20 2d 54 73 76 67 20 5c 22 3c 3c 66 6e 65 3e <<fne>>.dot\".dot.-Tsvg.\"<<fne>
16580 3e 2e 64 6f 74 5c 22 20 3e 20 5c 22 3c 3c 66 6e 65 3e 3e 2e 73 76 67 5c 22 0a 65 63 68 6f 20 5c >.dot\".>.\"<<fne>>.svg\".echo.\
165a0 22 3c 3c 66 6e 65 3e 3e 2e 73 76 67 5c 22 0a 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 64 6f "<<fne>>.svg\"."....:utils.'("do
165c0 74 22 20 22 73 71 6c 69 74 65 33 22 29 0a 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a t"."sqlite3")....:on-completion.
165e0 20 20 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 ...(lambda.(buffer.process).....
16600 20 28 69 66 20 28 3d 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 72 6f .(if.(=.(process-exit-status.pro
16620 63 65 73 73 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d cess).0)..........(with-current-
16640 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 buffer.buffer............(let.((
16660 73 76 67 2d 66 69 6c 65 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 20 28 62 75 66 66 65 72 2d 73 74 svg-file.(string-trim.(buffer-st
16680 72 69 6e 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e ring))))..............(if.(strin
166a0 67 2d 73 75 66 66 69 78 2d 70 20 22 73 76 67 22 20 73 76 67 2d 66 69 6c 65 29 0a 20 20 20 20 20 g-suffix-p."svg".svg-file)......
166c0 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ............(progn..............
166e0 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 20 73 76 67 2d 66 69 6c 65 29 0a 20 20 20 20 20 ......(find-file.svg-file)......
16700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 66 65 ..............(kill-buffer.buffe
16720 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 r))................(switch-to-bu
16740 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 ffer.buffer))))........(switch-t
16760 6f 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f o-buffer.buffer)))))..;;;###auto
16780 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d load.(defun.dwim-shell-commands-
167a0 6f 70 65 6e 2d 65 78 74 65 72 6e 61 6c 6c 79 20 28 29 0a 20 20 22 4f 70 65 6e 20 66 69 6c 65 28 open-externally.()..."Open.file(
167c0 73 29 20 65 78 74 65 72 6e 61 6c 6c 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a s).externally."...(interactive).
167e0 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d ..(dwim-shell-command-on-marked-
16800 66 69 6c 65 73 0a 20 20 20 22 4f 70 65 6e 20 65 78 74 65 72 6e 61 6c 6c 79 22 0a 20 20 20 28 69 files...."Open.externally"....(i
16820 66 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 20 f.(eq.system-type.'darwin)......
16840 20 20 28 69 66 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 70 72 6f 67 2d 6d 6f 64 65 ..(if.(derived-mode-p.'prog-mode
16860 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 78 65 64 20 2d 2d 6c 69 6e 65 )............(format."xed.--line
16880 20 25 64 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .%d.'<<f>>'"....................
168a0 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 (line-number-at-pos.(point)))...
168c0 20 20 20 20 20 20 20 22 6f 70 65 6e 20 27 3c 3c 66 3e 3e 27 22 29 0a 20 20 20 20 20 22 78 64 67 ......."open.'<<f>>'")......"xdg
168e0 2d 6f 70 65 6e 20 27 3c 3c 66 3e 3e 27 22 29 0a 20 20 20 3a 73 68 65 6c 6c 2d 75 74 69 6c 20 22 -open.'<<f>>'")....:shell-util."
16900 7a 73 68 22 0a 20 20 20 3a 73 68 65 6c 6c 2d 61 72 67 73 20 27 28 22 2d 78 22 20 22 2d 63 22 29 zsh"....:shell-args.'("-x"."-c")
16920 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 3a 75 74 69 6c 73 20 ....:silent-success.t....:utils.
16940 28 69 66 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 (if.(eq.system-type.'darwin)....
16960 20 20 20 20 20 20 20 20 20 20 20 22 6f 70 65 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 78 ..........."open"............."x
16980 64 67 2d 6f 70 65 6e 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 dg-open")))..;;;###autoload.(def
169a0 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 63 61 66 un.dwim-shell-commands-macos-caf
169c0 66 65 69 6e 61 74 65 20 28 29 0a 20 20 22 49 6e 76 6f 6b 65 20 63 61 66 66 65 69 6e 61 74 65 20 feinate.()..."Invoke.caffeinate.
169e0 74 6f 20 70 72 65 76 65 6e 74 20 6d 61 63 20 66 72 6f 6d 20 73 6c 65 65 70 69 6e 67 2e 22 0a 20 to.prevent.mac.from.sleeping."..
16a00 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d .(interactive)...(dwim-shell-com
16a20 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 61 66 66 65 69 6e mand-on-marked-files...."Caffein
16a40 61 74 65 22 0a 20 20 20 22 63 61 66 66 65 69 6e 61 74 65 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 ate"...."caffeinate"....:utils."
16a60 63 61 66 66 65 69 6e 61 74 65 22 0a 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 0a 20 20 caffeinate"....:no-progress.t...
16a80 20 3a 66 6f 63 75 73 2d 6e 6f 77 20 74 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a .:focus-now.t))..;;;###autoload.
16aa0 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 (defun.dwim-shell-commands-macos
16ac0 2d 6d 61 6b 65 2d 66 69 6e 64 65 72 2d 61 6c 69 61 73 20 28 29 0a 20 20 22 4d 61 6b 65 20 6d 61 -make-finder-alias.()..."Make.ma
16ae0 63 4f 53 20 46 69 6e 64 65 72 20 61 6c 69 61 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 cOS.Finder.alias."...(interactiv
16b00 65 29 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f e)...(let.((files.(dwim-shell-co
16b20 6d 6d 61 6e 64 2d 2d 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 28 74 61 72 67 65 74 2d 64 mmand--files)).........(target-d
16b40 69 72 20 28 72 65 61 64 2d 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 20 22 53 65 6c 65 63 74 20 ir.(read-directory-name."Select.
16b60 74 61 72 67 65 74 20 64 69 72 3a 20 22 20 22 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 22 20 6e 69 target.dir:."."/Applications".ni
16b80 6c 20 74 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f l.t))).....(dwim-shell-command-o
16ba0 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 4d 61 6b 65 20 6d 61 63 4f 53 20 n-marked-files......"Make.macOS.
16bc0 61 6c 69 61 73 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 6f 73 61 73 63 72 69 70 74 20 2d alias"......(format."osascript.-
16be0 65 20 27 74 65 6c 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 5c 22 46 69 6e 64 65 72 5c 22 20 74 e.'tell.application.\"Finder\".t
16c00 6f 20 6d 61 6b 65 20 61 6c 69 61 73 20 66 69 6c 65 20 74 6f 20 50 4f 53 49 58 20 66 69 6c 65 20 o.make.alias.file.to.POSIX.file.
16c20 5c 22 3c 3c 66 3e 3e 5c 22 20 61 74 20 50 4f 53 49 58 20 66 69 6c 65 20 5c 22 25 73 5c 22 27 22 \"<<f>>\".at.POSIX.file.\"%s\"'"
16c40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 74 61 72 67 65 74 2d 64 69 72 29 0a 20 20 20 20 20 3a ..............target-dir)......:
16c60 75 74 69 6c 73 20 22 6f 73 61 73 63 72 69 70 74 22 0a 20 20 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 utils."osascript"......:no-progr
16c80 65 73 73 20 74 0a 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 ess.t......:silent-success.t....
16ca0 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 ..:on-completion.(lambda.(buffer
16cc0 20 5f 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ._process)......................
16ce0 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 .(kill-buffer.buffer)...........
16d00 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d 6a 75 6d 70 20 6e 69 6c 20 28 66 69 6c ............(dired-jump.nil.(fil
16d20 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 74 61 72 67 65 74 2d 64 69 72 20 28 66 69 6c 65 2d 6e e-name-concat.target-dir.(file-n
16d40 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 28 6e 74 68 20 30 20 66 69 6c 65 73 29 29 29 ame-nondirectory.(nth.0.files)))
16d60 29 29 29 29 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 64 77 69 )))))..;;;###autoload.(defun.dwi
16d80 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 76 65 72 73 69 6f 6e 2d 61 m-shell-commands-macos-version-a
16da0 6e 64 2d 68 61 72 64 77 61 72 65 2d 6f 76 65 72 76 69 65 77 2d 69 6e 66 6f 20 28 29 0a 20 20 22 nd-hardware-overview-info.()..."
16dc0 56 69 65 77 20 6d 61 63 4f 53 20 76 65 72 73 69 6f 6e 20 61 6e 64 20 68 61 72 64 77 61 72 65 20 View.macOS.version.and.hardware.
16de0 6f 76 65 72 76 69 65 77 20 69 6e 66 6f 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a overview.info."...(interactive).
16e00 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d ..(dwim-shell-command-on-marked-
16e20 66 69 6c 65 73 0a 20 20 20 22 6d 61 63 4f 53 20 68 61 72 64 77 61 72 65 20 6f 76 65 72 76 69 65 files...."macOS.hardware.overvie
16e40 77 22 0a 20 20 20 22 73 77 5f 76 65 72 73 3b 20 73 79 73 74 65 6d 5f 70 72 6f 66 69 6c 65 72 20 w"...."sw_vers;.system_profiler.
16e60 53 50 48 61 72 64 77 61 72 65 44 61 74 61 54 79 70 65 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 SPHardwareDataType"....:utils.'(
16e80 22 73 77 5f 76 65 72 73 22 20 22 73 79 73 74 65 6d 5f 70 72 6f 66 69 6c 65 72 22 29 29 29 0a 0a "sw_vers"."system_profiler")))..
16ea0 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c ;;;###autoload.(defun.dwim-shell
16ec0 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 72 65 76 65 61 6c 2d 69 6e 2d 66 69 6e 64 65 72 -commands-macos-reveal-in-finder
16ee0 20 28 29 0a 20 20 22 52 65 76 65 61 6c 20 73 65 6c 65 63 74 65 64 20 66 69 6c 65 73 20 69 6e 20 .()..."Reveal.selected.files.in.
16f00 6d 61 63 4f 53 20 46 69 6e 64 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 macOS.Finder."...(interactive)..
16f20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 .(dwim-shell-command-on-marked-f
16f40 69 6c 65 73 0a 20 20 20 22 52 65 76 65 61 6c 20 69 6e 20 46 69 6e 64 65 72 22 0a 20 20 20 22 69 iles...."Reveal.in.Finder"...."i
16f60 6d 70 6f 72 74 20 41 70 70 4b 69 74 0a 20 20 20 20 4e 53 57 6f 72 6b 73 70 61 63 65 2e 73 68 61 mport.AppKit.....NSWorkspace.sha
16f80 72 65 64 2e 61 63 74 69 76 61 74 65 46 69 6c 65 56 69 65 77 65 72 53 65 6c 65 63 74 69 6e 67 28 red.activateFileViewerSelecting(
16fa0 5b 5c 22 3c 3c 2a 3e 3e 5c 22 5d 2e 6d 61 70 7b 55 52 4c 28 66 69 6c 65 55 52 4c 57 69 74 68 50 [\"<<*>>\"].map{URL(fileURLWithP
16fc0 61 74 68 3a 24 30 29 7d 29 22 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a ath:$0)})"....:silent-success.t.
16fe0 20 20 20 3a 73 68 65 6c 6c 2d 70 69 70 65 20 22 73 77 69 66 74 20 2d 22 0a 20 20 20 3a 6a 6f 69 ...:shell-pipe."swift.-"....:joi
17000 6e 2d 73 65 70 61 72 61 74 6f 72 20 22 2c 20 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 73 77 69 66 n-separator.",."....:utils."swif
17020 74 22 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 t"))..(defun.dwim-shell-commands
17040 2d 2d 6d 61 63 6f 73 2d 73 68 61 72 69 6e 67 2d 73 65 72 76 69 63 65 73 20 28 29 0a 20 20 22 52 --macos-sharing-services.()..."R
17060 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 73 68 61 72 69 6e 67 20 73 65 72 76 69 63 65 73 eturn.a.list.of.sharing.services
17080 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 73 6f 75 72 63 65 20 28 66 6f 72 6d 61 74 20 22 69 6d 70 ."...(let*.((source.(format."imp
170a0 6f 72 74 20 41 70 70 4b 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ort.AppKit......................
170c0 20 20 20 20 4e 53 53 68 61 72 69 6e 67 53 65 72 76 69 63 65 2e 73 68 61 72 69 6e 67 53 65 72 76 ....NSSharingService.sharingServ
170e0 69 63 65 73 28 66 6f 72 49 74 65 6d 73 3a 20 5b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ices(forItems:.[................
17100 20 20 20 20 20 20 20 20 20 20 20 20 25 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............%s..................
17120 20 20 20 20 20 20 20 20 5d 29 2e 66 6f 72 45 61 63 68 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 ........]).forEach.{............
17140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 72 69 6e 74 28 5c 22 5c 5c 28 24 30 2e 74 69 ................print(\"\\($0.ti
17160 74 6c 65 29 5c 22 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 tle)\").........................
17180 20 7d 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 28 73 74 .}"..........................(st
171a0 72 69 6e 67 2d 6a 6f 69 6e 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 ring-join.(mapcar.(lambda.(file)
171c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
171e0 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 55 52 4c 28 66 69 .................(format."URL(fi
17200 6c 65 55 52 4c 57 69 74 68 50 61 74 68 3a 20 5c 22 25 73 5c 22 29 22 20 66 69 6c 65 29 29 0a 20 leURLWithPath:.\"%s\")".file))..
17220 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 ................................
17240 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 .............(dwim-shell-command
17260 2d 2d 66 69 6c 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --files)).......................
17280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 20 22 29 29 29 0a 20 20 20 20 20 20 20 20 ................",."))).........
172a0 20 28 73 65 72 76 69 63 65 73 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 .(services.(split-string........
172c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 0a 20 20 20 20 20 20 .............(string-trim.......
172e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 61 6e 79 74 68 69 6e ...............;;.Remove.anythin
17300 67 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 73 74 61 72 74 20 77 69 74 68 20 61 6c 70 68 61 20 g.that.doesn't.start.with.alpha.
17320 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 characters......................
17340 3b 3b 20 54 68 65 72 65 20 6d 61 79 20 62 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 61 72 6e ;;.There.may.be.compilation.warn
17360 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c ings.......................(repl
17380 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5e 5b 5e 5b 3a 61 6c 70 68 61 ace-regexp-in-string."^[^[:alpha
173a0 3a 5d 5d 2e 2a 5c 6e 22 20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :]].*\n"."".....................
173c0 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 73 68 65 6c ...........................(shel
173e0 6c 2d 63 6f 6d 6d 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 65 63 68 l-command-to-string.(format."ech
17400 6f 20 27 25 73 27 20 7c 20 73 77 69 66 74 20 2d 22 20 73 6f 75 72 63 65 29 29 29 29 0a 20 20 20 o.'%s'.|.swift.-".source))))....
17420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 28 77 68 ................."\n"))).....(wh
17440 65 6e 20 28 73 65 71 2d 65 6d 70 74 79 2d 70 20 73 65 72 76 69 63 65 73 29 0a 20 20 20 20 20 20 en.(seq-empty-p.services).......
17460 28 65 72 72 6f 72 20 22 4e 6f 20 73 68 61 72 69 6e 67 20 73 65 72 76 69 63 65 73 20 61 76 61 69 (error."No.sharing.services.avai
17480 6c 61 62 6c 65 22 29 29 0a 20 20 20 20 73 65 72 76 69 63 65 73 29 29 0a 0a 3b 3b 3b 23 23 23 61 lable")).....services))..;;;###a
174a0 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e utoload.(defun.dwim-shell-comman
174c0 64 73 2d 6d 61 63 6f 73 2d 73 68 61 72 65 20 28 29 0a 20 20 22 53 68 61 72 65 20 73 65 6c 65 63 ds-macos-share.()..."Share.selec
174e0 74 65 64 20 66 69 6c 65 73 20 66 72 6f 6d 20 6d 61 63 4f 53 2e 22 0a 20 20 28 69 6e 74 65 72 61 ted.files.from.macOS."...(intera
17500 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 73 65 72 76 69 63 65 73 20 28 64 77 69 6d 2d ctive)...(let*.((services.(dwim-
17520 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 6d 61 63 6f 73 2d 73 68 61 72 69 6e 67 2d 73 65 shell-commands--macos-sharing-se
17540 72 76 69 63 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 72 76 69 63 65 2d 6e 61 6d 65 20 rvices))..........(service-name.
17560 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 22 53 68 61 72 65 20 76 69 61 3a 20 22 20 73 (completing-read."Share.via:.".s
17580 65 72 76 69 63 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 6c 65 63 74 69 6f 6e 20 28 73 ervices))..........(selection.(s
175a0 65 71 2d 70 6f 73 69 74 69 6f 6e 20 73 65 72 76 69 63 65 73 20 73 65 72 76 69 63 65 2d 6e 61 6d eq-position.services.service-nam
175c0 65 20 23 27 73 74 72 69 6e 67 2d 65 71 75 61 6c 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 e.#'string-equal))).....(dwim-sh
175e0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 ell-command-on-marked-files.....
17600 20 22 53 68 61 72 65 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 22 69 6d 70 ."Share"......(format......."imp
17620 6f 72 74 20 41 70 70 4b 69 74 0a 0a 20 20 20 20 20 20 20 5f 20 3d 20 4e 53 41 70 70 6c 69 63 61 ort.AppKit........._.=.NSApplica
17640 74 69 6f 6e 2e 73 68 61 72 65 64 0a 0a 20 20 20 20 20 20 20 4e 53 41 70 70 2e 73 65 74 41 63 74 tion.shared.........NSApp.setAct
17660 69 76 61 74 69 6f 6e 50 6f 6c 69 63 79 28 2e 72 65 67 75 6c 61 72 29 0a 0a 20 20 20 20 20 20 20 ivationPolicy(.regular).........
17680 63 6c 61 73 73 20 4d 79 57 69 6e 64 6f 77 3a 20 4e 53 57 69 6e 64 6f 77 2c 20 4e 53 53 68 61 72 class.MyWindow:.NSWindow,.NSShar
176a0 69 6e 67 53 65 72 76 69 63 65 44 65 6c 65 67 61 74 65 20 7b 0a 20 20 20 20 20 20 20 20 20 66 75 ingServiceDelegate.{..........fu
176c0 6e 63 20 73 68 61 72 69 6e 67 53 65 72 76 69 63 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 5f 20 nc.sharingService(............_.
176e0 73 68 61 72 69 6e 67 53 65 72 76 69 63 65 3a 20 4e 53 53 68 61 72 69 6e 67 53 65 72 76 69 63 65 sharingService:.NSSharingService
17700 2c 0a 20 20 20 20 20 20 20 20 20 20 20 64 69 64 53 68 61 72 65 49 74 65 6d 73 20 69 74 65 6d 73 ,............didShareItems.items
17720 3a 20 5b 41 6e 79 5d 0a 20 20 20 20 20 20 20 20 20 29 20 7b 0a 20 20 20 20 20 20 20 20 20 20 20 :.[Any]..........).{............
17740 4e 53 41 70 70 6c 69 63 61 74 69 6f 6e 2e 73 68 61 72 65 64 2e 74 65 72 6d 69 6e 61 74 65 28 6e NSApplication.shared.terminate(n
17760 69 6c 29 0a 20 20 20 20 20 20 20 20 20 7d 0a 0a 20 20 20 20 20 20 20 20 20 66 75 6e 63 20 73 68 il)..........}...........func.sh
17780 61 72 69 6e 67 53 65 72 76 69 63 65 28 0a 20 20 20 20 20 20 20 20 20 20 20 5f 20 73 68 61 72 69 aringService(............_.shari
177a0 6e 67 53 65 72 76 69 63 65 3a 20 4e 53 53 68 61 72 69 6e 67 53 65 72 76 69 63 65 2c 20 64 69 64 ngService:.NSSharingService,.did
177c0 46 61 69 6c 54 6f 53 68 61 72 65 49 74 65 6d 73 20 69 74 65 6d 73 3a 20 5b 41 6e 79 5d 2c 20 65 FailToShareItems.items:.[Any],.e
177e0 72 72 6f 72 3a 20 45 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 29 20 7b 0a 20 20 20 20 20 20 20 rror:.Error..........).{........
17800 20 20 20 20 6c 65 74 20 65 72 72 6f 72 20 3d 20 65 72 72 6f 72 20 61 73 20 4e 53 45 72 72 6f 72 ....let.error.=.error.as.NSError
17820 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 65 72 72 6f 72 2e 64 6f 6d 61 69 6e 20 3d 3d 20 4e ............if.error.domain.==.N
17840 53 43 6f 63 6f 61 45 72 72 6f 72 44 6f 6d 61 69 6e 20 26 26 20 65 72 72 6f 72 2e 63 6f 64 65 20 SCocoaErrorDomain.&&.error.code.
17860 3d 3d 20 4e 53 55 73 65 72 43 61 6e 63 65 6c 6c 65 64 45 72 72 6f 72 20 7b 0a 20 20 20 20 20 20 ==.NSUserCancelledError.{.......
17880 20 20 20 20 20 20 20 4e 53 41 70 70 6c 69 63 61 74 69 6f 6e 2e 73 68 61 72 65 64 2e 74 65 72 6d .......NSApplication.shared.term
178a0 69 6e 61 74 65 28 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 20 inate(nil)............}.........
178c0 20 20 20 65 78 69 74 28 31 29 0a 20 20 20 20 20 20 20 20 20 7d 0a 20 20 20 20 20 20 20 7d 0a 0a ...exit(1)..........}........}..
178e0 20 20 20 20 20 20 20 6c 65 74 20 77 69 6e 64 6f 77 20 3d 20 4d 79 57 69 6e 64 6f 77 28 0a 20 20 .......let.window.=.MyWindow(...
17900 20 20 20 20 20 20 20 63 6f 6e 74 65 6e 74 52 65 63 74 3a 20 4e 53 52 65 63 74 28 78 3a 20 30 2c .......contentRect:.NSRect(x:.0,
17920 20 79 3a 20 30 2c 20 77 69 64 74 68 3a 20 30 2c 20 68 65 69 67 68 74 3a 20 30 29 2c 0a 20 20 20 .y:.0,.width:.0,.height:.0),....
17940 20 20 20 20 20 20 73 74 79 6c 65 4d 61 73 6b 3a 20 5b 5d 2c 0a 20 20 20 20 20 20 20 20 20 62 61 ......styleMask:.[],..........ba
17960 63 6b 69 6e 67 3a 20 2e 62 75 66 66 65 72 65 64 2c 0a 20 20 20 20 20 20 20 20 20 64 65 66 65 72 cking:..buffered,..........defer
17980 3a 20 66 61 6c 73 65 29 0a 0a 20 20 20 20 20 20 20 6c 65 74 20 73 65 72 76 69 63 65 73 20 3d 20 :.false).........let.services.=.
179a0 4e 53 53 68 61 72 69 6e 67 53 65 72 76 69 63 65 2e 73 68 61 72 69 6e 67 53 65 72 76 69 63 65 73 NSSharingService.sharingServices
179c0 28 66 6f 72 49 74 65 6d 73 3a 20 5b 5c 22 3c 3c 2a 3e 3e 5c 22 5d 2e 6d 61 70 7b 55 52 4c 28 66 (forItems:.[\"<<*>>\"].map{URL(f
179e0 69 6c 65 55 52 4c 57 69 74 68 50 61 74 68 3a 24 30 29 7d 29 0a 20 20 20 20 20 20 20 6c 65 74 20 ileURLWithPath:$0)})........let.
17a00 73 65 72 76 69 63 65 20 3d 20 73 65 72 76 69 63 65 73 5b 25 73 5d 0a 20 20 20 20 20 20 20 73 65 service.=.services[%s]........se
17a20 72 76 69 63 65 2e 64 65 6c 65 67 61 74 65 20 3d 20 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 73 rvice.delegate.=.window........s
17a40 65 72 76 69 63 65 2e 70 65 72 66 6f 72 6d 28 77 69 74 68 49 74 65 6d 73 3a 20 5b 5c 22 3c 3c 2a ervice.perform(withItems:.[\"<<*
17a60 3e 3e 5c 22 5d 2e 6d 61 70 7b 55 52 4c 28 66 69 6c 65 55 52 4c 57 69 74 68 50 61 74 68 3a 24 30 >>\"].map{URL(fileURLWithPath:$0
17a80 29 7d 29 0a 0a 20 20 20 20 20 20 20 4e 53 41 70 70 2e 72 75 6e 28 29 22 20 73 65 6c 65 63 74 69 )}).........NSApp.run()".selecti
17aa0 6f 6e 29 0a 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 20 20 on)......:silent-success.t......
17ac0 3a 73 68 65 6c 6c 2d 70 69 70 65 20 22 73 77 69 66 74 20 2d 22 0a 20 20 20 20 20 3a 6a 6f 69 6e :shell-pipe."swift.-"......:join
17ae0 2d 73 65 70 61 72 61 74 6f 72 20 22 2c 20 22 0a 20 20 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 -separator.",."......:no-progres
17b00 73 20 74 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 73 77 69 66 74 22 29 29 29 0a 0a 3b 3b 3b 23 s.t......:utils."swift")))..;;;#
17b20 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d ##autoload.(defun.dwim-shell-com
17b40 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 74 6f 67 67 6c 65 2d 64 69 73 70 6c 61 79 2d 72 6f 74 61 74 mands-macos-toggle-display-rotat
17b60 69 6f 6e 20 28 29 0a 20 20 22 52 6f 74 61 74 65 20 64 69 73 70 6c 61 79 2e 22 0a 20 20 28 69 6e ion.()..."Rotate.display."...(in
17b80 74 65 72 61 63 74 69 76 65 29 0a 20 20 3b 3b 20 23 20 20 44 69 73 70 6c 61 79 5f 49 44 20 20 20 teractive)...;;.#..Display_ID...
17ba0 20 52 65 73 6f 6c 75 74 69 6f 6e 20 20 5f 5f 5f 5f 44 69 73 70 6c 61 79 5f 42 6f 75 6e 64 73 5f .Resolution..____Display_Bounds_
17bc0 5f 5f 5f 20 20 52 6f 74 61 74 69 6f 6e 0a 20 20 3b 3b 20 32 20 20 30 78 32 62 33 34 37 36 39 32 ___..Rotation...;;.2..0x2b347692
17be0 20 20 20 20 31 34 34 30 78 32 35 36 30 20 20 20 20 20 20 30 20 20 20 20 20 30 20 20 31 34 34 30 ....1440x2560......0.....0..1440
17c00 20 20 32 35 36 30 20 20 20 20 32 37 30 20 20 20 20 5b 6d 61 69 6e 5d 0a 20 20 3b 3b 20 46 72 6f ..2560....270....[main]...;;.Fro
17c20 6d 20 66 62 2d 72 6f 74 61 74 65 20 6f 75 74 70 75 74 2c 20 67 65 74 20 74 68 65 20 60 63 75 72 m.fb-rotate.output,.get.the.`cur
17c40 72 65 6e 74 2d 72 6f 74 61 74 69 6f 6e 27 20 66 72 6f 6d 20 43 6f 6c 75 6d 6e 20 37 2c 20 72 6f rent-rotation'.from.Column.7,.ro
17c60 77 20 31 20 7a 65 72 6f 2d 62 61 73 65 64 2e 0a 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 w.1.zero-based....(let.((current
17c80 2d 72 6f 74 61 74 69 6f 6e 20 28 6e 74 68 20 37 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 -rotation.(nth.7.(split-string.(
17ca0 6e 74 68 20 31 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 66 62 2d 72 6f 74 61 74 65 22 nth.1.(process-lines."fb-rotate"
17cc0 20 22 2d 69 22 29 29 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d ."-i")))))).....(dwim-shell-comm
17ce0 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 6d 61 63 4f 53 20 and-on-marked-files......"macOS.
17d00 68 61 72 64 77 61 72 65 20 6f 76 65 72 76 69 65 77 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 hardware.overview"......(format.
17d20 22 66 62 2d 72 6f 74 61 74 65 20 2d 64 20 31 20 2d 72 20 25 73 22 20 28 69 66 20 28 65 71 75 61 "fb-rotate.-d.1.-r.%s".(if.(equa
17d40 6c 20 63 75 72 72 65 6e 74 2d 72 6f 74 61 74 69 6f 6e 20 22 32 37 30 22 29 20 22 30 22 20 22 32 l.current-rotation."270")."0"."2
17d60 37 30 22 29 29 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 66 62 2d 72 6f 74 61 74 65 22 29 29 29 70"))......:utils."fb-rotate")))
17d80 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 ..;;;###autoload.(defun.dwim-she
17da0 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 6b 65 2d 73 77 69 66 74 2d 70 61 63 6b 61 67 65 2d 6c ll-commands-make-swift-package-l
17dc0 69 62 72 61 72 79 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73 77 69 66 74 20 70 61 63 6b ibrary.()..."Create.a.swift.pack
17de0 61 67 65 20 6c 69 62 72 61 72 79 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 age.library"...(interactive)...(
17e00 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c dwim-shell-command-on-marked-fil
17e20 65 73 0a 20 20 20 22 43 72 65 61 74 65 20 61 20 73 77 69 66 74 20 70 61 63 6b 61 67 65 20 6c 69 es...."Create.a.swift.package.li
17e40 62 72 61 72 79 22 0a 20 20 20 22 73 77 69 66 74 20 70 61 63 6b 61 67 65 20 69 6e 69 74 20 2d 2d brary"...."swift.package.init.--
17e60 74 79 70 65 20 6c 69 62 72 61 72 79 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 73 77 69 66 74 22 29 type.library"....:utils."swift")
17e80 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 64 77 69 6d 2d 73 68 )..;;;###autoload.(defun.dwim-sh
17ea0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 6b 65 2d 73 77 69 66 74 2d 70 61 63 6b 61 67 65 2d ell-commands-make-swift-package-
17ec0 65 78 65 63 75 74 61 62 6c 65 20 28 29 0a 20 20 22 43 72 65 61 74 65 20 61 20 73 77 69 66 74 20 executable.()..."Create.a.swift.
17ee0 70 61 63 6b 61 67 65 20 65 78 65 63 75 74 61 62 6c 65 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 package.executable"...(interacti
17f00 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 ve)...(dwim-shell-command-on-mar
17f20 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 72 65 61 74 65 20 61 20 73 77 69 66 74 20 70 61 63 ked-files...."Create.a.swift.pac
17f40 6b 61 67 65 20 65 78 65 63 75 74 61 62 6c 65 22 0a 20 20 20 22 73 77 69 66 74 20 70 61 63 6b 61 kage.executable"...."swift.packa
17f60 67 65 20 69 6e 69 74 20 2d 2d 74 79 70 65 20 65 78 65 63 75 74 61 62 6c 65 22 0a 20 20 20 3a 75 ge.init.--type.executable"....:u
17f80 74 69 6c 73 20 22 73 77 69 66 74 22 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c tils."swift"))..(defun.dwim-shel
17fa0 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 6d 61 63 6f 73 2d 61 70 70 73 20 28 29 0a 20 20 22 52 65 74 l-commands--macos-apps.()..."Ret
17fc0 75 72 6e 20 61 6c 69 73 74 20 6f 66 20 6d 61 63 4f 53 20 61 70 70 73 20 28 5c 22 45 6d 61 63 73 urn.alist.of.macOS.apps.(\"Emacs
17fe0 5c 22 20 2e 20 5c 22 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 2f 45 6d 61 63 73 2e 61 70 70 5c 22 \"...\"/Applications/Emacs.app\"
18000 29 2e 22 0a 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 0a 20 20 20 )."...(mapcar.(lambda.(path)....
18020 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 70 .........(cons.(file-name-base.p
18040 61 74 68 29 20 70 61 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 73 6f 72 74 0a ath).path))...........(seq-sort.
18060 20 20 20 20 20 20 20 20 20 20 20 23 27 73 74 72 69 6e 67 2d 6c 65 73 73 70 0a 20 20 20 20 20 20 ...........#'string-lessp.......
18080 20 20 20 20 20 28 73 65 71 2d 6d 61 70 63 61 74 20 28 6c 61 6d 62 64 61 20 28 70 61 74 68 73 29 .....(seq-mapcat.(lambda.(paths)
180a0 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 28 64 69 72 65 63 ..........................(direc
180c0 74 6f 72 79 2d 66 69 6c 65 73 2d 72 65 63 75 72 73 69 76 65 6c 79 0a 20 20 20 20 20 20 20 20 20 tory-files-recursively..........
180e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 61 74 68 73 20 22 5c 5c 2e 61 70 70 24 22 .................paths."\\.app$"
18100 20 74 20 28 6c 61 6d 62 64 61 20 28 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .t.(lambda.(path)...............
18120 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 ................................
18140 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 22 2e 61 70 70 22 20 70 61 74 (not.(string-suffix-p.".app".pat
18160 68 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 h)))))........................'(
18180 22 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 22 20 22 7e 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 22 "/Applications"."~/Applications"
181a0 20 22 2f 53 79 73 74 65 6d 2f 41 70 70 6c 69 63 61 74 69 6f 6e 73 22 29 29 29 29 29 0a 0a 3b 3b ."/System/Applications")))))..;;
181c0 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ;###autoload.(defun.dwim-shell-c
181e0 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 73 65 74 2d 64 65 66 61 75 6c 74 2d 61 70 70 20 28 29 ommands-macos-set-default-app.()
18200 0a 20 20 22 53 65 74 20 64 65 66 61 75 6c 74 20 61 70 70 20 66 6f 72 20 66 69 6c 65 28 73 29 2e ..."Set.default.app.for.file(s).
18220 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 61 70 70 73 "...(interactive)...(let*.((apps
18240 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 6d 61 63 6f 73 2d 61 70 70 .(dwim-shell-commands--macos-app
18260 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 6c 65 63 74 69 6f 6e 20 28 70 72 6f 67 6e 0a 20 s))..........(selection.(progn..
18280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 61 73 73 65 72 74 20 .....................(cl-assert.
182a0 61 70 70 73 20 6e 69 6c 20 22 4e 6f 20 61 70 70 73 20 66 6f 75 6e 64 22 29 0a 20 20 20 20 20 20 apps.nil."No.apps.found").......
182c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 ................(completing-read
182e0 20 22 53 65 74 20 64 65 66 61 75 6c 74 20 61 70 70 3a 20 22 20 61 70 70 73 20 6e 69 6c 20 74 29 ."Set.default.app:.".apps.nil.t)
18300 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d ))).....(dwim-shell-command-on-m
18320 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 53 65 74 20 64 65 66 61 75 6c 74 20 61 70 arked-files......"Set.default.ap
18340 70 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 64 75 74 69 20 2d 73 20 5c 22 25 73 5c 22 20 p"......(format."duti.-s.\"%s\".
18360 27 3c 3c 65 3e 3e 27 20 61 6c 6c 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e '<<e>>'.all"..............(strin
18380 67 2d 74 72 69 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 63 6f 6d 6d g-trim...............(shell-comm
183a0 61 6e 64 2d 74 6f 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 64 65 66 61 75 6c 74 73 20 and-to-string.(format."defaults.
183c0 72 65 61 64 20 27 25 73 2f 43 6f 6e 74 65 6e 74 73 2f 49 6e 66 6f 2e 70 6c 69 73 74 27 20 43 46 read.'%s/Contents/Info.plist'.CF
183e0 42 75 6e 64 6c 65 49 64 65 6e 74 69 66 69 65 72 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 BundleIdentifier"...............
18400 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 ................................
18420 20 28 6d 61 70 2d 65 6c 74 20 61 70 70 73 20 73 65 6c 65 63 74 69 6f 6e 29 29 29 29 29 0a 20 20 .(map-elt.apps.selection)))))...
18440 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 70 72 ...:silent-success.t......:no-pr
18460 6f 67 72 65 73 73 20 74 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 64 75 74 69 22 29 29 29 0a 0a ogress.t......:utils."duti")))..
18480 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c ;;;###autoload.(defun.dwim-shell
184a0 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 6f 70 65 6e 2d 77 69 74 68 20 28 29 0a 20 20 22 -commands-macos-open-with.()..."
184c0 4f 70 65 6e 20 66 69 6c 65 28 73 29 20 77 69 74 68 20 73 70 65 63 69 66 69 63 20 65 78 74 65 72 Open.file(s).with.specific.exter
184e0 6e 61 6c 20 61 70 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 nal.app."...(interactive)...(let
18500 2a 20 28 28 61 70 70 73 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 6d *.((apps.(dwim-shell-commands--m
18520 61 63 6f 73 2d 61 70 70 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 6c 65 63 74 69 6f 6e 20 acos-apps))..........(selection.
18540 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c (progn.......................(cl
18560 2d 61 73 73 65 72 74 20 61 70 70 73 20 6e 69 6c 20 22 4e 6f 20 61 70 70 73 20 66 6f 75 6e 64 22 -assert.apps.nil."No.apps.found"
18580 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 ).......................(complet
185a0 69 6e 67 2d 72 65 61 64 20 22 4f 70 65 6e 20 77 69 74 68 3a 20 22 20 61 70 70 73 20 6e 69 6c 20 ing-read."Open.with:.".apps.nil.
185c0 74 29 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e t)))).....(dwim-shell-command-on
185e0 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 4f 70 65 6e 20 77 69 74 68 22 0a 20 -marked-files......"Open.with"..
18600 20 20 20 20 28 66 6f 72 6d 61 74 20 22 6f 70 65 6e 20 2d 61 20 27 25 73 27 20 27 3c 3c 2a 3e 3e ....(format."open.-a.'%s'.'<<*>>
18620 27 22 20 28 6d 61 70 2d 65 6c 74 20 61 70 70 73 20 73 65 6c 65 63 74 69 6f 6e 29 29 0a 20 20 20 '".(map-elt.apps.selection))....
18640 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 20 20 3a 6e 6f 2d 70 72 6f ..:silent-success.t......:no-pro
18660 67 72 65 73 73 20 74 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 6f 70 65 6e 22 29 29 29 0a 0a 3b gress.t......:utils."open")))..;
18680 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d ;;###autoload.(defun.dwim-shell-
186a0 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 6f 70 65 6e 2d 77 69 74 68 2d 66 69 72 65 66 6f 78 commands-macos-open-with-firefox
186c0 20 28 29 0a 20 20 22 4f 70 65 6e 20 66 69 6c 65 28 73 29 20 69 6e 20 46 69 72 65 66 6f 78 2e 22 .()..."Open.file(s).in.Firefox."
186e0 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ...(interactive)...(dwim-shell-c
18700 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 4f 70 65 6e 20 ommand-on-marked-files...."Open.
18720 69 6e 20 46 69 72 65 66 6f 78 22 0a 20 20 20 22 6f 70 65 6e 20 2d 61 20 46 69 72 65 66 6f 78 20 in.Firefox"...."open.-a.Firefox.
18740 27 3c 3c 2a 3e 3e 27 22 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 '<<*>>'"....:silent-success.t...
18760 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 0a 20 20 20 3a 75 74 69 6c 73 20 22 6f 70 65 6e 22 .:no-progress.t....:utils."open"
18780 29 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 64 77 69 6d 2d 73 ))..;;;###autoload.(defun.dwim-s
187a0 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 6f 70 65 6e 2d 77 69 74 68 2d 73 61 hell-commands-macos-open-with-sa
187c0 66 61 72 69 20 28 29 0a 20 20 22 4f 70 65 6e 20 66 69 6c 65 28 73 29 20 69 6e 20 53 61 66 61 72 fari.()..."Open.file(s).in.Safar
187e0 69 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c i."...(interactive)...(dwim-shel
18800 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 4f 70 l-command-on-marked-files...."Op
18820 65 6e 20 69 6e 20 53 61 66 61 72 69 22 0a 20 20 20 22 6f 70 65 6e 20 2d 61 20 53 61 66 61 72 69 en.in.Safari"...."open.-a.Safari
18840 20 27 3c 3c 2a 3e 3e 27 22 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 .'<<*>>'"....:silent-success.t..
18860 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 0a 20 20 20 3a 75 74 69 6c 73 20 22 6f 70 65 6e ..:no-progress.t....:utils."open
18880 22 29 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 64 77 69 6d 2d "))..;;;###autoload.(defun.dwim-
188a0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 73 74 61 72 74 2d 72 65 63 6f 72 shell-commands-macos-start-recor
188c0 64 69 6e 67 2d 77 69 6e 64 6f 77 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 61 6e 64 20 73 74 61 ding-window.()..."Select.and.sta
188e0 72 74 20 72 65 63 6f 72 64 69 6e 67 20 61 20 6d 61 63 4f 53 20 77 69 6e 64 6f 77 2e 22 0a 20 20 rt.recording.a.macOS.window."...
18900 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 2a 20 28 28 77 69 6e 64 6f 77 20 28 (interactive)...(let*.((window.(
18920 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 6d 61 63 6f 73 2d 73 65 6c 65 63 dwim-shell-commands--macos-selec
18940 74 2d 77 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 61 74 68 20 28 64 77 69 6d 2d t-window))..........(path.(dwim-
18960 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 67 65 6e 65 72 61 74 65 2d 70 61 74 68 20 22 7e shell-commands--generate-path."~
18980 2f 53 63 72 65 65 6e 73 68 6f 74 73 22 20 28 63 61 72 20 77 69 6e 64 6f 77 29 20 22 2e 67 69 66 /Screenshots".(car.window).".gif
189a0 22 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 "))..........(buffer-file-name.p
189c0 61 74 68 29 20 3b 3b 20 6f 76 65 72 72 69 64 65 20 73 6f 20 3c 3c 66 3e 3e 20 70 69 63 6b 73 20 ath).;;.override.so.<<f>>.picks.
189e0 69 74 20 75 70 0a 20 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67 65 20 it.up..........(inhibit-message.
18a00 74 29 29 0a 20 20 20 20 3b 3b 20 53 69 6c 65 6e 63 65 20 65 63 68 6f 20 74 6f 20 61 76 6f 69 64 t)).....;;.Silence.echo.to.avoid
18a20 20 75 6e 72 65 6c 61 74 65 64 20 6d 65 73 73 61 67 65 73 20 6d 61 6b 69 6e 67 20 69 6e 74 6f 20 .unrelated.messages.making.into.
18a40 61 6e 69 6d 61 74 69 6f 6e 2e 0a 20 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f animation......(cl-letf.(((symbo
18a60 6c 2d 66 75 6e 63 74 69 6f 6e 20 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d l-function.'dwim-shell-command--
18a80 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 message)................(lambda.
18aa0 28 66 6d 74 20 26 72 65 73 74 20 61 72 67 73 29 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 28 64 (fmt.&rest.args).nil))).......(d
18ac0 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 wim-shell-command-on-marked-file
18ae0 73 0a 20 20 20 20 20 20 20 22 53 74 61 72 74 20 72 65 63 6f 72 64 69 6e 67 20 61 20 6d 61 63 4f s........"Start.recording.a.macO
18b00 53 20 77 69 6e 64 6f 77 2e 22 0a 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 S.window."........(format.......
18b20 20 20 22 6d 61 63 6f 73 72 65 63 20 2d 2d 72 65 63 6f 72 64 20 27 25 73 27 20 2d 2d 67 69 66 20 .."macosrec.--record.'%s'.--gif.
18b40 2d 2d 6f 75 74 70 75 74 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 20 20 20 20 20 28 63 64 72 20 77 --output.'<<f>>'".........(cdr.w
18b60 69 6e 64 6f 77 29 29 0a 20 20 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 indow))........:silent-success.t
18b80 0a 20 20 20 20 20 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 22 7e 2f 53 63 ........:monitor-directory."~/Sc
18ba0 72 65 65 6e 73 68 6f 74 73 22 0a 20 20 20 20 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 reenshots"........:no-progress.t
18bc0 0a 20 20 20 20 20 20 20 3a 75 74 69 6c 73 20 27 28 22 66 66 6d 70 65 67 22 20 22 6d 61 63 6f 73 ........:utils.'("ffmpeg"."macos
18be0 72 65 63 22 29 0a 20 20 20 20 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 20 rec")........:on-completion.....
18c00 20 20 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 ...(lambda.(buffer.process).....
18c20 20 20 20 20 20 28 69 66 20 28 3d 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 .....(if.(=.(process-exit-status
18c40 20 70 72 6f 63 65 73 73 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e .process).0)..............(progn
18c60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 61 76 65 64 20 72 65 63 6f 72 64 69 6e 67 ................"Saved.recording
18c80 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 2d 6a 75 6d 70 20 6e 69 6c "................(dired-jump.nil
18ca0 20 70 61 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 .path)................(kill-buff
18cc0 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 er.buffer))............(with-cur
18ce0 72 65 6e 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rent-buffer.buffer..............
18d00 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 (goto-char.(point-min)).........
18d20 20 20 20 20 20 28 69 66 20 28 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 22 41 62 6f 72 74 65 .....(if.(search-forward."Aborte
18d40 64 22 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 d".nil.t)..................(prog
18d60 6e 0a 20 20 20 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 22 41 n....................(message."A
18d80 62 6f 72 74 65 64 20 72 65 63 6f 72 64 69 6e 67 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 borted.recording")..............
18da0 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 ......(kill-buffer.buffer)).....
18dc0 20 20 20 20 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d 62 75 66 66 65 72 20 62 75 66 ...........(switch-to-buffer.buf
18de0 66 65 72 29 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d fer)))))))))..(defun.dwim-shell-
18e00 63 6f 6d 6d 61 6e 64 73 2d 2d 67 65 6e 65 72 61 74 65 2d 70 61 74 68 20 28 64 69 72 20 6e 61 6d commands--generate-path.(dir.nam
18e20 65 20 65 78 74 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 74 69 6d 65 73 74 61 6d 70 65 64 e.ext)..."Generate.a.timestamped
18e40 20 70 61 74 68 20 77 69 74 68 20 44 49 52 2c 20 4e 41 4d 45 2c 20 61 6e 64 20 45 58 54 2e 22 0a .path.with.DIR,.NAME,.and.EXT.".
18e60 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 ..(concat.(file-name-as-director
18e80 79 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 64 69 72 29 29 0a 20 20 20 20 20 20 y.(expand-file-name.dir)).......
18ea0 20 20 20 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 59 2d 25 6d 2d 25 ....(format-time-string."%Y-%m-%
18ec0 64 2d 25 48 3a 25 4d 3a 25 53 2d 22 29 0a 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 65 78 74 d-%H:%M:%S-")...........name.ext
18ee0 29 29 0a 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d ))..(defun.dwim-shell-commands--
18f00 6d 61 63 6f 73 2d 73 65 6c 65 63 74 2d 77 69 6e 64 6f 77 20 28 29 0a 20 20 22 52 65 74 75 72 6e macos-select-window.()..."Return
18f20 20 61 20 6c 69 73 74 20 6f 66 20 6d 61 63 4f 53 20 77 69 6e 64 6f 77 73 2e 22 0a 20 20 28 69 66 .a.list.of.macOS.windows."...(if
18f40 2d 6c 65 74 2a 20 28 28 6c 69 6e 65 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 0a 20 20 -let*.((line.(completing-read...
18f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 53 65 6c 65 63 74 3a 20 22 0a 20 20 20 20 ................."Select:.".....
18f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 22 6d ...............(process-lines."m
18fa0 61 63 6f 73 72 65 63 22 20 22 2d 2d 6c 69 73 74 22 29 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 acosrec"."--list").nil.t))......
18fc0 20 20 20 20 20 20 20 28 77 69 6e 64 6f 77 2d 69 6e 66 6f 20 28 73 70 6c 69 74 2d 73 74 72 69 6e .......(window-info.(split-strin
18fe0 67 20 6c 69 6e 65 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 6e 64 6f 77 g.line.".")).............(window
19000 2d 6e 75 6d 62 65 72 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6e 74 68 20 30 -number.(string-to-number.(nth.0
19020 20 77 69 6e 64 6f 77 2d 69 6e 66 6f 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 6e .window-info))).............(win
19040 64 6f 77 2d 61 70 70 20 28 6e 74 68 20 31 20 77 69 6e 64 6f 77 2d 69 6e 66 6f 29 29 0a 20 20 20 dow-app.(nth.1.window-info))....
19060 20 20 20 20 20 20 20 20 20 28 76 61 6c 69 64 20 28 3e 20 77 69 6e 64 6f 77 2d 6e 75 6d 62 65 72 .........(valid.(>.window-number
19080 20 30 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6e 73 20 77 69 6e 64 6f 77 2d 61 70 70 20 77 69 6e .0))).......(cons.window-app.win
190a0 64 6f 77 2d 6e 75 6d 62 65 72 29 0a 20 20 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e 6f 20 dow-number).....(user-error."No.
190c0 77 69 6e 64 6f 77 20 66 6f 75 6e 64 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 window.found")))..;;;###autoload
190e0 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f .(defun.dwim-shell-commands-maco
19100 73 2d 65 6e 64 2d 72 65 63 6f 72 64 69 6e 67 2d 77 69 6e 64 6f 77 20 28 29 0a 20 20 22 53 74 6f s-end-recording-window.()..."Sto
19120 70 20 72 65 63 6f 72 64 69 6e 67 20 61 20 6d 61 63 4f 53 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 p.recording.a.macOS.window."...(
19140 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 6d 65 interactive)...(let.((inhibit-me
19160 73 73 61 67 65 20 74 29 29 0a 20 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c ssage.t)).....(cl-letf.(((symbol
19180 2d 66 75 6e 63 74 69 6f 6e 20 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6d -function.'dwim-shell-command--m
191a0 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 essage)................(lambda.(
191c0 66 6d 74 20 26 72 65 73 74 20 61 72 67 73 29 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 28 64 77 fmt.&rest.args).nil))).......(dw
191e0 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 im-shell-command-on-marked-files
19200 0a 20 20 20 20 20 20 20 22 45 6e 64 20 72 65 63 6f 72 64 69 6e 67 20 6d 61 63 4f 53 20 77 69 6e ........"End.recording.macOS.win
19220 64 6f 77 2e 22 0a 20 20 20 20 20 20 20 22 6d 61 63 6f 73 72 65 63 20 2d 2d 73 61 76 65 22 0a 20 dow."........"macosrec.--save"..
19240 20 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 20 20 20 20 3a ......:silent-success.t........:
19260 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 0a 20 20 20 20 20 20 20 3a 65 72 72 6f 72 2d 61 75 74 6f no-progress.t........:error-auto
19280 66 6f 63 75 73 20 74 0a 20 20 20 20 20 20 20 3a 75 74 69 6c 73 20 22 6d 61 63 6f 73 72 65 63 22 focus.t........:utils."macosrec"
192a0 29 29 29 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 64 77 69 6d ))))..;;;###autoload.(defun.dwim
192c0 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 61 62 6f 72 74 2d 72 65 63 6f -shell-commands-macos-abort-reco
192e0 72 64 69 6e 67 2d 77 69 6e 64 6f 77 20 28 29 0a 20 20 22 53 74 6f 70 20 72 65 63 6f 72 64 69 6e rding-window.()..."Stop.recordin
19300 67 20 61 20 6d 61 63 4f 53 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 g.a.macOS.window."...(interactiv
19320 65 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67 65 20 74 29 29 0a e)...(let.((inhibit-message.t)).
19340 20 20 20 20 28 63 6c 2d 6c 65 74 66 20 28 28 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 ....(cl-letf.(((symbol-function.
19360 27 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 2d 6d 65 73 73 61 67 65 29 0a 20 20 'dwim-shell-command--message)...
19380 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 66 6d 74 20 26 72 65 73 74 20 .............(lambda.(fmt.&rest.
193a0 61 72 67 73 29 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 args).nil))).......(dwim-shell-c
193c0 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 22 41 ommand-on-marked-files........"A
193e0 62 6f 72 74 20 72 65 63 6f 72 64 69 6e 67 20 6d 61 63 4f 53 20 77 69 6e 64 6f 77 2e 22 0a 20 20 bort.recording.macOS.window."...
19400 20 20 20 20 20 22 6d 61 63 6f 73 72 65 63 20 2d 2d 61 62 6f 72 74 22 0a 20 20 20 20 20 20 20 3a ....."macosrec.--abort"........:
19420 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 20 20 20 20 3a 6e 6f 2d 70 72 6f 67 silent-success.t........:no-prog
19440 72 65 73 73 20 74 0a 20 20 20 20 20 20 20 3a 75 74 69 6c 73 20 22 6d 61 63 6f 73 72 65 63 22 29 ress.t........:utils."macosrec")
19460 29 29 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 64 77 69 6d 2d )))..;;;###autoload.(defun.dwim-
19480 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d 73 63 72 65 65 6e 73 68 6f 74 2d shell-commands-macos-screenshot-
194a0 77 69 6e 64 6f 77 20 28 29 0a 20 20 22 53 65 6c 65 63 74 20 61 6e 64 20 73 63 72 65 65 6e 73 68 window.()..."Select.and.screensh
194c0 6f 74 20 6d 61 63 4f 53 20 77 69 6e 64 6f 77 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 ot.macOS.window."...(interactive
194e0 29 0a 20 20 3b 3b 20 53 69 6c 65 6e 63 65 20 65 63 68 6f 20 74 6f 20 61 76 6f 69 64 20 75 6e 72 )...;;.Silence.echo.to.avoid.unr
19500 65 6c 61 74 65 64 20 6d 65 73 73 61 67 65 73 20 6d 61 6b 69 6e 67 20 69 6e 74 6f 20 73 63 72 65 elated.messages.making.into.scre
19520 65 6e 73 68 6f 74 2e 0a 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 20 28 64 77 69 6d 2d 73 68 enshot....(let.((window.(dwim-sh
19540 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 2d 6d 61 63 6f 73 2d 73 65 6c 65 63 74 2d 77 69 6e 64 6f ell-commands--macos-select-windo
19560 77 29 29 0a 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67 65 20 74 29 29 w)).........(inhibit-message.t))
19580 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b .....(dwim-shell-command-on-mark
195a0 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 53 74 61 72 74 20 72 65 63 6f 72 64 69 6e 67 20 61 ed-files......"Start.recording.a
195c0 20 6d 61 63 4f 53 20 77 69 6e 64 6f 77 2e 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 6d 61 .macOS.window."......(format."ma
195e0 63 6f 73 72 65 63 20 2d 2d 73 63 72 65 65 6e 73 68 6f 74 20 25 73 22 20 28 63 64 72 20 77 69 6e cosrec.--screenshot.%s".(cdr.win
19600 64 6f 77 29 29 0a 20 20 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 0a 20 20 20 dow))......:silent-success.t....
19620 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 22 7e 2f 53 63 72 65 65 6e 73 68 ..:monitor-directory."~/Screensh
19640 6f 74 73 22 0a 20 20 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 0a 20 20 20 20 20 3a 75 ots"......:no-progress.t......:u
19660 74 69 6c 73 20 22 6d 61 63 6f 73 72 65 63 22 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f tils."macosrec")))..;;;###autolo
19680 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 66 69 ad.(defun.dwim-shell-commands-fi
196a0 6c 65 73 2d 63 6f 6d 62 69 6e 65 64 2d 73 69 7a 65 20 28 29 0a 20 20 22 47 65 74 20 66 69 6c 65 les-combined-size.()..."Get.file
196c0 73 20 63 6f 6d 62 69 6e 65 64 20 66 69 6c 65 20 73 69 7a 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 s.combined.file.size."...(intera
196e0 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d ctive)...(dwim-shell-command-on-
19700 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 47 65 74 20 66 69 6c 65 73 20 63 6f 6d 62 69 marked-files...."Get.files.combi
19720 6e 65 64 20 66 69 6c 65 20 73 69 7a 65 22 0a 20 20 20 22 64 75 20 2d 63 73 68 20 27 3c 3c 2a 3e ned.file.size"...."du.-csh.'<<*>
19740 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 64 75 22 0a 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 >'"....:utils."du"....:on-comple
19760 74 69 6f 6e 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 5f 70 72 6f 63 65 73 73 29 0a 20 tion.(lambda.(buffer._process)..
19780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 ...................(with-current
197a0 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -buffer.buffer..................
197c0 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 54 6f 74 61 6c 20 73 69 7a 65 3a 20 25 73 22 0a 20 .....(message."Total.size:.%s"..
197e0 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
19800 72 6f 67 6e 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 rogn............................
19820 20 20 20 20 20 20 28 72 65 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 22 5c 5c 28 5e 5b ......(re-search-backward."\\(^[
19840 20 30 2d 39 2e 2c 5d 2b 5b 41 2d 5a 61 2d 7a 5d 2b 5c 5c 29 2e 2a 74 6f 74 61 6c 24 22 29 0a 20 .0-9.,]+[A-Za-z]+\\).*total$")..
19860 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 ................................
19880 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (match-string.1)))).............
198a0 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 0a ........(kill-buffer.buffer)))).
198c0 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c .;;;###autoload.(defun.dwim-shel
198e0 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 67 65 2d 74 6f 2d 69 63 6e 73 20 28 29 0a 20 20 22 43 l-commands-image-to-icns.()..."C
19900 6f 6e 76 65 72 74 20 70 6e 67 20 74 6f 20 69 63 6e 73 20 69 63 6f 6e 2e 22 0a 20 20 28 69 6e 74 onvert.png.to.icns.icon."...(int
19920 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d eractive)...(dwim-shell-command-
19940 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 43 6f 6e 76 65 72 74 20 70 6e 67 20 on-marked-files...."Convert.png.
19960 74 6f 20 69 63 6e 73 20 69 63 6f 6e 2e 22 0a 20 20 20 22 0a 20 20 20 20 23 20 42 61 73 65 64 20 to.icns.icon."....".....#.Based.
19980 6f 6e 20 68 74 74 70 3a 2f 2f 73 74 61 63 6b 6f 76 65 72 66 6c 6f 77 2e 63 6f 6d 2f 71 75 65 73 on.http://stackoverflow.com/ques
199a0 74 69 6f 6e 73 2f 31 32 33 30 36 32 32 33 2f 68 6f 77 2d 74 6f 2d 6d 61 6e 75 61 6c 6c 79 2d 63 tions/12306223/how-to-manually-c
199c0 72 65 61 74 65 2d 69 63 6e 73 2d 66 69 6c 65 73 2d 75 73 69 6e 67 2d 69 63 6f 6e 75 74 69 6c 0a reate-icns-files-using-iconutil.
199e0 20 20 20 20 23 20 4e 6f 74 65 3a 20 70 6e 67 20 6d 75 73 74 20 62 65 20 31 30 32 34 78 31 30 32 ....#.Note:.png.must.be.1024x102
19a00 34 0a 20 20 20 20 6d 6b 64 69 72 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 27 0a 20 20 4.....mkdir.'<<fne>>.iconset'...
19a20 20 20 73 69 70 73 20 2d 7a 20 31 36 20 31 36 20 27 3c 3c 66 3e 3e 27 20 2d 2d 6f 75 74 20 27 3c ..sips.-z.16.16.'<<f>>'.--out.'<
19a40 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f 31 36 78 31 36 2e 70 6e 67 27 0a 20 <fne>>.iconset/icon_16x16.png'..
19a60 20 20 20 73 69 70 73 20 2d 7a 20 33 32 20 33 32 20 27 3c 3c 66 3e 3e 27 20 2d 2d 6f 75 74 20 27 ...sips.-z.32.32.'<<f>>'.--out.'
19a80 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f 31 36 78 31 36 40 32 78 2e 70 6e <<fne>>.iconset/icon_16x16@2x.pn
19aa0 67 27 0a 20 20 20 20 73 69 70 73 20 2d 7a 20 33 32 20 33 32 20 27 3c 3c 66 3e 3e 27 20 2d 2d 6f g'.....sips.-z.32.32.'<<f>>'.--o
19ac0 75 74 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f 33 32 78 33 32 2e 70 ut.'<<fne>>.iconset/icon_32x32.p
19ae0 6e 67 27 0a 20 20 20 20 73 69 70 73 20 2d 7a 20 36 34 20 36 34 20 27 3c 3c 66 3e 3e 27 20 2d 2d ng'.....sips.-z.64.64.'<<f>>'.--
19b00 6f 75 74 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f 33 32 78 33 32 40 out.'<<fne>>.iconset/icon_32x32@
19b20 32 78 2e 70 6e 67 27 0a 20 20 20 20 73 69 70 73 20 2d 7a 20 31 32 38 20 31 32 38 20 27 3c 3c 66 2x.png'.....sips.-z.128.128.'<<f
19b40 3e 3e 27 20 2d 2d 6f 75 74 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f >>'.--out.'<<fne>>.iconset/icon_
19b60 31 32 38 78 31 32 38 2e 70 6e 67 27 0a 20 20 20 20 73 69 70 73 20 2d 7a 20 32 35 36 20 32 35 36 128x128.png'.....sips.-z.256.256
19b80 20 27 3c 3c 66 3e 3e 27 20 2d 2d 6f 75 74 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f .'<<f>>'.--out.'<<fne>>.iconset/
19ba0 69 63 6f 6e 5f 31 32 38 78 31 32 38 40 32 78 2e 70 6e 67 27 0a 20 20 20 20 73 69 70 73 20 2d 7a icon_128x128@2x.png'.....sips.-z
19bc0 20 32 35 36 20 32 35 36 20 27 3c 3c 66 3e 3e 27 20 2d 2d 6f 75 74 20 27 3c 3c 66 6e 65 3e 3e 2e .256.256.'<<f>>'.--out.'<<fne>>.
19be0 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f 32 35 36 78 32 35 36 40 32 78 2e 70 6e 67 27 0a 20 20 20 iconset/icon_256x256@2x.png'....
19c00 20 73 69 70 73 20 2d 7a 20 35 31 32 20 35 31 32 20 27 3c 3c 66 3e 3e 27 20 2d 2d 6f 75 74 20 27 .sips.-z.512.512.'<<f>>'.--out.'
19c20 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f 35 31 32 78 35 31 32 2e 70 6e 67 <<fne>>.iconset/icon_512x512.png
19c40 27 0a 20 20 20 20 73 69 70 73 20 2d 7a 20 35 31 32 20 35 31 32 20 27 3c 3c 66 3e 3e 27 20 2d 2d '.....sips.-z.512.512.'<<f>>'.--
19c60 6f 75 74 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 63 6f 6e 5f 32 35 36 78 32 35 out.'<<fne>>.iconset/icon_256x25
19c80 36 40 32 78 2e 70 6e 67 27 0a 20 20 20 20 73 69 70 73 20 2d 7a 20 31 30 32 34 20 31 30 32 34 20 6@2x.png'.....sips.-z.1024.1024.
19ca0 27 3c 3c 66 3e 3e 27 20 2d 2d 6f 75 74 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 2f 69 '<<f>>'.--out.'<<fne>>.iconset/i
19cc0 63 6f 6e 5f 35 31 32 78 35 31 32 40 32 78 2e 70 6e 67 27 0a 20 20 20 20 69 63 6f 6e 75 74 69 6c con_512x512@2x.png'.....iconutil
19ce0 20 2d 63 20 69 63 6e 73 20 27 3c 3c 66 6e 65 3e 3e 2e 69 63 6f 6e 73 65 74 27 22 0a 20 20 20 3a .-c.icns.'<<fne>>.iconset'"....:
19d00 75 74 69 6c 73 20 27 28 22 73 69 70 73 22 20 22 69 63 6f 6e 75 74 69 6c 22 29 0a 20 20 20 3a 65 utils.'("sips"."iconutil")....:e
19d20 78 74 65 6e 73 69 6f 6e 73 20 22 70 6e 67 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 xtensions."png"))..;;;###autoloa
19d40 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 69 6d 61 d.(defun.dwim-shell-commands-ima
19d60 67 65 2d 61 64 64 2d 64 72 6f 70 2d 73 68 61 64 6f 77 20 28 29 0a 20 20 22 41 64 64 20 61 20 64 ge-add-drop-shadow.()..."Add.a.d
19d80 72 6f 70 20 73 68 61 64 6f 77 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 rop.shadow."...(interactive)...(
19da0 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c dwim-shell-command-on-marked-fil
19dc0 65 73 0a 20 20 20 22 41 64 64 20 61 20 64 72 6f 70 20 73 68 61 64 6f 77 2e 22 0a 20 20 20 22 63 es...."Add.a.drop.shadow."...."c
19de0 6f 6e 76 65 72 74 20 3c 3c 66 3e 3e 20 2d 62 6f 72 64 65 72 63 6f 6c 6f 72 20 77 68 69 74 65 20 onvert.<<f>>.-bordercolor.white.
19e00 2d 62 6f 72 64 65 72 20 31 33 20 5c 5c 28 20 2b 63 6c 6f 6e 65 20 2d 62 61 63 6b 67 72 6f 75 6e -border.13.\\(.+clone.-backgroun
19e20 64 20 62 6c 61 63 6b 20 2d 73 68 61 64 6f 77 20 38 30 78 33 2b 32 2b 32 20 5c 5c 29 20 2b 73 77 d.black.-shadow.80x3+2+2.\\).+sw
19e40 61 70 20 2d 62 61 63 6b 67 72 6f 75 6e 64 20 77 68 69 74 65 20 2d 6c 61 79 65 72 73 20 6d 65 72 ap.-background.white.-layers.mer
19e60 67 65 20 2b 72 65 70 61 67 65 20 3c 3c 66 6e 65 3e 3e 2d 73 68 61 64 6f 77 2e 3c 3c 65 3e 3e 22 ge.+repage.<<fne>>-shadow.<<e>>"
19e80 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 6f 6e 76 65 72 74 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 ....:utils."convert"))..;;;###au
19ea0 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 toload.(defun.dwim-shell-command
19ec0 73 2d 69 6d 61 67 65 2d 74 72 69 6d 2d 62 6f 72 64 65 72 73 20 28 29 0a 20 20 22 54 72 69 6d 20 s-image-trim-borders.()..."Trim.
19ee0 69 6d 61 67 65 28 73 29 20 62 6f 72 64 65 72 20 28 75 73 65 66 75 6c 20 66 6f 72 20 76 69 64 65 image(s).border.(useful.for.vide
19f00 6f 20 73 63 72 65 65 6e 73 68 6f 74 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 o.screenshots)."...(interactive)
19f20 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 ...(dwim-shell-command-on-marked
19f40 2d 66 69 6c 65 73 0a 20 20 20 22 54 72 69 6d 20 69 6d 61 67 65 20 62 6f 72 64 65 72 22 0a 20 20 -files...."Trim.image.border"...
19f60 20 22 6d 61 67 69 63 6b 20 63 6f 6e 76 65 72 74 20 2d 66 75 7a 7a 20 33 25 20 2d 64 65 66 69 6e ."magick.convert.-fuzz.3%.-defin
19f80 65 20 74 72 69 6d 3a 70 65 72 63 65 6e 74 2d 62 61 63 6b 67 72 6f 75 6e 64 3d 30 25 20 2d 74 72 e.trim:percent-background=0%.-tr
19fa0 69 6d 20 2b 72 65 70 61 67 65 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 6e 65 3e 3e 5f 74 72 69 6d im.+repage.'<<f>>'.'<<fne>>_trim
19fc0 6d 65 64 2e 3c 3c 65 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 6d 61 67 69 63 6b 22 29 29 med.<<e>>'"....:utils."magick"))
19fe0 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 ..;;;###autoload.(defun.dwim-she
1a000 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 67 69 74 2d 63 6c 6f 6e 65 2d 63 6c 69 70 62 6f 61 72 64 2d ll-commands-git-clone-clipboard-
1a020 75 72 6c 2d 74 6f 2d 64 6f 77 6e 6c 6f 61 64 73 20 28 29 0a 20 20 22 43 6c 6f 6e 65 20 67 69 74 url-to-downloads.()..."Clone.git
1a040 20 55 52 4c 20 69 6e 20 63 6c 69 70 62 6f 61 72 64 20 74 6f 20 5c 22 7e 2f 44 6f 77 6e 6c 6f 61 .URL.in.clipboard.to.\"~/Downloa
1a060 64 73 2f 5c 22 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 61 73 ds/\"."...(interactive)...(cl-as
1a080 73 65 72 74 20 28 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 5c 5c 28 68 74 sert.(or.(string-match-p."^\\(ht
1a0a0 74 70 5c 5c 7c 68 74 74 70 73 5c 5c 7c 73 73 68 5c 5c 29 3a 2f 2f 22 20 28 63 75 72 72 65 6e 74 tp\\|https\\|ssh\\)://".(current
1a0c0 2d 6b 69 6c 6c 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 -kill.0))..................(stri
1a0e0 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5e 67 69 74 40 22 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c ng-match-p."^git@".(current-kill
1a100 20 30 29 29 29 20 6e 69 6c 20 22 4e 6f 20 55 52 4c 20 69 6e 20 63 6c 69 70 62 6f 61 72 64 22 29 .0))).nil."No.URL.in.clipboard")
1a120 0a 20 20 28 6c 65 74 2a 20 28 28 75 72 6c 20 28 63 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 29 ...(let*.((url.(current-kill.0))
1a140 0a 20 20 20 20 20 20 20 20 20 28 64 6f 77 6e 6c 6f 61 64 2d 64 69 72 20 28 65 78 70 61 6e 64 2d ..........(download-dir.(expand-
1a160 66 69 6c 65 2d 6e 61 6d 65 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2f 22 29 29 0a 20 20 20 20 20 file-name."~/Downloads/"))......
1a180 20 20 20 20 28 70 72 6f 6a 65 63 74 2d 64 69 72 20 28 63 6f 6e 63 61 74 20 64 6f 77 6e 6c 6f 61 ....(project-dir.(concat.downloa
1a1a0 64 2d 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 75 72 6c 29 29 29 0a 20 20 20 d-dir.(file-name-base.url)))....
1a1c0 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 6f 77 6e 6c 6f 61 ......(default-directory.downloa
1a1e0 64 2d 64 69 72 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e 6f 74 20 28 66 69 6c 65 d-dir)).....(when.(or.(not.(file
1a200 2d 65 78 69 73 74 73 2d 70 20 70 72 6f 6a 65 63 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 -exists-p.project-dir)).........
1a220 20 20 20 20 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 20 28 66 6f 72 6d 61 74 20 22 25 ......(when.(y-or-n-p.(format."%
1a240 73 20 65 78 69 73 74 73 2e 20 20 64 65 6c 65 74 65 3f 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 s.exists...delete?".(file-name-b
1a260 61 73 65 20 75 72 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 ase.url))).................(dele
1a280 74 65 2d 64 69 72 65 63 74 6f 72 79 20 70 72 6f 6a 65 63 74 2d 64 69 72 20 74 29 0a 20 20 20 20 te-directory.project-dir.t).....
1a2a0 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 0a 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c ............t)).......(dwim-shel
1a2c0 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 l-command-on-marked-files.......
1a2e0 20 28 66 6f 72 6d 61 74 20 22 43 6c 6f 6e 65 20 25 73 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 .(format."Clone.%s".(file-name-b
1a300 61 73 65 20 75 72 6c 29 29 0a 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 67 69 74 20 63 6c ase.url))........(format."git.cl
1a320 6f 6e 65 20 25 73 22 20 75 72 6c 29 0a 20 20 20 20 20 20 20 3a 75 74 69 6c 73 20 22 67 69 74 22 one.%s".url)........:utils."git"
1a340 0a 20 20 20 20 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 20 28 6c 61 6d 62 64 61 20 28 ........:on-completion.(lambda.(
1a360 62 75 66 66 65 72 20 5f 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 buffer._process)................
1a380 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 29 0a 20 20 .........(kill-buffer.buffer)...
1a3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 72 65 64 20 70 72 6f ......................(dired.pro
1a3c0 6a 65 63 74 2d 64 69 72 29 29 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 ject-dir))))))..;;;###autoload.(
1a3e0 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 68 74 74 70 2d 73 defun.dwim-shell-commands-http-s
1a400 65 72 76 65 2d 64 69 72 20 28 29 0a 20 20 22 48 54 54 50 20 73 65 72 76 65 20 63 75 72 72 65 6e erve-dir.()..."HTTP.serve.curren
1a420 74 20 64 69 72 65 63 74 6f 72 79 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 t.directory."...(interactive)...
1a440 28 63 6f 6e 64 20 28 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 70 79 74 68 6f 6e 33 (cond.((executable-find."python3
1a460 22 29 0a 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d ")..........(dwim-shell-command-
1a480 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 22 48 54 54 50 20 on-marked-files..........."HTTP.
1a4a0 73 65 72 76 65 20 63 75 72 72 65 6e 74 20 64 69 72 22 0a 20 20 20 20 20 20 20 20 20 20 22 70 79 serve.current.dir"..........."py
1a4c0 74 68 6f 6e 33 20 2d 6d 20 68 74 74 70 2e 73 65 72 76 65 72 22 0a 20 20 20 20 20 20 20 20 20 20 thon3.-m.http.server"...........
1a4e0 3a 75 74 69 6c 73 20 22 70 79 74 68 6f 6e 33 22 0a 20 20 20 20 20 20 20 20 20 20 3a 66 6f 63 75 :utils."python3"...........:focu
1a500 73 2d 6e 6f 77 20 74 0a 20 20 20 20 20 20 20 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 s-now.t...........:no-progress.t
1a520 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 22 70 79 )).........((executable-find."py
1a540 74 68 6f 6e 32 22 29 0a 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d thon2")..........(dwim-shell-com
1a560 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 20 20 20 20 20 22 mand-on-marked-files..........."
1a580 48 54 54 50 20 73 65 72 76 65 20 63 75 72 72 65 6e 74 20 64 69 72 22 0a 20 20 20 20 20 20 20 20 HTTP.serve.current.dir".........
1a5a0 20 20 22 70 79 74 68 6f 6e 32 20 2d 6d 20 53 69 6d 70 6c 65 48 54 54 50 53 65 72 76 65 72 22 0a .."python2.-m.SimpleHTTPServer".
1a5c0 20 20 20 20 20 20 20 20 20 20 3a 75 74 69 6c 73 20 22 70 79 74 68 6f 6e 32 22 0a 20 20 20 20 20 ..........:utils."python2"......
1a5e0 20 20 20 20 20 3a 66 6f 63 75 73 2d 6e 6f 77 20 74 0a 20 20 20 20 20 20 20 20 20 20 3a 6e 6f 2d .....:focus-now.t...........:no-
1a600 70 72 6f 67 72 65 73 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 78 65 63 75 74 61 62 6c progress.t)).........((executabl
1a620 65 2d 66 69 6e 64 20 22 70 79 74 68 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 28 64 77 69 6d 2d e-find."python")..........(dwim-
1a640 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 shell-command-on-marked-files...
1a660 20 20 20 20 20 20 20 20 22 48 54 54 50 20 73 65 72 76 65 20 63 75 72 72 65 6e 74 20 64 69 72 22 ........"HTTP.serve.current.dir"
1a680 0a 20 20 20 20 20 20 20 20 20 20 22 70 79 74 68 6f 6e 20 2d 6d 20 53 69 6d 70 6c 65 48 54 54 50 ..........."python.-m.SimpleHTTP
1a6a0 53 65 72 76 65 72 22 0a 20 20 20 20 20 20 20 20 20 20 3a 75 74 69 6c 73 20 22 70 79 74 68 6f 6e Server"...........:utils."python
1a6c0 22 0a 20 20 20 20 20 20 20 20 20 20 3a 66 6f 63 75 73 2d 6e 6f 77 20 74 0a 20 20 20 20 20 20 20 "...........:focus-now.t........
1a6e0 20 20 20 3a 6e 6f 2d 70 72 6f 67 72 65 73 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 ...:no-progress.t)).........(t..
1a700 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4e 6f 20 70 79 74 68 6f 6e 20 66 6f 75 6e 64 22 ........(error."No.python.found"
1a720 29 29 29 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 64 77 69 6d ))))..;;;###autoload.(defun.dwim
1a740 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 67 69 74 2d 63 6c 6f 6e 65 2d 63 6c 69 70 62 6f -shell-commands-git-clone-clipbo
1a760 61 72 64 2d 75 72 6c 20 28 29 0a 20 20 22 43 6c 6f 6e 65 20 67 69 74 20 55 52 4c 20 69 6e 20 63 ard-url.()..."Clone.git.URL.in.c
1a780 6c 69 70 62 6f 61 72 64 20 74 6f 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2e lipboard.to.`default-directory'.
1a7a0 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d "...(interactive)...(dwim-shell-
1a7c0 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 28 66 6f 72 6d command-on-marked-files....(form
1a7e0 61 74 20 22 43 6c 6f 6e 65 20 25 73 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 28 63 at."Clone.%s".(file-name-base.(c
1a800 75 72 72 65 6e 74 2d 6b 69 6c 6c 20 30 29 29 29 0a 20 20 20 22 67 69 74 20 63 6c 6f 6e 65 20 3c urrent-kill.0)))...."git.clone.<
1a820 3c 63 62 3e 3e 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 67 69 74 22 29 29 0a 0a 3b 3b 3b 23 23 23 <cb>>"....:utils."git"))..;;;###
1a840 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 autoload.(defun.dwim-shell-comma
1a860 6e 64 73 2d 70 61 73 73 2d 67 69 74 2d 70 75 6c 6c 20 28 29 0a 20 20 22 50 61 73 73 20 67 69 74 nds-pass-git-pull.()..."Pass.git
1a880 20 70 75 6c 6c 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d .pull."...(interactive)...(dwim-
1a8a0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 shell-command-on-marked-files...
1a8c0 20 22 70 61 73 73 20 67 69 74 20 70 75 6c 6c 22 0a 20 20 20 22 70 61 73 73 20 67 69 74 20 70 75 ."pass.git.pull"...."pass.git.pu
1a8e0 6c 6c 22 0a 20 20 20 3a 75 74 69 6c 73 20 27 28 22 70 61 73 73 22 20 22 67 69 74 22 29 0a 20 20 ll"....:utils.'("pass"."git")...
1a900 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f .:silent-success.t))..;;;###auto
1a920 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d load.(defun.dwim-shell-commands-
1a940 67 69 74 2d 6c 69 73 74 2d 75 6e 74 72 61 63 6b 65 64 2d 66 69 6c 65 73 20 28 29 0a 20 20 22 4c git-list-untracked-files.()..."L
1a960 69 73 74 20 75 6e 74 72 61 63 6b 65 64 20 67 69 74 20 66 69 6c 65 73 20 69 6e 20 60 64 65 66 61 ist.untracked.git.files.in.`defa
1a980 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 ult-directory'."...(interactive)
1a9a0 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 ...(dwim-shell-command-on-marked
1a9c0 2d 66 69 6c 65 73 0a 20 20 20 22 4c 69 73 74 20 75 6e 74 72 61 63 6b 65 64 22 0a 20 20 20 22 67 -files...."List.untracked"...."g
1a9e0 69 74 20 6c 73 2d 66 69 6c 65 73 20 2d 2d 6f 74 68 65 72 73 20 2e 22 0a 20 20 20 3a 75 74 69 6c it.ls-files.--others.."....:util
1aa00 73 20 22 67 69 74 22 0a 20 20 20 3a 66 6f 63 75 73 2d 6e 6f 77 20 74 29 29 0a 0a 3b 3b 3b 23 23 s."git"....:focus-now.t))..;;;##
1aa20 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d #autoload.(defun.dwim-shell-comm
1aa40 61 6e 64 73 2d 67 69 74 2d 64 65 6c 65 74 65 2d 75 6e 74 72 61 63 6b 65 64 2d 66 69 6c 65 73 20 ands-git-delete-untracked-files.
1aa60 28 29 0a 20 20 22 44 65 6c 65 74 65 20 75 6e 74 72 61 63 6b 65 64 20 67 69 74 20 66 69 6c 65 73 ()..."Delete.untracked.git.files
1aa80 20 69 6e 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 22 0a 20 20 28 69 6e 74 .in.`default-directory'."...(int
1aaa0 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 79 2d 6f 72 2d 6e 2d 70 20 28 66 6f 72 eractive)...(when.(y-or-n-p.(for
1aac0 6d 61 74 20 22 43 6c 65 61 6e 20 27 25 73 27 3f 20 5c 6e 5c 6e 25 73 5c 6e 2e 2e 2e 5c 6e 5c 6e mat."Clean.'%s'?.\n\n%s\n...\n\n
1aae0 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 64 65 66 61 "...........................defa
1ab00 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ult-directory...................
1ab20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 0a 20 20 20 20 20 20 20 20 20 20 20 ........(string-join............
1ab40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 71 2d 74 61 6b 65 20 28 70 72 6f 63 65 ................(seq-take.(proce
1ab60 73 73 2d 6c 69 6e 65 73 20 22 67 69 74 22 20 22 6c 73 2d 66 69 6c 65 73 22 20 22 2d 2d 6f 74 68 ss-lines."git"."ls-files"."--oth
1ab80 65 72 73 22 20 22 2e 22 29 20 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ers".".").3)....................
1aba0 20 20 20 20 20 20 20 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d ........"\n"))).....(dwim-shell-
1abc0 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 20 20 22 43 6c command-on-marked-files......"Cl
1abe0 65 61 6e 20 75 6e 74 72 61 63 6b 65 64 22 0a 20 20 20 20 20 22 67 69 74 20 63 6c 65 61 6e 20 2d ean.untracked"......"git.clean.-
1ac00 66 20 2e 22 0a 20 20 20 20 20 3a 75 74 69 6c 73 20 22 67 69 74 22 0a 20 20 20 20 20 3a 73 69 6c f.."......:utils."git"......:sil
1ac20 65 6e 74 2d 73 75 63 63 65 73 73 20 74 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 ent-success.t)))..;;;###autoload
1ac40 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 65 78 74 65 .(defun.dwim-shell-commands-exte
1ac60 72 6e 61 6c 2d 69 70 20 28 29 0a 20 20 22 43 6f 70 79 20 65 78 74 65 72 6e 61 6c 20 49 50 20 74 rnal-ip.()..."Copy.external.IP.t
1ac80 6f 20 6b 69 6c 6c 20 72 69 6e 67 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 o.kill.ring."...(interactive)...
1aca0 28 6c 65 74 20 28 28 69 70 20 28 63 61 72 20 28 6c 61 73 74 20 28 70 72 6f 63 65 73 73 2d 6c 69 (let.((ip.(car.(last.(process-li
1acc0 6e 65 73 20 22 63 75 72 6c 22 20 22 69 66 63 6f 6e 66 69 67 2e 6d 65 22 29 29 29 29 29 0a 20 20 nes."curl"."ifconfig.me")))))...
1ace0 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 69 70 29 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f ..(kill-new.ip).....(message."Co
1ad00 70 69 65 64 20 25 73 22 20 69 70 29 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 pied.%s".ip)))..;;;###autoload.(
1ad20 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 61 63 6f 73 2d defun.dwim-shell-commands-macos-
1ad40 69 6e 73 74 61 6c 6c 2d 69 70 68 6f 6e 65 2d 64 65 76 69 63 65 2d 69 70 61 20 28 29 0a 20 20 22 install-iphone-device-ipa.()..."
1ad60 49 6e 73 74 61 6c 6c 20 69 50 68 6f 6e 65 20 64 65 76 69 63 65 20 2e 69 70 61 2e 0a 4e 65 65 64 Install.iPhone.device..ipa..Need
1ad80 73 20 69 64 65 76 69 63 65 69 6e 73 74 61 6c 6c 65 72 20 61 6e 64 20 6c 69 62 6d 6f 62 69 6c 65 s.ideviceinstaller.and.libmobile
1ada0 64 65 76 69 63 65 20 69 6e 73 74 61 6c 6c 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 device.installed."...(interactiv
1adc0 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b e)...(dwim-shell-command-on-mark
1ade0 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 49 6e 73 74 61 6c 6c 20 2e 69 70 61 22 0a 20 20 20 22 69 ed-files...."Install..ipa"...."i
1ae00 64 65 76 69 63 65 69 6e 73 74 61 6c 6c 65 72 20 2d 69 20 27 3c 3c 66 3e 3e 27 22 0a 20 20 20 3a deviceinstaller.-i.'<<f>>'"....:
1ae20 75 74 69 6c 73 20 22 69 64 65 76 69 63 65 69 6e 73 74 61 6c 6c 65 72 22 29 29 0a 0a 3b 3b 3b 23 utils."ideviceinstaller"))..;;;#
1ae40 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d ##autoload.(defun.dwim-shell-com
1ae60 6d 61 6e 64 73 2d 63 6f 70 79 2d 74 6f 2d 64 6f 77 6e 6c 6f 61 64 73 20 28 29 0a 20 20 22 43 6f mands-copy-to-downloads.()..."Co
1ae80 70 79 20 66 69 6c 65 20 74 6f 20 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2e 22 0a 20 20 28 69 6e 74 65 py.file.to.~/Downloads."...(inte
1aea0 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 ractive)...(dwim-shell-command-f
1aec0 6f 72 65 61 63 68 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 28 63 oreach....(lambda.(file)......(c
1aee0 6f 70 79 2d 66 69 6c 65 20 66 69 6c 65 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2f 22 20 31 29 0a opy-file.file."~/Downloads/".1).
1af00 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 22 7e 2f 44 6f 77 6e 6c 6f .....(file-name-concat."~/Downlo
1af20 61 64 73 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c ads".(file-name-nondirectory.fil
1af40 65 29 29 29 0a 20 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 22 7e 2f 44 6f e)))....:monitor-directory."~/Do
1af60 77 6e 6c 6f 61 64 73 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 wnloads"))..;;;###autoload.(defu
1af80 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 64 75 70 6c 69 63 61 74 65 20 n.dwim-shell-commands-duplicate.
1afa0 28 29 0a 20 20 22 44 75 70 6c 69 63 61 74 65 20 66 69 6c 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 ()..."Duplicate.file."...(intera
1afc0 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d ctive)...(dwim-shell-command-on-
1afe0 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 44 75 70 6c 69 63 61 74 65 20 66 69 6c 65 28 marked-files...."Duplicate.file(
1b000 73 29 2e 22 0a 20 20 20 22 63 70 20 2d 52 20 27 3c 3c 66 3e 3e 27 20 27 3c 3c 66 28 75 29 3e 3e s)."...."cp.-R.'<<f>>'.'<<f(u)>>
1b020 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 63 70 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c '"....:utils."cp"))..;;;###autol
1b040 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 72 oad.(defun.dwim-shell-commands-r
1b060 65 6e 61 6d 65 2d 61 6c 6c 20 28 29 0a 20 20 22 52 65 6e 61 6d 65 20 61 6c 6c 20 6d 61 72 6b 65 ename-all.()..."Rename.all.marke
1b080 64 20 66 69 6c 65 28 73 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 d.file(s)."...(interactive)...(d
1b0a0 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 wim-shell-command-on-marked-file
1b0c0 73 0a 20 20 20 22 52 65 6e 61 6d 65 20 61 6c 6c 22 0a 20 20 20 22 6d 76 20 27 3c 3c 66 3e 3e 27 s...."Rename.all"...."mv.'<<f>>'
1b0e0 20 27 3c 3c 4e 65 77 20 6e 61 6d 65 3a 52 65 6e 61 6d 65 64 3e 3e 28 3c 3c 6e 3e 3e 29 2e 3c 3c .'<<New.name:Renamed>>(<<n>>).<<
1b100 65 3e 3e 27 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 6d 76 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 e>>'"....:utils."mv"))..;;;###au
1b120 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 toload.(defun.dwim-shell-command
1b140 73 2d 6d 6f 76 65 2d 74 6f 2d 64 6f 77 6e 6c 6f 61 64 73 20 28 29 0a 20 20 22 4d 6f 76 65 20 66 s-move-to-downloads.()..."Move.f
1b160 69 6c 65 20 74 6f 20 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 ile.to.~/Downloads."...(interact
1b180 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 6f 72 65 61 ive)...(dwim-shell-command-forea
1b1a0 63 68 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a 20 20 20 20 20 28 72 65 6e 61 6d ch....(lambda.(file)......(renam
1b1c0 65 2d 66 69 6c 65 20 66 69 6c 65 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 2f 22 20 31 29 0a 20 20 e-file.file."~/Downloads/".1)...
1b1e0 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 ...(when.(buffer-file-name).....
1b200 20 20 20 28 72 65 6e 61 6d 65 2d 62 75 66 66 65 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e ...(rename-buffer.(file-name-non
1b220 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 2d 76 69 73 directory.file))........(set-vis
1b240 69 74 65 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d ited-file-name.........(file-nam
1b260 65 2d 63 6f 6e 63 61 74 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 22 20 28 66 69 6c 65 2d 6e 61 6d e-concat."~/Downloads".(file-nam
1b280 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 28 73 e-nondirectory.file)))........(s
1b2a0 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 29 0a 20 20 20 20 20 et-buffer-modified-p.nil))......
1b2c0 28 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 22 7e 2f 44 6f 77 6e 6c 6f 61 64 73 22 20 (file-name-concat."~/Downloads".
1b2e0 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 29 0a (file-name-nondirectory.file))).
1b300 20 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 22 7e 2f 44 6f 77 6e 6c 6f 61 ...:monitor-directory."~/Downloa
1b320 64 73 22 29 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 64 77 69 ds"))..;;;###autoload.(defun.dwi
1b340 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 63 6f 70 79 2d 74 6f 2d 64 65 73 6b 74 6f 70 m-shell-commands-copy-to-desktop
1b360 20 28 29 0a 20 20 22 43 6f 70 79 20 66 69 6c 65 20 74 6f 20 7e 2f 44 65 73 6b 74 6f 70 2e 22 0a .()..."Copy.file.to.~/Desktop.".
1b380 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f ..(interactive)...(dwim-shell-co
1b3a0 6d 6d 61 6e 64 2d 66 6f 72 65 61 63 68 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 66 69 6c 65 29 0a mmand-foreach....(lambda.(file).
1b3c0 20 20 20 20 20 28 63 6f 70 79 2d 66 69 6c 65 20 66 69 6c 65 20 22 7e 2f 44 65 73 6b 74 6f 70 2f .....(copy-file.file."~/Desktop/
1b3e0 22 20 31 29 0a 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 22 7e 2f 44 ".1)......(file-name-concat."~/D
1b400 65 73 6b 74 6f 70 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 esktop".(file-name-nondirectory.
1b420 66 69 6c 65 29 29 29 0a 20 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 20 22 7e file)))....:monitor-directory."~
1b440 2f 44 65 73 6b 74 6f 70 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 /Desktop"))..;;;###autoload.(def
1b460 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6d 6f 76 65 2d 74 6f 2d 64 un.dwim-shell-commands-move-to-d
1b480 65 73 6b 74 6f 70 20 28 29 0a 20 20 22 4d 6f 76 65 20 66 69 6c 65 20 74 6f 20 7e 2f 44 65 73 6b esktop.()..."Move.file.to.~/Desk
1b4a0 74 6f 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 top."...(interactive)...(dwim-sh
1b4c0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 66 6f 72 65 61 63 68 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 ell-command-foreach....(lambda.(
1b4e0 66 69 6c 65 29 0a 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 66 69 6c 65 20 66 69 6c 65 20 22 7e 2f file)......(rename-file.file."~/
1b500 44 65 73 6b 74 6f 70 2f 22 20 31 29 0a 20 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d Desktop/".1)......(when.(buffer-
1b520 66 69 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 28 72 65 6e 61 6d 65 2d 62 75 66 66 65 72 file-name)........(rename-buffer
1b540 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 29 29 0a .(file-name-nondirectory.file)).
1b560 20 20 20 20 20 20 20 28 73 65 74 2d 76 69 73 69 74 65 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 .......(set-visited-file-name...
1b580 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 22 7e 2f 44 65 73 6b 74 ......(file-name-concat."~/Deskt
1b5a0 6f 70 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 op".(file-name-nondirectory.file
1b5c0 29 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d )))........(set-buffer-modified-
1b5e0 70 20 6e 69 6c 29 29 0a 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 22 p.nil))......(file-name-concat."
1b600 7e 2f 44 65 73 6b 74 6f 70 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f ~/Desktop".(file-name-nondirecto
1b620 72 79 20 66 69 6c 65 29 29 29 0a 20 20 20 3a 6d 6f 6e 69 74 6f 72 2d 64 69 72 65 63 74 6f 72 79 ry.file)))....:monitor-directory
1b640 20 22 7e 2f 44 65 73 6b 74 6f 70 22 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 ."~/Desktop"))..;;;###autoload.(
1b660 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2d 6b 69 6c 6c 2d 67 defun.dwim-shell-commands-kill-g
1b680 70 67 2d 61 67 65 6e 74 20 28 29 0a 20 20 22 4b 69 6c 6c 20 28 74 68 75 73 20 72 65 73 74 61 72 pg-agent.()..."Kill.(thus.restar
1b6a0 74 29 20 67 70 67 20 61 67 65 6e 74 2e 0a 0a 55 73 65 66 75 6c 20 66 6f 72 20 77 68 65 6e 20 79 t).gpg.agent...Useful.for.when.y
1b6c0 6f 75 20 67 65 74 20 74 68 69 73 20 65 72 72 6f 72 3a 0a 0a 67 70 67 3a 20 70 75 62 6c 69 63 20 ou.get.this.error:..gpg:.public.
1b6e0 6b 65 79 20 64 65 63 72 79 70 74 69 6f 6e 20 66 61 69 6c 65 64 3a 20 4e 6f 20 70 69 6e 65 6e 74 key.decryption.failed:.No.pinent
1b700 72 79 0a 67 70 67 3a 20 64 65 63 72 79 70 74 69 6f 6e 20 66 61 69 6c 65 64 3a 20 4e 6f 20 70 69 ry.gpg:.decryption.failed:.No.pi
1b720 6e 65 6e 74 72 79 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d nentry"...(interactive)...(dwim-
1b740 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 shell-command-on-marked-files...
1b760 20 22 4b 69 6c 6c 20 67 70 67 20 61 67 65 6e 74 22 0a 20 20 20 22 67 70 67 63 6f 6e 66 20 2d 2d ."Kill.gpg.agent"...."gpgconf.--
1b780 6b 69 6c 6c 20 67 70 67 2d 61 67 65 6e 74 22 0a 20 20 20 3a 75 74 69 6c 73 20 22 67 70 67 63 6f kill.gpg-agent"....:utils."gpgco
1b7a0 6e 66 22 0a 20 20 20 3a 73 69 6c 65 6e 74 2d 73 75 63 63 65 73 73 20 74 29 29 0a 0a 3b 3b 20 42 nf"....:silent-success.t))..;;.B
1b7c0 61 73 65 64 20 6f 6e 0a 3b 3b 20 68 74 74 70 73 3a 2f 2f 61 70 70 73 2e 62 72 61 6d 38 35 2e 6e ased.on.;;.https://apps.bram85.n
1b7e0 6c 2f 67 69 74 2f 62 72 61 6d 2f 67 69 73 74 73 2f 73 72 63 2f 63 6f 6d 6d 69 74 2f 33 31 61 63 l/git/bram/gists/src/commit/31ac
1b800 33 33 36 33 64 61 39 32 35 64 61 61 66 61 32 34 32 30 62 37 66 39 36 63 36 37 36 31 32 63 61 32 3363da925daafa2420b7f96c67612ca2
1b820 38 32 34 31 2f 67 69 73 74 73 2f 64 77 69 6d 2d 30 78 30 2d 75 70 6c 6f 61 64 2e 65 6c 0a 3b 3b 8241/gists/dwim-0x0-upload.el.;;
1b840 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 ;###autoload.(defun.dwim-shell-c
1b860 6f 6d 6d 61 6e 64 73 2d 75 70 6c 6f 61 64 2d 74 6f 2d 30 78 30 20 28 29 0a 20 20 22 55 70 6c 6f ommands-upload-to-0x0.()..."Uplo
1b880 61 64 20 74 68 65 20 6d 61 72 6b 65 64 20 66 69 6c 65 73 20 74 6f 20 30 78 30 2e 73 74 22 0a 20 ad.the.marked.files.to.0x0.st"..
1b8a0 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 64 77 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d .(interactive)...(dwim-shell-com
1b8c0 6d 61 6e 64 2d 6f 6e 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 0a 20 20 20 22 30 78 30 20 75 70 6c mand-on-marked-files...."0x0.upl
1b8e0 6f 61 64 22 0a 20 20 20 22 63 75 72 6c 20 2d 46 66 69 6c 65 3d 40 3c 3c 66 3e 3e 20 2d 46 73 65 oad"...."curl.-Ffile=@<<f>>.-Fse
1b900 63 72 65 74 3d 20 68 74 74 70 73 3a 2f 2f 30 78 30 2e 73 74 22 0a 20 20 20 3a 75 74 69 6c 73 20 cret=.https://0x0.st"....:utils.
1b920 22 63 75 72 6c 22 0a 20 20 20 3a 70 6f 73 74 2d 70 72 6f 63 65 73 73 2d 74 65 6d 70 6c 61 74 65 "curl"....:post-process-template
1b940 0a 20 20 20 3b 3b 20 49 6e 73 65 72 74 20 74 68 65 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 ....;;.Insert.the.single.quotes.
1b960 61 74 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 70 6c 61 63 65 20 61 63 63 6f 72 64 69 at.the.appropriate.place.accordi
1b980 6e 67 20 74 6f 0a 20 20 20 3b 3b 20 30 78 30 2e 73 74 20 65 78 61 6d 70 6c 65 20 6f 6e 6c 69 6e ng.to....;;.0x0.st.example.onlin
1b9a0 65 3a 0a 20 20 20 3b 3b 20 63 75 72 6c 20 2d 46 27 66 69 6c 65 3d 40 79 6f 75 72 66 69 6c 65 2e e:....;;.curl.-F'file=@yourfile.
1b9c0 70 6e 67 27 20 2d 46 73 65 63 72 65 74 3d 20 68 74 74 70 73 3a 2f 2f 30 78 30 2e 73 74 0a 20 20 png'.-Fsecret=.https://0x0.st...
1b9e0 20 3b 3b 0a 20 20 20 3b 3b 20 54 68 65 20 70 6c 61 63 65 6d 65 6e 74 20 6f 66 20 74 68 65 73 65 .;;....;;.The.placement.of.these
1ba00 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 63 6f 6e 66 75 73 65 20 74 68 65 20 65 73 63 61 70 .single.quotes.confuse.the.escap
1ba20 69 6e 67 0a 20 20 20 3b 3b 20 6d 65 63 68 61 6e 69 73 6d 73 20 6f 66 20 64 77 69 6d 2d 73 68 65 ing....;;.mechanisms.of.dwim-she
1ba40 6c 6c 2d 63 6f 6d 6d 61 6e 64 2c 20 61 73 20 69 74 20 63 6f 6e 73 69 64 65 72 73 20 40 20 61 73 ll-command,.as.it.considers.@.as
1ba60 20 74 68 65 0a 20 20 20 3b 3b 20 6f 70 65 6e 69 6e 67 20 27 71 75 6f 74 65 27 20 61 73 20 69 74 .the....;;.opening.'quote'.as.it
1ba80 20 61 70 70 65 61 72 73 20 72 69 67 68 74 20 69 6e 20 66 72 6f 6e 74 20 6f 66 20 3c 3c 66 3e 3e .appears.right.in.front.of.<<f>>
1baa0 2e 0a 20 20 20 28 6c 61 6d 62 64 61 20 28 74 65 6d 70 6c 61 74 65 20 70 61 74 68 29 0a 20 20 20 .....(lambda.(template.path)....
1bac0 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 22 2d 46 66 69 6c 65 22 20 22 2d 46 27 66 ..(string-replace."-Ffile"."-F'f
1bae0 69 6c 65 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e ile"......................(strin
1bb00 67 2d 72 65 70 6c 61 63 65 20 70 61 74 68 20 28 63 6f 6e 63 61 74 20 70 61 74 68 20 22 27 22 29 g-replace.path.(concat.path."'")
1bb20 20 74 65 6d 70 6c 61 74 65 29 29 29 0a 20 20 20 3a 6f 6e 2d 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 .template)))....:on-completion..
1bb40 20 20 28 6c 61 6d 62 64 61 20 28 62 75 66 66 65 72 20 70 72 6f 63 65 73 73 29 0a 20 20 20 20 20 ..(lambda.(buffer.process)......
1bb60 28 69 66 20 28 3d 20 28 70 72 6f 63 65 73 73 2d 65 78 69 74 2d 73 74 61 74 75 73 20 70 72 6f 63 (if.(=.(process-exit-status.proc
1bb80 65 73 73 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 ess).0)..........(with-current-b
1bba0 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 75 uffer.buffer............(let.((u
1bbc0 72 6c 20 28 63 61 72 20 28 6c 61 73 74 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 28 73 74 72 rl.(car.(last.(split-string.(str
1bbe0 69 6e 67 2d 74 72 69 6d 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 20 22 5c 6e 22 29 29 ing-trim.(buffer-string))."\n"))
1bc00 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 77 77 20 75 72 6c 29 0a 20 20 20 20 20 )))..............(eww.url)......
1bc20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6e 65 77 20 75 72 6c 29 0a 20 20 20 20 20 20 20 20 20 ........(kill-new.url)..........
1bc40 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 43 6f 70 69 65 64 3a 20 25 73 22 20 28 63 75 72 72 65 ....(message."Copied:.%s".(curre
1bc60 6e 74 2d 6b 69 6c 6c 20 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 nt-kill.0)))............(kill-bu
1bc80 66 66 65 72 20 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 20 20 28 73 77 69 74 63 68 2d 74 6f 2d ffer.buffer))........(switch-to-
1bca0 62 75 66 66 65 72 20 62 75 66 66 65 72 29 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 64 77 buffer.buffer)))))..(provide.'dw
1bcc0 69 6d 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 29 0a 0a 3b 3b 3b 20 64 77 69 6d 2d 73 68 65 im-shell-commands)..;;;.dwim-she
1bce0 6c 6c 2d 63 6f 6d 6d 61 6e 64 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 ll-commands.el.ends.here........
1bd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1be80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1bfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ca80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ccc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ce80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cf80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1cfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1d9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1da80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1daa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1db80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dc80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dcc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ddc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1de80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1df80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1dfe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................