summaryrefslogtreecommitdiff
path: root/.localrepo/with-editor-3.4.6.tar
blob: 8a7f2ac8937e1f6978831b5e81af25421417a0d8 (plain)
ofshex dumpascii
0000 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 with-editor-3.4.6/..............
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 34 32 32 00 20 35 00 00 00 0000000.00000000000.012422..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 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 52 45 41 44 4d 45 2e 6f 72 67 00 00 00 00 with-editor-3.4.6/README.org....
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 30 36 32 33 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 37 33 00 20 30 00 00 00 0006232.00000000000.014073..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 2a 20 57 69 74 68 2d 45 64 69 74 6f 72 0a 0a 54 68 69 73 20 6c 69 62 72 61 72 79 20 6d 61 6b 65 *.With-Editor..This.library.make
0420 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 72 65 6c 69 61 62 6c 79 20 75 73 65 20 74 68 s.it.possible.to.reliably.use.th
0440 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 0a 74 68 65 20 7e 24 45 44 49 54 4f 52 7e 20 6f e.Emacsclient.as.the.~$EDITOR~.o
0460 66 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2e 20 20 49 74 20 6d 61 6b 65 73 20 73 75 72 f.child.processes...It.makes.sur
0480 65 20 74 68 61 74 20 74 68 65 79 20 6b 6e 6f 77 20 68 6f 77 0a 74 6f 20 63 61 6c 6c 20 68 6f 6d e.that.they.know.how.to.call.hom
04a0 65 2e 20 20 46 6f 72 20 72 65 6d 6f 74 65 20 70 72 6f 63 65 73 73 65 73 20 61 20 73 75 62 73 74 e...For.remote.processes.a.subst
04c0 69 74 75 74 65 20 69 73 20 70 72 6f 76 69 64 65 64 2c 20 77 68 69 63 68 0a 63 6f 6d 6d 75 6e 69 itute.is.provided,.which.communi
04e0 63 61 74 65 73 20 77 69 74 68 20 45 6d 61 63 73 20 6f 6e 20 73 74 61 6e 64 61 72 64 20 6f 75 74 cates.with.Emacs.on.standard.out
0500 70 75 74 2f 69 6e 70 75 74 20 69 6e 73 74 65 61 64 20 6f 66 20 75 73 69 6e 67 20 61 0a 73 6f 63 put/input.instead.of.using.a.soc
0520 6b 65 74 20 61 73 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 64 6f 65 73 2e 0a 0a 49 74 ket.as.the.Emacsclient.does...It
0540 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 7e 77 69 74 68 2d 65 64 69 .provides.the.commands.~with-edi
0560 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 20 61 6e 64 0a 7e 77 69 tor-async-shell-command~.and.~wi
0580 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 2c 20 77 68 69 63 68 20 th-editor-shell-command~,.which.
05a0 61 72 65 20 69 6e 74 65 6e 64 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 0a 66 6f 72 are.intended.as.replacements.for
05c0 20 7e 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 20 61 6e 64 20 7e 73 68 65 6c .~async-shell-command~.and.~shel
05e0 6c 2d 63 6f 6d 6d 61 6e 64 7e 2e 20 20 54 68 65 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a l-command~...They.automatically.
0600 65 78 70 6f 72 74 20 7e 24 45 44 49 54 4f 52 7e 20 6d 61 6b 69 6e 67 20 73 75 72 65 20 74 68 65 export.~$EDITOR~.making.sure.the
0620 20 65 78 65 63 75 74 65 64 20 63 6f 6d 6d 61 6e 64 20 75 73 65 73 20 74 68 65 20 63 75 72 72 65 .executed.command.uses.the.curre
0640 6e 74 0a 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 22 74 68 65 20 65 64 69 74 6f 72 nt.Emacs.instance.as."the.editor
0660 22 2e 20 20 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 74 68 65 73 65 "...With.a.prefix.argument.these
0680 0a 63 6f 6d 6d 61 6e 64 73 20 70 72 6f 6d 70 74 20 66 6f 72 20 61 6e 20 61 6c 74 65 72 6e 61 74 .commands.prompt.for.an.alternat
06a0 69 76 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 73 75 63 68 20 61 73 ive.environment.variable.such.as
06c0 0a 7e 24 47 49 54 5f 45 44 49 54 4f 52 7e 2e 20 20 54 6f 20 61 6c 77 61 79 73 20 75 73 65 20 74 .~$GIT_EDITOR~...To.always.use.t
06e0 68 65 73 65 20 76 61 72 69 61 6e 74 73 20 61 64 64 20 74 68 69 73 20 74 6f 20 79 6f 75 72 20 69 hese.variants.add.this.to.your.i
0700 6e 69 74 0a 66 69 6c 65 3a 0a 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6d 61 63 73 2d 6c 69 73 nit.file:..#+begin_src.emacs-lis
0720 70 0a 20 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 6d 61 70 3e 20 p...(keymap-global-set."<remap>.
0740 3c 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 20 20 20 20 20 20 20 20 20 <async-shell-command>"..........
0760 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d ............#'with-editor-async-
0780 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d shell-command)...(keymap-global-
07a0 73 65 74 20 22 3c 72 65 6d 61 70 3e 20 3c 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 20 20 set."<remap>.<shell-command>"...
07c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 ...................#'with-editor
07e0 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 0a 41 6c 74 65 72 -shell-command).#+end_src..Alter
0800 6e 61 74 69 76 65 6c 79 20 75 73 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 7e 73 68 65 6c 6c 2d 63 natively.use.the.global.~shell-c
0820 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 7e 2c 0a 77 68 69 63 68 20 ommand-with-editor-mode~,.which.
0840 61 6c 77 61 79 73 20 73 65 74 73 20 7e 24 45 44 49 54 4f 52 7e 20 66 6f 72 20 61 6c 6c 20 45 6d always.sets.~$EDITOR~.for.all.Em
0860 61 63 73 20 63 6f 6d 6d 61 6e 64 73 20 77 68 69 63 68 20 75 6c 74 69 6d 61 74 65 6c 79 0a 75 73 acs.commands.which.ultimately.us
0880 65 20 7e 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 20 74 6f 20 61 73 79 6e 63 68 72 6f 6e 6f 75 e.~shell-command~.to.asynchronou
08a0 73 6c 79 20 72 75 6e 20 73 6f 6d 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 54 68 65 sly.run.some.shell.command...The
08c0 20 63 6f 6d 6d 61 6e 64 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 .command.~with-editor-export-edi
08e0 74 6f 72 7e 20 65 78 70 6f 72 74 73 20 7e 24 45 44 49 54 4f 52 7e 20 6f 72 0a 61 6e 6f 74 68 65 tor~.exports.~$EDITOR~.or.anothe
0900 72 20 73 75 63 68 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 6e 20 7e r.such.environment.variable.in.~
0920 73 68 65 6c 6c 2d 6d 6f 64 65 7e 2c 20 7e 65 73 68 65 6c 6c 2d 6d 6f 64 65 7e 2c 0a 7e 74 65 72 shell-mode~,.~eshell-mode~,.~ter
0940 6d 2d 6d 6f 64 65 7e 20 61 6e 64 20 7e 76 74 65 72 6d 2d 6d 6f 64 65 7e 20 62 75 66 66 65 72 73 m-mode~.and.~vterm-mode~.buffers
0960 2e 20 20 55 73 65 20 74 68 69 73 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 0a 62 65 66 6f 72 65 ...Use.this.Emacs.command.before
0980 20 65 78 65 63 75 74 69 6e 67 20 61 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 77 68 69 63 68 .executing.a.shell.command.which
09a0 20 6e 65 65 64 73 20 74 68 65 20 65 64 69 74 6f 72 20 73 65 74 2c 20 6f 72 0a 61 6c 77 61 79 73 .needs.the.editor.set,.or.always
09c0 20 61 72 72 61 6e 67 65 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 .arrange.for.the.current.Emacs.i
09e0 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 64 69 74 6f 72 0a 62 79 20 nstance.to.be.used.as.editor.by.
0a00 61 64 64 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6d 6f 64 adding.it.to.the.appropriate.mod
0a20 65 20 68 6f 6f 6b 73 3a 0a 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6d 61 63 73 2d 6c 69 73 70 e.hooks:..#+begin_src.emacs-lisp
0a40 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 27 ...(add-hook.'shell-mode-hook..'
0a60 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 20 20 28 61 64 with-editor-export-editor)...(ad
0a80 64 2d 68 6f 6f 6b 20 27 65 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 77 69 74 68 2d 65 d-hook.'eshell-mode-hook.'with-e
0aa0 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b ditor-export-editor)...(add-hook
0ac0 20 27 74 65 72 6d 2d 65 78 65 63 2d 68 6f 6f 6b 20 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d .'term-exec-hook...'with-editor-
0ae0 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 76 74 65 72 export-editor)...(add-hook.'vter
0b00 6d 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 m-mode-hook..'with-editor-export
0b20 2d 65 64 69 74 6f 72 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 0a 53 6f 6d 65 20 76 61 72 69 61 6e 74 -editor).#+end_src..Some.variant
0b40 73 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 2c 20 74 68 65 73 65 20 s.of.this.function.exist,.these.
0b60 74 77 6f 20 66 6f 72 6d 73 20 61 72 65 0a 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 23 2b 62 65 67 two.forms.are.equivalent:..#+beg
0b80 69 6e 5f 73 72 63 20 65 6d 61 63 73 2d 6c 69 73 70 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 in_src.emacs-lisp...(add-hook.'s
0ba0 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c hell-mode-hook.............(appl
0bc0 79 2d 70 61 72 74 69 61 6c 6c 79 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d y-partially.'with-editor-export-
0be0 65 64 69 74 6f 72 20 22 47 49 54 5f 45 44 49 54 4f 52 22 29 29 0a 20 20 28 61 64 64 2d 68 6f 6f editor."GIT_EDITOR"))...(add-hoo
0c00 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d k.'shell-mode-hook.'with-editor-
0c20 65 78 70 6f 72 74 2d 67 69 74 2d 65 64 69 74 6f 72 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 0a 54 68 export-git-editor).#+end_src..Th
0c40 69 73 20 6c 69 62 72 61 72 79 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 62 79 20 6f is.library.can.also.be.used.by.o
0c60 74 68 65 72 20 70 61 63 6b 61 67 65 73 20 77 68 69 63 68 20 6e 65 65 64 20 74 6f 20 75 73 65 0a ther.packages.which.need.to.use.
0c80 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 65 64 the.current.Emacs.instance.as.ed
0ca0 69 74 6f 72 2e 20 20 49 6e 20 66 61 63 74 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 77 61 73 0a itor...In.fact.this.library.was.
0cc0 77 72 69 74 74 65 6e 20 66 6f 72 20 4d 61 67 69 74 20 61 6e 64 20 69 74 73 20 7e 67 69 74 2d 63 written.for.Magit.and.its.~git-c
0ce0 6f 6d 6d 69 74 2d 6d 6f 64 65 7e 20 61 6e 64 20 7e 67 69 74 2d 72 65 62 61 73 65 2d 6d 6f 64 65 ommit-mode~.and.~git-rebase-mode
0d00 7e 2e 0a 43 6f 6e 73 75 6c 74 20 7e 67 69 74 2d 72 65 62 61 73 65 2e 65 6c 7e 20 61 6e 64 20 74 ~..Consult.~git-rebase.el~.and.t
0d20 68 65 20 72 65 6c 61 74 65 64 20 63 6f 64 65 20 69 6e 20 7e 6d 61 67 69 74 2d 73 65 71 75 65 6e he.related.code.in.~magit-sequen
0d40 63 65 2e 65 6c 7e 0a 66 6f 72 20 61 20 73 69 6d 70 6c 65 20 65 78 61 6d 70 6c 65 2e 0a 0a 23 2b ce.el~.for.a.simple.example...#+
0d60 68 74 6d 6c 3a 20 3c 62 72 3e 3c 62 72 3e 0a 23 2b 68 74 6d 6c 3a 20 3c 61 20 68 72 65 66 3d 22 html:.<br><br>.#+html:.<a.href="
0d80 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 77 69 74 68 2d 65 64 https://github.com/magit/with-ed
0da0 69 74 6f 72 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 63 6f 6d 70 69 6c 65 2e 79 itor/actions/workflows/compile.y
0dc0 6d 6c 22 3e 3c 69 6d 67 20 61 6c 74 3d 22 43 6f 6d 70 69 6c 65 22 20 73 72 63 3d 22 68 74 74 70 ml"><img.alt="Compile".src="http
0de0 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 77 69 74 68 2d 65 64 69 74 6f 72 s://github.com/magit/with-editor
0e00 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 63 6f 6d 70 69 6c 65 2e 79 6d 6c 2f 62 /actions/workflows/compile.yml/b
0e20 61 64 67 65 2e 73 76 67 22 2f 3e 3c 2f 61 3e 0a 23 2b 68 74 6d 6c 3a 20 3c 61 20 68 72 65 66 3d adge.svg"/></a>.#+html:.<a.href=
0e40 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 77 69 74 68 2d 65 "https://github.com/magit/with-e
0e60 64 69 74 6f 72 2f 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 6d 61 6e 75 61 6c 2e 79 ditor/actions/workflows/manual.y
0e80 6d 6c 22 3e 3c 69 6d 67 20 61 6c 74 3d 22 4d 61 6e 75 61 6c 22 20 73 72 63 3d 22 68 74 74 70 73 ml"><img.alt="Manual".src="https
0ea0 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 77 69 74 68 2d 65 64 69 74 6f 72 2f ://github.com/magit/with-editor/
0ec0 61 63 74 69 6f 6e 73 2f 77 6f 72 6b 66 6c 6f 77 73 2f 6d 61 6e 75 61 6c 2e 79 6d 6c 2f 62 61 64 actions/workflows/manual.yml/bad
0ee0 67 65 2e 73 76 67 22 2f 3e 3c 2f 61 3e 0a 23 2b 68 74 6d 6c 3a 20 3c 61 20 68 72 65 66 3d 22 68 ge.svg"/></a>.#+html:.<a.href="h
0f00 74 74 70 73 3a 2f 2f 65 6c 70 61 2e 6e 6f 6e 67 6e 75 2e 6f 72 67 2f 6e 6f 6e 67 6e 75 2f 77 69 ttps://elpa.nongnu.org/nongnu/wi
0f20 74 68 2d 65 64 69 74 6f 72 2e 68 74 6d 6c 22 3e 3c 69 6d 67 20 61 6c 74 3d 22 4e 6f 6e 47 4e 55 th-editor.html"><img.alt="NonGNU
0f40 20 45 4c 50 41 22 20 73 72 63 3d 22 68 74 74 70 73 3a 2f 2f 65 6d 61 63 73 61 69 72 2e 6d 65 2f .ELPA".src="https://emacsair.me/
0f60 61 73 73 65 74 73 2f 62 61 64 67 65 73 2f 6e 6f 6e 67 6e 75 2d 65 6c 70 61 2e 73 76 67 22 2f 3e assets/badges/nongnu-elpa.svg"/>
0f80 3c 2f 61 3e 0a 23 2b 68 74 6d 6c 3a 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 73 74 </a>.#+html:.<a.href="https://st
0fa0 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 77 69 74 68 2d 65 64 69 74 6f 72 22 3e 3c 69 able.melpa.org/#/with-editor"><i
0fc0 6d 67 20 61 6c 74 3d 22 4d 45 4c 50 41 20 53 74 61 62 6c 65 22 20 73 72 63 3d 22 68 74 74 70 73 mg.alt="MELPA.Stable".src="https
0fe0 3a 2f 2f 73 74 61 62 6c 65 2e 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 77 69 74 ://stable.melpa.org/packages/wit
1000 68 2d 65 64 69 74 6f 72 2d 62 61 64 67 65 2e 73 76 67 22 2f 3e 3c 2f 61 3e 0a 23 2b 68 74 6d 6c h-editor-badge.svg"/></a>.#+html
1020 3a 20 3c 61 20 68 72 65 66 3d 22 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 23 2f 77 :.<a.href="https://melpa.org/#/w
1040 69 74 68 2d 65 64 69 74 6f 72 22 3e 3c 69 6d 67 20 61 6c 74 3d 22 4d 45 4c 50 41 22 20 73 72 63 ith-editor"><img.alt="MELPA".src
1060 3d 22 68 74 74 70 73 3a 2f 2f 6d 65 6c 70 61 2e 6f 72 67 2f 70 61 63 6b 61 67 65 73 2f 77 69 74 ="https://melpa.org/packages/wit
1080 68 2d 65 64 69 74 6f 72 2d 62 61 64 67 65 2e 73 76 67 22 2f 3e 3c 2f 61 3e 0a 00 00 00 00 00 00 h-editor-badge.svg"/></a>.......
10a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 52 45 41 44 4d 45 2d 65 6c 70 61 00 00 00 with-editor-3.4.6/README-elpa...
1220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1260 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
1280 30 30 30 34 37 31 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 33 30 00 20 30 00 00 00 0004715.00000000000.014230..0...
12a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1300 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...................
1320 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...................
1340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1400 31 20 57 69 74 68 2d 45 64 69 74 6f 72 0a e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 1.With-Editor...................
1420 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 e2 95 90 0a 0a 20 20 54 68 69 73 20 6c 69 .........................This.li
1440 62 72 61 72 79 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 72 65 6c 69 61 brary.makes.it.possible.to.relia
1460 62 6c 79 20 75 73 65 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 20 74 68 65 0a 20 bly.use.the.Emacsclient.as.the..
1480 20 60 24 45 44 49 54 4f 52 27 20 6f 66 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2e 20 20 .`$EDITOR'.of.child.processes...
14a0 49 74 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 20 6b 6e 6f 77 20 68 6f 77 It.makes.sure.that.they.know.how
14c0 20 74 6f 0a 20 20 63 61 6c 6c 20 68 6f 6d 65 2e 20 20 46 6f 72 20 72 65 6d 6f 74 65 20 70 72 6f .to...call.home...For.remote.pro
14e0 63 65 73 73 65 73 20 61 20 73 75 62 73 74 69 74 75 74 65 20 69 73 20 70 72 6f 76 69 64 65 64 2c cesses.a.substitute.is.provided,
1500 20 77 68 69 63 68 0a 20 20 63 6f 6d 6d 75 6e 69 63 61 74 65 73 20 77 69 74 68 20 45 6d 61 63 73 .which...communicates.with.Emacs
1520 20 6f 6e 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2f 69 6e 70 75 74 20 69 6e 73 74 65 61 .on.standard.output/input.instea
1540 64 20 6f 66 20 75 73 69 6e 67 20 61 0a 20 20 73 6f 63 6b 65 74 20 61 73 20 74 68 65 20 45 6d 61 d.of.using.a...socket.as.the.Ema
1560 63 73 63 6c 69 65 6e 74 20 64 6f 65 73 2e 0a 0a 20 20 49 74 20 70 72 6f 76 69 64 65 73 20 74 68 csclient.does.....It.provides.th
1580 65 20 63 6f 6d 6d 61 6e 64 73 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 e.commands.`with-editor-async-sh
15a0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 6e 64 0a 20 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d ell-command'.and...`with-editor-
15c0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 2c 20 77 68 69 63 68 20 61 72 65 20 69 6e 74 65 6e 64 shell-command',.which.are.intend
15e0 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 66 6f 72 0a 20 20 60 61 73 79 6e 63 2d ed.as.replacements.for...`async-
1600 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 6e 64 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e shell-command'.and.`shell-comman
1620 64 27 2e 20 20 54 68 65 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 65 78 70 6f 72 74 0a 20 d'...They.automatically.export..
1640 20 60 24 45 44 49 54 4f 52 27 20 6d 61 6b 69 6e 67 20 73 75 72 65 20 74 68 65 20 65 78 65 63 75 .`$EDITOR'.making.sure.the.execu
1660 74 65 64 20 63 6f 6d 6d 61 6e 64 20 75 73 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 ted.command.uses.the.current.Ema
1680 63 73 0a 20 20 69 6e 73 74 61 6e 63 65 20 61 73 20 22 74 68 65 20 65 64 69 74 6f 72 22 2e 20 20 cs...instance.as."the.editor"...
16a0 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 74 68 65 73 65 20 63 6f 6d With.a.prefix.argument.these.com
16c0 6d 61 6e 64 73 0a 20 20 70 72 6f 6d 70 74 20 66 6f 72 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 mands...prompt.for.an.alternativ
16e0 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 73 75 63 68 20 61 73 20 60 e.environment.variable.such.as.`
1700 24 47 49 54 5f 45 44 49 54 4f 52 27 2e 0a 20 20 54 6f 20 61 6c 77 61 79 73 20 75 73 65 20 74 68 $GIT_EDITOR'....To.always.use.th
1720 65 73 65 20 76 61 72 69 61 6e 74 73 20 61 64 64 20 74 68 69 73 20 74 6f 20 79 6f 75 72 20 69 6e ese.variants.add.this.to.your.in
1740 69 74 20 66 69 6c 65 3a 0a 0a 20 20 e2 94 8c e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 20 20 e2 94 it.file:........................
1760 82 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 6d 61 70 3e 20 3c 61 ..(keymap-global-set."<remap>.<a
1780 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 20 20 e2 94 82 20 09 09 20 20 20 sync-shell-command>"............
17a0 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e #'with-editor-async-shell-comman
17c0 64 29 0a 20 20 e2 94 82 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 d).......(keymap-global-set."<re
17e0 6d 61 70 3e 20 3c 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 20 20 e2 94 82 20 09 09 20 20 map>.<shell-command>"...........
1800 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 .#'with-editor-shell-command)...
1820 e2 94 94 e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 0a 20 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 ...................Alternatively
1840 20 75 73 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 .use.the.global.`shell-command-w
1860 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 27 2c 20 77 68 69 63 68 0a 20 20 61 6c 77 61 79 73 ith-editor-mode',.which...always
1880 20 73 65 74 73 20 60 24 45 44 49 54 4f 52 27 20 66 6f 72 20 61 6c 6c 20 45 6d 61 63 73 20 63 6f .sets.`$EDITOR'.for.all.Emacs.co
18a0 6d 6d 61 6e 64 73 20 77 68 69 63 68 20 75 6c 74 69 6d 61 74 65 6c 79 20 75 73 65 0a 20 20 60 73 mmands.which.ultimately.use...`s
18c0 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 74 6f 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 hell-command'.to.asynchronously.
18e0 72 75 6e 20 73 6f 6d 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 20 20 54 68 65 20 63 run.some.shell.command.....The.c
1900 6f 6d 6d 61 6e 64 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f ommand.`with-editor-export-edito
1920 72 27 20 65 78 70 6f 72 74 73 20 60 24 45 44 49 54 4f 52 27 20 6f 72 20 61 6e 6f 74 68 65 72 0a r'.exports.`$EDITOR'.or.another.
1940 20 20 73 75 63 68 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 6e 20 60 ..such.environment.variable.in.`
1960 73 68 65 6c 6c 2d 6d 6f 64 65 27 2c 20 60 65 73 68 65 6c 6c 2d 6d 6f 64 65 27 2c 20 60 74 65 72 shell-mode',.`eshell-mode',.`ter
1980 6d 2d 6d 6f 64 65 27 0a 20 20 61 6e 64 20 60 76 74 65 72 6d 2d 6d 6f 64 65 27 20 62 75 66 66 65 m-mode'...and.`vterm-mode'.buffe
19a0 72 73 2e 20 20 55 73 65 20 74 68 69 73 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 20 62 65 66 6f rs...Use.this.Emacs.command.befo
19c0 72 65 20 65 78 65 63 75 74 69 6e 67 20 61 0a 20 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 77 re.executing.a...shell.command.w
19e0 68 69 63 68 20 6e 65 65 64 73 20 74 68 65 20 65 64 69 74 6f 72 20 73 65 74 2c 20 6f 72 20 61 6c hich.needs.the.editor.set,.or.al
1a00 77 61 79 73 20 61 72 72 61 6e 67 65 20 66 6f 72 20 74 68 65 0a 20 20 63 75 72 72 65 6e 74 20 45 ways.arrange.for.the...current.E
1a20 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 64 69 74 macs.instance.to.be.used.as.edit
1a40 6f 72 20 62 79 20 61 64 64 69 6e 67 20 69 74 20 74 6f 20 74 68 65 0a 20 20 61 70 70 72 6f 70 72 or.by.adding.it.to.the...appropr
1a60 69 61 74 65 20 6d 6f 64 65 20 68 6f 6f 6b 73 3a 0a 0a 20 20 e2 94 8c e2 94 80 e2 94 80 e2 94 80 iate.mode.hooks:................
1a80 e2 94 80 0a 20 20 e2 94 82 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d ..........(add-hook.'shell-mode-
1aa0 68 6f 6f 6b 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 hook..'with-editor-export-editor
1ac0 29 0a 20 20 e2 94 82 20 28 61 64 64 2d 68 6f 6f 6b 20 27 65 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 ).......(add-hook.'eshell-mode-h
1ae0 6f 6f 6b 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a ook.'with-editor-export-editor).
1b00 20 20 e2 94 82 20 28 61 64 64 2d 68 6f 6f 6b 20 27 74 65 72 6d 2d 65 78 65 63 2d 68 6f 6f 6b 20 ......(add-hook.'term-exec-hook.
1b20 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 20 20 ..'with-editor-export-editor)...
1b40 e2 94 82 20 28 61 64 64 2d 68 6f 6f 6b 20 27 76 74 65 72 6d 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 ....(add-hook.'vterm-mode-hook..
1b60 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 20 20 e2 94 'with-editor-export-editor).....
1b80 94 e2 94 80 e2 94 80 e2 94 80 e2 94 80 0a 0a 20 20 53 6f 6d 65 20 76 61 72 69 61 6e 74 73 20 6f .................Some.variants.o
1ba0 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 2c 20 74 68 65 73 65 20 74 77 6f f.this.function.exist,.these.two
1bc0 20 66 6f 72 6d 73 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 e2 94 8c e2 94 80 .forms.are.equivalent:..........
1be0 e2 94 80 e2 94 80 e2 94 80 0a 20 20 e2 94 82 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c ................(add-hook.'shell
1c00 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 e2 94 82 20 09 20 20 28 61 70 70 6c 79 2d 70 61 72 74 69 -mode-hook..........(apply-parti
1c20 61 6c 6c 79 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 20 ally.'with-editor-export-editor.
1c40 22 47 49 54 5f 45 44 49 54 4f 52 22 29 29 0a 20 20 e2 94 82 20 28 61 64 64 2d 68 6f 6f 6b 20 27 "GIT_EDITOR")).......(add-hook.'
1c60 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 shell-mode-hook.'with-editor-exp
1c80 6f 72 74 2d 67 69 74 2d 65 64 69 74 6f 72 29 0a 20 20 e2 94 94 e2 94 80 e2 94 80 e2 94 80 e2 94 ort-git-editor).................
1ca0 80 0a 0a 20 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 .....This.library.can.also.be.us
1cc0 65 64 20 62 79 20 6f 74 68 65 72 20 70 61 63 6b 61 67 65 73 20 77 68 69 63 68 20 6e 65 65 64 20 ed.by.other.packages.which.need.
1ce0 74 6f 20 75 73 65 20 74 68 65 0a 20 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 to.use.the...current.Emacs.insta
1d00 6e 63 65 20 61 73 20 65 64 69 74 6f 72 2e 20 20 49 6e 20 66 61 63 74 20 74 68 69 73 20 6c 69 62 nce.as.editor...In.fact.this.lib
1d20 72 61 72 79 20 77 61 73 20 77 72 69 74 74 65 6e 0a 20 20 66 6f 72 20 4d 61 67 69 74 20 61 6e 64 rary.was.written...for.Magit.and
1d40 20 69 74 73 20 60 67 69 74 2d 63 6f 6d 6d 69 74 2d 6d 6f 64 65 27 20 61 6e 64 20 60 67 69 74 2d .its.`git-commit-mode'.and.`git-
1d60 72 65 62 61 73 65 2d 6d 6f 64 65 27 2e 20 20 43 6f 6e 73 75 6c 74 0a 20 20 60 67 69 74 2d 72 65 rebase-mode'...Consult...`git-re
1d80 62 61 73 65 2e 65 6c 27 20 61 6e 64 20 74 68 65 20 72 65 6c 61 74 65 64 20 63 6f 64 65 20 69 6e base.el'.and.the.related.code.in
1da0 20 60 6d 61 67 69 74 2d 73 65 71 75 65 6e 63 65 2e 65 6c 27 20 66 6f 72 20 61 0a 20 20 73 69 6d .`magit-sequence.el'.for.a...sim
1dc0 70 6c 65 20 65 78 61 6d 70 6c 65 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ple.example.....................
1de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e00 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 77 69 74 68 2d 65 64 69 74 6f 72 2e 6f 72 with-editor-3.4.6/with-editor.or
1e20 67 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 g...............................
1e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e60 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
1e80 30 30 33 30 30 31 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 33 36 34 00 20 30 00 00 00 0030010.00000000000.015364..0...
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f00 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...................
1f20 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...................
1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2000 23 2b 74 69 74 6c 65 3a 20 57 69 74 68 2d 45 64 69 74 6f 72 20 55 73 65 72 20 4d 61 6e 75 61 6c #+title:.With-Editor.User.Manual
2020 0a 3a 50 52 45 41 4d 42 4c 45 3a 0a 23 2b 61 75 74 68 6f 72 3a 20 4a 6f 6e 61 73 20 42 65 72 6e .:PREAMBLE:.#+author:.Jonas.Bern
2040 6f 75 6c 6c 69 0a 23 2b 65 6d 61 69 6c 3a 20 65 6d 61 63 73 2e 77 69 74 68 2d 65 64 69 74 6f 72 oulli.#+email:.emacs.with-editor
2060 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 0a 23 2b 64 61 74 65 3a 20 32 30 31 @jonas.bernoulli.dev.#+date:.201
2080 35 2d 7b 7b 7b 79 65 61 72 7d 7d 7d 0a 0a 23 2b 74 65 78 69 6e 66 6f 5f 64 69 72 5f 63 61 74 65 5-{{{year}}}..#+texinfo_dir_cate
20a0 67 6f 72 79 3a 20 45 6d 61 63 73 0a 23 2b 74 65 78 69 6e 66 6f 5f 64 69 72 5f 74 69 74 6c 65 3a gory:.Emacs.#+texinfo_dir_title:
20c0 20 57 69 74 68 2d 45 64 69 74 6f 72 3a 20 28 77 69 74 68 2d 65 64 69 74 6f 72 29 2e 0a 23 2b 74 .With-Editor:.(with-editor)..#+t
20e0 65 78 69 6e 66 6f 5f 64 69 72 5f 64 65 73 63 3a 20 55 73 69 6e 67 20 74 68 65 20 45 6d 61 63 73 exinfo_dir_desc:.Using.the.Emacs
2100 63 6c 69 65 6e 74 20 61 73 20 24 45 44 49 54 4f 52 0a 23 2b 73 75 62 74 69 74 6c 65 3a 20 66 6f client.as.$EDITOR.#+subtitle:.fo
2120 72 20 76 65 72 73 69 6f 6e 20 33 2e 34 2e 36 0a 0a 23 2b 73 65 74 75 70 66 69 6c 65 3a 20 2e 6f r.version.3.4.6..#+setupfile:..o
2140 72 67 63 6f 6e 66 69 67 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 7e 77 69 74 68 2d 65 64 69 74 rgconfig..The.library.~with-edit
2160 6f 72 7e 20 6d 61 6b 65 73 20 69 74 20 65 61 73 79 20 74 6f 20 75 73 65 20 74 68 65 20 45 6d 61 or~.makes.it.easy.to.use.the.Ema
2180 63 73 63 6c 69 65 6e 74 20 61 73 20 74 68 65 0a 7e 24 45 44 49 54 4f 52 7e 20 6f 66 20 63 68 69 csclient.as.the.~$EDITOR~.of.chi
21a0 6c 64 20 70 72 6f 63 65 73 73 65 73 2c 20 6d 61 6b 69 6e 67 20 73 75 72 65 20 74 68 65 79 20 6b ld.processes,.making.sure.they.k
21c0 6e 6f 77 20 68 6f 77 20 74 6f 20 63 61 6c 6c 20 68 6f 6d 65 2e 0a 46 6f 72 20 72 65 6d 6f 74 65 now.how.to.call.home..For.remote
21e0 20 70 72 6f 63 65 73 73 65 73 20 61 20 73 75 62 73 74 69 74 75 74 65 20 69 73 20 70 72 6f 76 69 .processes.a.substitute.is.provi
2200 64 65 64 2c 20 77 68 69 63 68 20 63 6f 6d 6d 75 6e 69 63 61 74 65 73 20 77 69 74 68 0a 45 6d 61 ded,.which.communicates.with.Ema
2220 63 73 20 6f 6e 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 69 6e 73 74 65 61 64 20 6f 66 cs.on.standard.output.instead.of
2240 20 75 73 69 6e 67 20 61 20 73 6f 63 6b 65 74 20 61 73 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 .using.a.socket.as.the.Emacsclie
2260 6e 74 0a 64 6f 65 73 2e 0a 0a 54 68 69 73 20 6c 69 62 72 61 72 79 20 77 61 73 20 77 72 69 74 74 nt.does...This.library.was.writt
2280 65 6e 20 62 65 63 61 75 73 65 20 4d 61 67 69 74 20 68 61 73 20 74 6f 20 62 65 20 61 62 6c 65 20 en.because.Magit.has.to.be.able.
22a0 74 6f 20 64 6f 20 74 68 65 20 61 62 6f 76 65 0a 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 to.do.the.above.to.allow.the.use
22c0 72 20 74 6f 20 65 64 69 74 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 65 73 20 67 72 61 63 65 66 r.to.edit.commit.messages.gracef
22e0 75 6c 6c 79 20 61 6e 64 20 74 6f 20 65 64 69 74 0a 72 65 62 61 73 65 20 73 65 71 75 65 6e 63 65 ully.and.to.edit.rebase.sequence
2300 73 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 6e 27 74 20 62 65 20 70 6f 73 73 69 62 6c 65 20 61 74 s,.which.wouldn't.be.possible.at
2320 20 61 6c 6c 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 42 65 63 61 75 73 65 20 6f 74 68 65 72 20 70 .all.otherwise...Because.other.p
2340 61 63 6b 61 67 65 73 20 63 61 6e 20 62 65 6e 65 66 69 74 20 66 72 6f 6d 20 73 75 63 68 20 66 75 ackages.can.benefit.from.such.fu
2360 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 74 68 69 73 0a 6c 69 62 72 61 72 79 20 69 73 20 6d 61 64 nctionality,.this.library.is.mad
2380 65 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 73 65 70 61 72 61 74 65 20 70 61 63 6b 61 67 e.available.as.a.separate.packag
23a0 65 2e 20 20 49 74 20 61 6c 73 6f 20 64 65 66 69 6e 65 73 20 73 6f 6d 65 0a 61 64 64 69 74 69 6f e...It.also.defines.some.additio
23c0 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 77 68 69 63 68 20 6d 61 6b 65 73 20 69 74 nal.functionality.which.makes.it
23e0 20 75 73 65 66 75 6c 20 65 76 65 6e 20 66 6f 72 20 65 6e 64 2d 75 73 65 72 73 2c 20 77 68 6f 0a .useful.even.for.end-users,.who.
2400 64 6f 6e 27 74 20 75 73 65 20 4d 61 67 69 74 20 6f 72 20 61 6e 6f 74 68 65 72 20 70 61 63 6b 61 don't.use.Magit.or.another.packa
2420 67 65 20 77 68 69 63 68 20 75 73 65 73 20 69 74 20 69 6e 74 65 72 6e 61 6c 6c 79 2e 0a 0a 23 2b ge.which.uses.it.internally...#+
2440 74 65 78 69 6e 66 6f 3a 20 40 6e 6f 69 6e 64 65 6e 74 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 texinfo:.@noindent.This.manual.i
2460 73 20 66 6f 72 20 57 69 74 68 2d 45 64 69 74 6f 72 20 76 65 72 73 69 6f 6e 20 33 2e 34 2e 36 2e s.for.With-Editor.version.3.4.6.
2480 0a 0a 23 2b 74 65 78 69 6e 66 6f 3a 20 40 69 6e 73 65 72 74 63 6f 70 79 69 6e 67 0a 3a 45 4e 44 ..#+texinfo:.@insertcopying.:END
24a0 3a 0a 2a 20 55 73 69 6e 67 20 74 68 65 20 57 69 74 68 2d 45 64 69 74 6f 72 20 70 61 63 6b 61 67 :.*.Using.the.With-Editor.packag
24c0 65 0a 0a 54 68 65 20 7e 57 69 74 68 2d 45 64 69 74 6f 72 7e 20 70 61 63 6b 61 67 65 20 69 73 20 e..The.~With-Editor~.package.is.
24e0 75 73 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 20 62 79 20 4d 61 67 69 74 20 77 68 65 6e 20 65 64 used.internally.by.Magit.when.ed
2500 69 74 69 6e 67 0a 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 65 73 20 61 6e 64 20 72 65 62 61 73 65 iting.commit.messages.and.rebase
2520 20 73 65 71 75 65 6e 63 65 73 2e 20 20 49 74 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 73 6f .sequences...It.also.provides.so
2540 6d 65 20 63 6f 6d 6d 61 6e 64 73 0a 61 6e 64 20 66 65 61 74 75 72 65 73 20 77 68 69 63 68 20 61 me.commands.and.features.which.a
2560 72 65 20 75 73 65 66 75 6c 20 62 79 20 74 68 65 6d 73 65 6c 76 65 73 2c 20 65 76 65 6e 20 69 66 re.useful.by.themselves,.even.if
2580 20 79 6f 75 20 64 6f 6e 27 74 20 75 73 65 0a 4d 61 67 69 74 2e 0a 0a 46 6f 72 20 69 6e 66 6f 72 .you.don't.use.Magit...For.infor
25a0 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 75 73 69 6e 67 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 mation.about.using.this.library.
25c0 69 6e 20 79 6f 75 72 20 6f 77 6e 20 70 61 63 6b 61 67 65 2c 20 73 65 65 0a 5b 5b 2a 55 73 69 6e in.your.own.package,.see.[[*Usin
25e0 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 61 73 20 61 20 6c 69 62 72 61 72 79 5d 5d 2e 0a 0a 2a g.With-Editor.as.a.library]]...*
2600 2a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 0a 0a 57 69 74 68 2d *.Configuring.With-Editor..With-
2620 45 64 69 74 6f 72 20 74 72 69 65 73 20 76 65 72 79 20 68 61 72 64 20 74 6f 20 6c 6f 63 61 74 65 Editor.tries.very.hard.to.locate
2640 20 61 20 73 75 69 74 61 62 6c 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 0a 65 78 65 63 75 74 .a.suitable.~emacsclient~.execut
2660 61 62 6c 65 2c 20 73 6f 20 69 64 65 61 6c 6c 79 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 able,.so.ideally.you.should.neve
2680 72 20 68 61 76 65 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 6f 70 74 69 6f 6e 0a 7e r.have.to.customize.the.option.~
26a0 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 with-editor-emacsclient-executab
26c0 6c 65 7e 2e 20 20 57 68 65 6e 20 69 74 20 66 61 69 6c 73 20 74 6f 20 64 6f 20 73 6f 2c 20 74 68 le~...When.it.fails.to.do.so,.th
26e0 65 6e 20 74 68 65 0a 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 72 65 61 73 6f 6e 20 69 73 20 74 68 61 en.the.most.likely.reason.is.tha
2700 74 20 73 6f 6d 65 6f 6e 65 20 66 6f 75 6e 64 20 79 65 74 20 61 6e 6f 74 68 65 72 20 77 61 79 20 t.someone.found.yet.another.way.
2720 74 6f 20 70 61 63 6b 61 67 65 0a 45 6d 61 63 73 20 28 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 6f 6e to.package.Emacs.(most.likely.on
2740 20 6d 61 63 4f 53 29 20 77 69 74 68 6f 75 74 20 70 75 74 74 69 6e 67 20 74 68 65 20 65 78 65 63 .macOS).without.putting.the.exec
2760 75 74 61 62 6c 65 20 6f 6e 20 7e 24 50 41 54 48 7e 2c 0a 61 6e 64 20 77 65 20 68 61 76 65 20 74 utable.on.~$PATH~,.and.we.have.t
2780 6f 20 61 64 64 20 61 6e 6f 74 68 65 72 20 6b 6c 75 64 67 65 20 74 6f 20 66 69 6e 64 20 69 74 20 o.add.another.kludge.to.find.it.
27a0 61 6e 79 77 61 79 2e 0a 0a 2d 20 55 73 65 72 20 4f 70 74 69 6f 6e 3a 20 77 69 74 68 2d 65 64 69 anyway...-.User.Option:.with-edi
27c0 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 20 3a 3a 0a 0a 20 tor-emacsclient-executable.::...
27e0 20 54 68 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 20 65 78 65 63 75 74 61 62 6c 65 20 75 73 .The.~emacsclient~.executable.us
2800 65 64 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 20 62 79 20 63 68 69 6c 64 20 70 72 6f 63 65 73 ed.as.the.editor.by.child.proces
2820 73 65 73 20 6f 66 0a 20 20 74 68 69 73 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 2e 20 20 42 ses.of...this.Emacs.instance...B
2840 79 20 75 73 69 6e 67 20 74 68 69 73 20 65 78 65 63 75 74 61 62 6c 65 2c 20 63 68 69 6c 64 20 70 y.using.this.executable,.child.p
2860 72 6f 63 65 73 73 65 73 20 63 61 6e 0a 20 20 63 61 6c 6c 20 68 6f 6d 65 20 74 6f 20 74 68 65 69 rocesses.can...call.home.to.thei
2880 72 20 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 0a 0a 20 20 54 68 69 73 20 6f 70 74 69 6f 6e r.parent.process.....This.option
28a0 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 73 65 74 20 61 74 20 73 74 61 72 74 75 70 .is.automatically.set.at.startup
28c0 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 69 6e 20 7e 65 78 65 63 2d 70 61 74 68 7e 2c 0a 20 20 61 6e .by.looking.in.~exec-path~,...an
28e0 64 20 6f 74 68 65 72 20 70 6c 61 63 65 73 20 77 68 65 72 65 20 74 68 65 20 65 78 65 63 75 74 61 d.other.places.where.the.executa
2900 62 6c 65 20 63 6f 75 6c 64 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 2c 20 74 6f 20 66 69 6e 64 0a ble.could.be.installed,.to.find.
2920 20 20 74 68 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 20 65 78 65 63 75 74 61 62 6c 65 20 6d ..the.~emacsclient~.executable.m
2940 6f 73 74 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 ost.suitable.for.the.current.Ema
2960 63 73 0a 20 20 69 6e 73 74 61 6e 63 65 2e 0a 0a 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 2a 6e 6f cs...instance.....You.should.*no
2980 74 2a 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 70 65 72 6d 61 6e 65 t*.customize.this.option.permane
29a0 6e 74 6c 79 2e 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 74 6f 20 64 6f 0a 20 20 69 74 2c 20 74 ntly...If.you.have.to.do...it,.t
29c0 68 65 6e 20 79 6f 75 20 73 68 6f 75 6c 64 20 63 6f 6e 73 69 64 65 72 20 74 68 61 74 20 61 20 74 hen.you.should.consider.that.a.t
29e0 65 6d 70 6f 72 61 72 79 20 6b 6c 75 64 67 65 20 61 6e 64 20 69 6e 66 6f 72 6d 20 74 68 65 0a 20 emporary.kludge.and.inform.the..
2a00 20 4d 61 67 69 74 20 6d 61 69 6e 74 61 69 6e 65 72 20 61 73 20 64 65 73 63 72 69 62 65 64 20 69 .Magit.maintainer.as.described.i
2a20 6e 20 5b 5b 2a 44 65 62 75 67 67 69 6e 67 5d 5b 44 65 62 75 67 67 69 6e 67 5d 5d 2e 0a 0a 20 20 n.[[*Debugging][Debugging]].....
2a40 49 66 20 57 69 74 68 2d 45 64 69 74 6f 72 20 66 61 69 6c 73 20 74 6f 20 66 69 6e 64 20 61 20 73 If.With-Editor.fails.to.find.a.s
2a60 75 69 74 61 62 6c 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 20 6f 6e 20 79 6f 75 72 20 73 79 uitable.~emacsclient~.on.your.sy
2a80 73 74 65 6d 2c 0a 20 20 74 68 65 6e 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 66 69 78 65 stem,...then.this.should.be.fixe
2aa0 64 20 66 6f 72 20 61 6c 6c 20 75 73 65 72 73 20 61 74 20 6f 6e 63 65 2c 20 62 79 20 74 65 61 63 d.for.all.users.at.once,.by.teac
2ac0 68 69 6e 67 0a 20 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 hing...~with-editor-locate-emacs
2ae0 63 6c 69 65 6e 74 7e 20 68 6f 77 20 74 6f 20 64 6f 20 73 6f 20 6f 6e 20 79 6f 75 72 20 73 79 73 client~.how.to.do.so.on.your.sys
2b00 74 65 6d 20 61 6e 64 0a 20 20 73 79 73 74 65 6d 73 20 6c 69 6b 65 20 79 6f 75 72 73 2e 20 44 6f tem.and...systems.like.yours..Do
2b20 69 6e 67 20 69 74 20 74 68 69 73 20 77 61 79 20 68 61 73 20 74 68 65 20 61 64 76 61 6e 74 61 67 ing.it.this.way.has.the.advantag
2b40 65 2c 20 74 68 61 74 20 79 6f 75 0a 20 20 77 6f 6e 27 74 20 68 61 76 65 20 64 6f 20 69 74 20 61 e,.that.you...won't.have.do.it.a
2b60 67 61 69 6e 20 65 76 65 72 79 20 74 69 6d 65 20 79 6f 75 20 75 70 64 61 74 65 20 45 6d 61 63 73 gain.every.time.you.update.Emacs
2b80 2c 20 61 6e 64 20 74 68 61 74 20 6f 74 68 65 72 0a 20 20 75 73 65 72 73 20 77 68 6f 20 68 61 76 ,.and.that.other...users.who.hav
2ba0 65 20 69 6e 73 74 61 6c 6c 65 64 20 45 6d 61 63 73 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 61 e.installed.Emacs.the.same.way.a
2bc0 73 20 79 6f 75 20 68 61 76 65 2c 20 77 6f 6e 27 74 20 68 61 76 65 0a 20 20 74 6f 20 67 6f 20 74 s.you.have,.won't.have...to.go.t
2be0 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 74 72 6f 75 62 6c 65 2e 0a 0a 20 20 4e 6f 74 65 hrough.the.same.trouble.....Note
2c00 20 74 68 61 74 20 74 68 65 72 65 20 61 6c 73 6f 20 69 73 20 61 20 6e 75 63 6c 65 61 72 20 6f 70 .that.there.also.is.a.nuclear.op
2c20 74 69 6f 6e 3b 20 73 65 74 74 69 6e 67 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 74 6f 0a 20 tion;.setting.this.variable.to..
2c40 20 7e 6e 69 6c 7e 20 63 61 75 73 65 73 20 74 68 65 20 22 73 6c 65 65 70 69 6e 67 20 65 64 69 74 .~nil~.causes.the."sleeping.edit
2c60 6f 72 22 20 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 20 74 6f 20 62 65 20 75 73 65 64 20 65 or".described.below.to.be.used.e
2c80 76 65 6e 20 66 6f 72 0a 20 20 6c 6f 63 61 6c 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2e ven.for...local.child.processes.
2ca0 20 20 4f 62 76 69 6f 75 73 6c 79 20 77 65 20 64 6f 6e 27 74 20 72 65 63 6f 6d 6d 65 6e 64 20 74 ..Obviously.we.don't.recommend.t
2cc0 68 61 74 20 79 6f 75 20 75 73 65 0a 20 20 74 68 69 73 20 65 78 63 65 70 74 20 69 6e 20 22 65 6d hat.you.use...this.except.in."em
2ce0 65 72 67 65 6e 63 69 65 73 22 2c 20 69 2e 65 2e 2c 20 62 65 66 6f 72 65 20 77 65 20 68 61 64 20 ergencies",.i.e.,.before.we.had.
2d00 61 20 63 68 61 6e 67 65 20 74 6f 20 61 64 64 20 61 0a 20 20 6b 6c 75 64 67 65 20 61 70 70 72 6f a.change.to.add.a...kludge.appro
2d20 70 72 69 61 74 65 20 66 6f 72 20 79 6f 75 72 20 73 65 74 75 70 2e 0a 0a 2d 20 46 75 6e 63 74 69 priate.for.your.setup...-.Functi
2d40 6f 6e 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 63 6c 69 65 on:.with-editor-locate-emacsclie
2d60 6e 74 20 3a 3a 0a 0a 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74 6f 20 73 65 nt.::....The.function.used.to.se
2d80 74 20 74 68 65 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f t.the.initial.value.of.the.optio
2da0 6e 0a 20 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 n...~with-editor-emacsclient-exe
2dc0 63 75 74 61 62 6c 65 7e 2e 20 20 54 68 65 72 65 27 73 20 61 20 6c 6f 74 20 6f 66 20 76 6f 6f 64 cutable~...There's.a.lot.of.vood
2de0 6f 6f 20 68 65 72 65 2e 0a 0a 54 68 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 20 63 61 6e 6e oo.here...The.~emacsclient~.cann
2e00 6f 74 20 62 65 20 75 73 65 64 20 77 68 65 6e 20 75 73 69 6e 67 20 54 72 61 6d 70 20 74 6f 20 72 ot.be.used.when.using.Tramp.to.r
2e20 75 6e 20 61 20 70 72 6f 63 65 73 73 20 6f 6e 20 61 0a 72 65 6d 6f 74 65 20 6d 61 63 68 69 6e 65 un.a.process.on.a.remote.machine
2e40 2e 20 20 28 54 68 65 6f 72 65 74 69 63 61 6c 6c 79 20 69 74 20 63 6f 75 6c 64 2c 20 62 75 74 20 ...(Theoretically.it.could,.but.
2e60 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 68 61 72 64 20 74 6f 0a 73 65 74 75 70 2c 20 76 65 72 that.would.be.hard.to.setup,.ver
2e80 79 20 66 72 61 67 69 6c 65 2c 20 61 6e 64 20 72 61 74 68 65 72 20 69 6e 73 65 63 75 72 65 29 2e y.fragile,.and.rather.insecure).
2ea0 0a 0a 57 69 74 68 2d 45 64 69 74 6f 72 20 70 72 6f 76 69 64 65 73 20 61 6e 20 61 6c 74 65 72 6e ..With-Editor.provides.an.altern
2ec0 61 74 69 76 65 20 22 65 64 69 74 6f 72 22 20 77 68 69 63 68 20 63 61 6e 20 62 65 20 75 73 65 64 ative."editor".which.can.be.used
2ee0 20 62 79 0a 72 65 6d 6f 74 65 20 70 72 6f 63 65 73 73 65 73 20 69 6e 20 6d 75 63 68 20 74 68 65 .by.remote.processes.in.much.the
2f00 20 73 61 6d 65 20 77 61 79 20 61 73 20 6c 6f 63 61 6c 20 70 72 6f 63 65 73 73 65 73 20 75 73 65 .same.way.as.local.processes.use
2f20 20 61 6e 0a 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 54 .an.~emacsclient~.executable...T
2f40 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 73 20 6b 6e 6f 77 6e 20 61 73 20 74 68 65 20 his.alternative.is.known.as.the.
2f60 22 73 6c 65 65 70 69 6e 67 0a 65 64 69 74 6f 72 22 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 "sleeping.editor".because.it.is.
2f80 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 61 20 73 68 65 6c 6c 20 73 63 72 69 70 74 20 77 68 implemented.as.a.shell.script.wh
2fa0 69 63 68 20 73 6c 65 65 70 73 20 75 6e 74 69 6c 0a 69 74 20 72 65 63 65 69 76 65 73 20 61 20 73 ich.sleeps.until.it.receives.a.s
2fc0 69 67 6e 61 6c 2e 0a 0a 2d 20 55 73 65 72 20 4f 70 74 69 6f 6e 3a 20 77 69 74 68 2d 65 64 69 74 ignal...-.User.Option:.with-edit
2fe0 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 20 3a 3a 0a 0a 20 20 54 68 65 20 73 6c 65 or-sleeping-editor.::....The.sle
3000 65 70 69 6e 67 20 65 64 69 74 6f 72 20 69 73 20 61 20 73 68 65 6c 6c 20 73 63 72 69 70 74 20 75 eping.editor.is.a.shell.script.u
3020 73 65 64 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 20 6f 66 20 63 68 69 6c 64 0a 20 20 70 72 6f sed.as.the.editor.of.child...pro
3040 63 65 73 73 65 73 20 77 68 65 6e 20 74 68 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 20 65 78 cesses.when.the.~emacsclient~.ex
3060 65 63 75 74 61 62 6c 65 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 2e 0a 0a 20 20 54 68 69 73 ecutable.cannot.be.used.....This
3080 20 66 61 6c 6c 62 61 63 6b 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 73 79 6e 63 68 72 6f 6e 6f .fallback.is.used.for.asynchrono
30a0 75 73 20 70 72 6f 63 65 73 73 65 73 20 73 74 61 72 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 0a us.processes.started.inside.the.
30c0 20 20 6d 61 63 72 6f 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 7e 2c 20 77 68 65 6e 20 74 68 65 20 ..macro.~with-editor~,.when.the.
30e0 70 72 6f 63 65 73 73 20 72 75 6e 73 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 6d 61 63 68 69 6e 65 process.runs.on.a.remote.machine
3100 20 6f 72 20 66 6f 72 0a 20 20 6c 6f 63 61 6c 20 70 72 6f 63 65 73 73 65 73 20 77 68 65 6e 20 7e .or.for...local.processes.when.~
3120 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 with-editor-emacsclient-executab
3140 6c 65 7e 20 69 73 20 7e 6e 69 6c 7e 2e 0a 0a 20 20 57 68 65 72 65 20 74 68 65 20 6c 61 74 74 65 le~.is.~nil~.....Where.the.latte
3160 72 20 75 73 65 73 20 61 20 73 6f 63 6b 65 74 20 74 6f 20 63 6f 6d 6d 75 6e 69 63 61 74 65 20 77 r.uses.a.socket.to.communicate.w
3180 69 74 68 20 45 6d 61 63 73 27 20 73 65 72 76 65 72 2c 0a 20 20 74 68 69 73 20 73 75 62 73 74 69 ith.Emacs'.server,...this.substi
31a0 74 75 74 65 20 70 72 69 6e 74 73 20 65 64 69 74 20 72 65 71 75 65 73 74 73 20 74 6f 20 69 74 73 tute.prints.edit.requests.to.its
31c0 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 6f 6e 0a 20 20 77 68 69 63 68 20 61 20 70 72 .standard.output.on...which.a.pr
31e0 6f 63 65 73 73 20 66 69 6c 74 65 72 20 6c 69 73 74 65 6e 73 20 66 6f 72 20 73 75 63 68 20 72 65 ocess.filter.listens.for.such.re
3200 71 75 65 73 74 73 2e 20 20 41 73 20 73 75 63 68 20 69 74 20 69 73 0a 20 20 6e 6f 74 20 61 20 63 quests...As.such.it.is...not.a.c
3220 6f 6d 70 6c 65 74 65 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 61 20 70 72 6f 70 65 72 20 omplete.substitute.for.a.proper.
3240 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 2c 20 69 74 20 63 61 6e 20 6f 6e 6c 79 0a 20 20 62 65 20 ~emacsclient~,.it.can.only...be.
3260 75 73 65 64 20 61 73 20 7e 24 45 44 49 54 4f 52 7e 20 6f 66 20 63 68 69 6c 64 20 70 72 6f 63 65 used.as.~$EDITOR~.of.child.proce
3280 73 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 ss.of.the.current.Emacs.instance
32a0 2e 0a 0a 20 20 53 6f 6d 65 20 73 68 65 6c 6c 73 20 64 6f 20 6e 6f 74 20 65 78 65 63 75 74 65 20 .....Some.shells.do.not.execute.
32c0 74 72 61 70 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 20 77 68 65 6e 20 77 61 69 74 69 6e 67 20 66 traps.immediately.when.waiting.f
32e0 6f 72 20 61 0a 20 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 2c 20 62 75 74 20 62 79 20 64 65 66 or.a...child.process,.but.by.def
3300 61 75 6c 74 20 77 65 20 64 6f 20 75 73 65 20 73 75 63 68 20 61 20 62 6c 6f 63 6b 69 6e 67 20 63 ault.we.do.use.such.a.blocking.c
3320 68 69 6c 64 0a 20 20 70 72 6f 63 65 73 73 2e 0a 0a 20 20 49 66 20 79 6f 75 20 75 73 65 20 73 75 hild...process.....If.you.use.su
3340 63 68 20 61 20 73 68 65 6c 6c 20 28 65 2e 67 2e 2c 20 7e 63 73 68 7e 20 6f 6e 20 46 72 65 65 42 ch.a.shell.(e.g.,.~csh~.on.FreeB
3360 53 44 2c 20 62 75 74 20 6e 6f 74 20 44 65 62 69 61 6e 29 2c 20 74 68 65 6e 0a 20 20 79 6f 75 20 SD,.but.not.Debian),.then...you.
3380 68 61 76 65 20 74 6f 20 65 64 69 74 20 74 68 69 73 20 6f 70 74 69 6f 6e 2e 20 20 59 6f 75 20 63 have.to.edit.this.option...You.c
33a0 61 6e 20 65 69 74 68 65 72 20 72 65 70 6c 61 63 65 20 7e 73 68 7e 20 77 69 74 68 20 7e 62 61 73 an.either.replace.~sh~.with.~bas
33c0 68 7e 0a 20 20 28 61 6e 64 20 69 6e 73 74 61 6c 6c 20 74 68 61 74 29 2c 20 6f 72 20 79 6f 75 20 h~...(and.install.that),.or.you.
33e0 63 61 6e 20 75 73 65 20 74 68 65 20 6f 6c 64 65 72 2c 20 6c 65 73 73 20 70 65 72 66 6f 72 6d 61 can.use.the.older,.less.performa
3400 6e 74 0a 20 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 3a 0a 0a 20 20 23 2b 42 45 47 49 4e 5f nt...implementation:....#+BEGIN_
3420 53 52 43 20 65 6d 61 63 73 2d 6c 69 73 70 0a 20 20 20 20 22 73 68 20 2d 63 20 27 5c 0a 20 20 20 SRC.emacs-lisp....."sh.-c.'\....
3440 20 65 63 68 6f 20 5c 22 57 49 54 48 2d 45 44 49 54 4f 52 3a 20 24 24 20 4f 50 45 4e 20 24 30 1f .echo.\"WITH-EDITOR:.$$.OPEN.$0.
3460 24 31 1f 20 49 4e 20 24 28 70 77 64 29 5c 22 3b 20 5c 0a 20 20 20 20 74 72 61 70 20 5c 22 65 78 $1..IN.$(pwd)\";.\.....trap.\"ex
3480 69 74 20 30 5c 22 20 55 53 52 31 3b 20 5c 0a 20 20 20 20 74 72 61 70 20 5c 22 65 78 69 74 20 31 it.0\".USR1;.\.....trap.\"exit.1
34a0 5c 22 20 55 53 52 32 3b 20 5c 0a 20 20 20 20 77 68 69 6c 65 20 74 72 75 65 3b 20 64 6f 20 73 6c \".USR2;.\.....while.true;.do.sl
34c0 65 65 70 20 31 3b 20 64 6f 6e 65 27 22 0a 20 20 23 2b 45 4e 44 5f 53 52 43 0a 0a 20 20 4e 6f 74 eep.1;.done'"...#+END_SRC....Not
34e0 65 20 74 68 61 74 20 74 68 65 20 75 6e 69 74 20 73 65 70 61 72 61 74 6f 72 20 63 68 61 72 61 63 e.that.the.unit.separator.charac
3500 74 65 72 20 28 1f 29 20 72 69 67 68 74 20 61 66 74 65 72 20 74 68 65 20 66 69 6c 65 0a 20 20 6e ter.(.).right.after.the.file...n
3520 61 6d 65 20 28 24 30 29 20 69 73 20 72 65 71 75 69 72 65 64 2e 0a 0a 20 20 41 6c 73 6f 20 6e 6f ame.($0).is.required.....Also.no
3540 74 65 20 74 68 61 74 20 75 73 69 6e 67 20 74 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 te.that.using.this.alternative.i
3560 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6c 65 61 64 73 20 74 6f 20 61 0a 20 20 64 65 6c 61 79 mplementation.leads.to.a...delay
3580 20 6f 66 20 75 70 20 74 6f 20 61 20 73 65 63 6f 6e 64 2e 20 20 54 68 65 20 64 65 6c 61 79 20 63 .of.up.to.a.second...The.delay.c
35a0 61 6e 20 62 65 20 73 68 6f 72 74 65 6e 65 64 20 62 79 20 72 65 70 6c 61 63 69 6e 67 0a 20 20 7e an.be.shortened.by.replacing...~
35c0 73 6c 65 65 70 20 31 7e 20 77 69 74 68 20 7e 73 6c 65 65 70 20 30 2e 30 31 7e 2c 20 6f 72 20 69 sleep.1~.with.~sleep.0.01~,.or.i
35e0 66 20 79 6f 75 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 73 f.your.implementation.does.not.s
3600 75 70 70 6f 72 74 0a 20 20 66 6c 6f 61 74 73 2c 20 74 68 65 6e 20 62 79 20 75 73 69 6e 67 20 7e upport...floats,.then.by.using.~
3620 6e 61 6e 6f 73 6c 65 65 70 7e 20 69 6e 73 74 65 61 64 2e 0a 0a 2a 2a 20 55 73 69 6e 67 20 57 69 nanosleep~.instead...**.Using.Wi
3640 74 68 2d 45 64 69 74 6f 72 20 63 6f 6d 6d 61 6e 64 73 0a 0a 54 68 69 73 20 73 65 63 74 69 6f 6e th-Editor.commands..This.section
3660 20 64 65 73 63 72 69 62 65 73 20 68 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20 7e 77 69 74 68 2d .describes.how.to.use.the.~with-
3680 65 64 69 74 6f 72 7e 20 6c 69 62 72 61 72 79 20 2f 6f 75 74 73 69 64 65 2f 20 6f 66 0a 4d 61 67 editor~.library./outside/.of.Mag
36a0 69 74 2e 20 20 59 6f 75 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 61 6e 79 20 it...You.don't.need.to.know.any.
36c0 6f 66 20 74 68 69 73 20 6a 75 73 74 20 74 6f 20 63 72 65 61 74 65 20 63 6f 6d 6d 69 74 73 0a 75 of.this.just.to.create.commits.u
36e0 73 69 6e 67 20 4d 61 67 69 74 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 73 20 7e 77 69 74 68 2d sing.Magit...The.commands.~with-
3700 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 20 61 6e 64 0a editor-async-shell-command~.and.
3720 7e 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 20 61 72 65 20 ~with-editor-shell-command~.are.
3740 69 6e 74 65 6e 64 65 64 20 61 73 20 64 72 6f 70 20 69 6e 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 intended.as.drop.in.replacements
3760 20 66 6f 72 0a 7e 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 20 61 6e 64 20 7e .for.~async-shell-command~.and.~
3780 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 2e 20 20 54 68 65 79 20 61 75 74 6f 6d 61 74 69 63 61 shell-command~...They.automatica
37a0 6c 6c 79 20 65 78 70 6f 72 74 0a 7e 24 45 44 49 54 4f 52 7e 20 6d 61 6b 69 6e 67 20 73 75 72 65 lly.export.~$EDITOR~.making.sure
37c0 20 74 68 65 20 65 78 65 63 75 74 65 64 20 63 6f 6d 6d 61 6e 64 20 75 73 65 73 20 74 68 65 20 63 .the.executed.command.uses.the.c
37e0 75 72 72 65 6e 74 20 45 6d 61 63 73 0a 69 6e 73 74 61 6e 63 65 20 61 73 20 22 74 68 65 20 65 64 urrent.Emacs.instance.as."the.ed
3800 69 74 6f 72 22 2e 20 20 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 74 itor"...With.a.prefix.argument.t
3820 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 0a 70 72 6f 6d 70 74 20 66 6f 72 20 61 6e 20 61 6c 74 65 hese.commands.prompt.for.an.alte
3840 72 6e 61 74 69 76 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 73 75 63 rnative.environment.variable.suc
3860 68 20 61 73 20 7e 24 47 49 54 5f 45 44 49 54 4f 52 7e 2e 0a 0a 2d 20 43 6f 6d 6d 61 6e 64 3a 20 h.as.~$GIT_EDITOR~...-.Command:.
3880 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 with-editor-async-shell-command.
38a0 3a 3a 0a 0a 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6c 69 6b 65 20 7e 61 73 79 6e ::....This.command.is.like.~asyn
38c0 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 2c 20 62 75 74 20 69 74 20 72 75 6e 73 20 74 68 c-shell-command~,.but.it.runs.th
38e0 65 20 73 68 65 6c 6c 0a 20 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 74 68 65 20 63 75 72 72 65 e.shell...command.with.the.curre
3900 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 65 78 70 6f 72 74 65 64 20 61 73 20 7e 24 nt.Emacs.instance.exported.as.~$
3920 45 44 49 54 4f 52 7e 2e 0a 0a 2d 20 43 6f 6d 6d 61 6e 64 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 EDITOR~...-.Command:.with-editor
3940 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 3a 3a 0a 0a 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e -shell-command.::....This.comman
3960 64 20 69 73 20 6c 69 6b 65 20 7e 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 2c 20 62 75 74 20 69 d.is.like.~shell-command~,.but.i
3980 66 20 74 68 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 65 6e 64 73 0a 20 20 77 69 74 68 20 f.the.shell.command.ends...with.
39a0 7e 26 7e 20 61 6e 64 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 72 75 6e 20 61 73 79 6e 63 68 72 ~&~.and.is.therefore.run.asynchr
39c0 6f 6e 6f 75 73 6c 79 2c 20 74 68 65 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 0a onously,.then.the.current.Emacs.
39e0 20 20 69 6e 73 74 61 6e 63 65 20 69 73 20 65 78 70 6f 72 74 65 64 20 61 73 20 7e 24 45 44 49 54 ..instance.is.exported.as.~$EDIT
3a00 4f 52 7e 2e 0a 0a 54 6f 20 61 6c 77 61 79 73 20 75 73 65 20 74 68 65 73 65 20 76 61 72 69 61 6e OR~...To.always.use.these.varian
3a20 74 73 20 61 64 64 20 74 68 69 73 20 74 6f 20 79 6f 75 72 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a ts.add.this.to.your.init.file:..
3a40 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6d 61 63 73 2d 6c 69 73 70 0a 20 20 28 6b 65 79 6d 61 70 #+begin_src.emacs-lisp...(keymap
3a60 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 6d 61 70 3e 20 3c 61 73 79 6e 63 2d 73 68 65 6c -global-set."<remap>.<async-shel
3a80 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l-command>".....................
3aa0 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 .#'with-editor-async-shell-comma
3ac0 6e 64 29 0a 20 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 6d 61 70 nd)...(keymap-global-set."<remap
3ae0 3e 20 3c 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 >.<shell-command>"..............
3b00 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d ........#'with-editor-shell-comm
3b20 61 6e 64 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 20 75 73 and).#+end_src..Alternatively.us
3b40 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 7e 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 e.the.global.~shell-command-with
3b60 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 7e 2e 0a 0a 2d 20 56 61 72 69 61 62 6c 65 3a 20 73 68 65 6c -editor-mode~...-.Variable:.shel
3b80 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 20 3a 3a 0a 0a 20 l-command-with-editor-mode.::...
3ba0 20 57 68 65 6e 20 74 68 69 73 20 6d 6f 64 65 20 69 73 20 61 63 74 69 76 65 2c 20 74 68 65 6e 20 .When.this.mode.is.active,.then.
3bc0 7e 24 45 44 49 54 4f 52 7e 20 69 73 20 65 78 70 6f 72 74 65 64 20 77 68 65 6e 65 76 65 72 0a 20 ~$EDITOR~.is.exported.whenever..
3be0 20 75 6c 74 69 6d 61 74 65 6c 79 20 7e 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 7e 20 69 73 20 63 .ultimately.~shell-command~.is.c
3c00 61 6c 6c 65 64 20 74 6f 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 72 75 6e 20 73 6f 6d 65 alled.to.asynchronously.run.some
3c20 20 73 68 65 6c 6c 0a 20 20 63 6f 6d 6d 61 6e 64 2e 20 20 54 68 69 73 20 61 66 66 65 63 74 73 20 .shell...command...This.affects.
3c40 6d 6f 73 74 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64 2c 20 77 most.variants.of.that.command,.w
3c60 68 65 74 68 65 72 20 74 68 65 79 0a 20 20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 hether.they...are.defined.in.Ema
3c80 63 73 20 6f 72 20 69 6e 20 73 6f 6d 65 20 74 68 69 72 64 2d 70 61 72 74 79 20 70 61 63 6b 61 67 cs.or.in.some.third-party.packag
3ca0 65 2e 0a 0a 54 68 65 20 63 6f 6d 6d 61 6e 64 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 e...The.command.~with-editor-exp
3cc0 6f 72 74 2d 65 64 69 74 6f 72 7e 20 65 78 70 6f 72 74 73 20 7e 24 45 44 49 54 4f 52 7e 20 6f 72 ort-editor~.exports.~$EDITOR~.or
3ce0 20 61 6e 6f 74 68 65 72 0a 73 75 63 68 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 .another.such.environment.variab
3d00 6c 65 20 69 6e 20 7e 73 68 65 6c 6c 2d 6d 6f 64 65 7e 2c 20 7e 65 73 68 65 6c 6c 2d 6d 6f 64 65 le.in.~shell-mode~,.~eshell-mode
3d20 7e 2c 20 7e 74 65 72 6d 2d 6d 6f 64 65 7e 20 61 6e 64 0a 7e 76 74 65 72 6d 2d 6d 6f 64 65 7e 20 ~,.~term-mode~.and.~vterm-mode~.
3d40 62 75 66 66 65 72 73 2e 20 20 55 73 65 20 74 68 69 73 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 buffers...Use.this.Emacs.command
3d60 20 62 65 66 6f 72 65 20 65 78 65 63 75 74 69 6e 67 20 61 20 73 68 65 6c 6c 0a 63 6f 6d 6d 61 6e .before.executing.a.shell.comman
3d80 64 20 77 68 69 63 68 20 6e 65 65 64 73 20 74 68 65 20 65 64 69 74 6f 72 20 73 65 74 2c 20 6f 72 d.which.needs.the.editor.set,.or
3da0 20 61 6c 77 61 79 73 20 61 72 72 61 6e 67 65 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 0a .always.arrange.for.the.current.
3dc0 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 64 69 Emacs.instance.to.be.used.as.edi
3de0 74 6f 72 20 62 79 20 61 64 64 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 61 70 70 72 6f 70 72 69 tor.by.adding.it.to.the.appropri
3e00 61 74 65 0a 6d 6f 64 65 20 68 6f 6f 6b 73 3a 0a 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6d 61 ate.mode.hooks:..#+begin_src.ema
3e20 63 73 2d 6c 69 73 70 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d cs-lisp...(add-hook.'shell-mode-
3e40 68 6f 6f 6b 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 hook..'with-editor-export-editor
3e60 29 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 65 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 )...(add-hook.'eshell-mode-hook.
3e80 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 20 20 28 61 'with-editor-export-editor)...(a
3ea0 64 64 2d 68 6f 6f 6b 20 27 74 65 72 6d 2d 65 78 65 63 2d 68 6f 6f 6b 20 20 20 27 77 69 74 68 2d dd-hook.'term-exec-hook...'with-
3ec0 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 20 20 28 61 64 64 2d 68 6f 6f editor-export-editor)...(add-hoo
3ee0 6b 20 27 76 74 65 72 6d 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 k.'vterm-mode-hook..'with-editor
3f00 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 0a 53 6f 6d 65 20 -export-editor).#+end_src..Some.
3f20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 3b variants.of.this.function.exist;
3f40 20 74 68 65 73 65 20 74 77 6f 20 66 6f 72 6d 73 20 61 72 65 20 65 71 75 69 76 61 6c 65 6e 74 3a .these.two.forms.are.equivalent:
3f60 0a 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6d 61 63 73 2d 6c 69 73 70 0a 20 20 28 61 64 64 2d ..#+begin_src.emacs-lisp...(add-
3f80 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 hook.'shell-mode-hook...........
3fa0 20 20 28 61 70 70 6c 79 2d 70 61 72 74 69 61 6c 6c 79 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ..(apply-partially.'with-editor-
3fc0 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 20 22 47 49 54 5f 45 44 49 54 4f 52 22 29 29 0a 20 20 28 export-editor."GIT_EDITOR"))...(
3fe0 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 77 69 74 68 2d add-hook.'shell-mode-hook.'with-
4000 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 67 69 74 2d 65 64 69 74 6f 72 29 0a 23 2b 65 6e 64 5f editor-export-git-editor).#+end_
4020 73 72 63 0a 0a 2d 20 43 6f 6d 6d 61 6e 64 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f src..-.Command:.with-editor-expo
4040 72 74 2d 65 64 69 74 6f 72 20 3a 3a 0a 0a 20 20 57 68 65 6e 20 69 6e 76 6f 6b 65 64 20 69 6e 20 rt-editor.::....When.invoked.in.
4060 61 20 7e 73 68 65 6c 6c 2d 6d 6f 64 65 7e 2c 20 7e 65 73 68 65 6c 6c 2d 6d 6f 64 65 7e 2c 20 7e a.~shell-mode~,.~eshell-mode~,.~
4080 74 65 72 6d 2d 6d 6f 64 65 7e 20 6f 72 20 7e 76 74 65 72 6d 2d 6d 6f 64 65 7e 0a 20 20 62 75 66 term-mode~.or.~vterm-mode~...buf
40a0 66 65 72 2c 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 74 65 61 63 68 65 73 20 73 68 65 6c 6c 20 fer,.this.command.teaches.shell.
40c0 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 75 73 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 commands.to.use.the.current.Emac
40e0 73 0a 20 20 69 6e 73 74 61 6e 63 65 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 2c 20 62 79 20 65 s...instance.as.the.editor,.by.e
4100 78 70 6f 72 74 69 6e 67 20 7e 24 45 44 49 54 4f 52 7e 2e 0a 0a 2d 20 43 6f 6d 6d 61 6e 64 3a 20 xporting.~$EDITOR~...-.Command:.
4120 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 67 69 74 2d 65 64 69 74 6f 72 20 3a 3a with-editor-export-git-editor.::
4140 0a 0a 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6c 69 6b 65 20 7e 77 69 74 68 2d 65 ....This.command.is.like.~with-e
4160 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 7e 20 62 75 74 20 65 78 70 6f 72 74 73 ditor-export-editor~.but.exports
4180 0a 20 20 7e 24 47 49 54 5f 45 44 49 54 4f 52 7e 2e 0a 0a 2d 20 43 6f 6d 6d 61 6e 64 3a 20 77 69 ...~$GIT_EDITOR~...-.Command:.wi
41a0 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 68 67 2d 65 64 69 74 6f 72 20 3a 3a 0a 0a 20 th-editor-export-hg-editor.::...
41c0 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6c 69 6b 65 20 7e 77 69 74 68 2d 65 64 69 74 .This.command.is.like.~with-edit
41e0 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 7e 20 62 75 74 20 65 78 70 6f 72 74 73 0a 20 20 or-export-editor~.but.exports...
4200 7e 24 48 47 5f 45 44 49 54 4f 52 7e 2e 0a 0a 2a 20 55 73 69 6e 67 20 57 69 74 68 2d 45 64 69 74 ~$HG_EDITOR~...*.Using.With-Edit
4220 6f 72 20 61 73 20 61 20 6c 69 62 72 61 72 79 0a 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 64 65 or.as.a.library..This.section.de
4240 73 63 72 69 62 65 73 20 68 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20 7e 77 69 74 68 2d 65 64 69 scribes.how.to.use.the.~with-edi
4260 74 6f 72 7e 20 6c 69 62 72 61 72 79 20 2f 6f 75 74 73 69 64 65 2f 20 6f 66 0a 4d 61 67 69 74 20 tor~.library./outside/.of.Magit.
4280 74 6f 20 74 65 61 63 68 20 61 6e 6f 74 68 65 72 20 70 61 63 6b 61 67 65 20 68 6f 77 20 74 6f 20 to.teach.another.package.how.to.
42a0 68 61 76 65 20 69 74 73 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 20 63 61 6c 6c 0a 68 6f have.its.child.processes.call.ho
42c0 6d 65 2c 20 6a 75 73 74 20 6c 69 6b 65 20 4d 61 67 69 74 20 64 6f 65 73 2e 20 20 59 6f 75 20 64 me,.just.like.Magit.does...You.d
42e0 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 61 6e 79 20 6f 66 20 74 68 69 73 20 6a 75 on't.need.to.know.any.of.this.ju
4300 73 74 0a 74 6f 20 63 72 65 61 74 65 20 63 6f 6d 6d 69 74 73 20 75 73 69 6e 67 20 4d 61 67 69 74 st.to.create.commits.using.Magit
4320 2e 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 69 67 6e 6f 72 65 20 74 68 69 73 20 69 66 20 79 ...You.can.also.ignore.this.if.y
4340 6f 75 20 75 73 65 0a 7e 77 69 74 68 2d 65 64 69 74 6f 72 7e 20 6f 75 74 73 69 64 65 20 6f 66 20 ou.use.~with-editor~.outside.of.
4360 4d 61 67 69 74 2c 20 62 75 74 20 6f 6e 6c 79 20 61 73 20 61 6e 20 65 6e 64 2d 75 73 65 72 2e 0a Magit,.but.only.as.an.end-user..
4380 0a 46 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 69 6e 74 65 72 61 63 74 69 .For.information.about.interacti
43a0 76 65 20 75 73 65 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 61 66 66 65 63 74 20 62 ve.use.and.options.that.affect.b
43c0 6f 74 68 0a 69 6e 74 65 72 61 63 74 69 76 65 20 61 6e 64 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 oth.interactive.and.non-interact
43e0 69 76 65 20 75 73 65 2c 20 73 65 65 20 5b 5b 2a 55 73 69 6e 67 20 74 68 65 20 57 69 74 68 2d 45 ive.use,.see.[[*Using.the.With-E
4400 64 69 74 6f 72 0a 70 61 63 6b 61 67 65 5d 5d 2e 0a 0a 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d ditor.package]]...-.Macro:.with-
4420 65 64 69 74 6f 72 20 26 72 65 73 74 20 62 6f 64 79 20 3a 3a 0a 0a 20 20 54 68 69 73 20 6d 61 63 editor.&rest.body.::....This.mac
4440 72 6f 20 61 72 72 61 6e 67 65 73 20 66 6f 72 20 74 68 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 ro.arranges.for.the.~emacsclient
4460 7e 20 6f 72 20 74 68 65 20 73 6c 65 65 70 69 6e 67 20 65 64 69 74 6f 72 20 74 6f 20 62 65 0a 20 ~.or.the.sleeping.editor.to.be..
4480 20 75 73 65 64 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 20 6f 66 20 63 68 69 6c 64 20 70 72 6f .used.as.the.editor.of.child.pro
44a0 63 65 73 73 65 73 2c 20 65 66 66 65 63 74 69 76 65 6c 79 20 74 65 61 63 68 69 6e 67 20 74 68 65 cesses,.effectively.teaching.the
44c0 6d 20 74 6f 0a 20 20 63 61 6c 6c 20 68 6f 6d 65 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 m.to...call.home.to.the.current.
44e0 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 77 68 65 6e 20 74 68 65 79 20 72 65 71 75 69 72 65 Emacs.instance.when.they.require
4500 20 74 68 61 74 20 74 68 65 0a 20 20 75 73 65 72 20 65 64 69 74 73 20 61 20 66 69 6c 65 2e 0a 0a .that.the...user.edits.a.file...
4520 20 20 54 68 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 65 73 74 61 62 6c 69 73 68 69 6e 67 20 61 ..This.is.done.by.establishing.a
4540 20 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 7e 70 72 6f 63 65 73 73 2d 65 6e 76 69 .local.binding.for.~process-envi
4560 72 6f 6e 6d 65 6e 74 7e 0a 20 20 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 76 61 6c 75 ronment~...and.changing.the.valu
4580 65 20 6f 66 20 74 68 65 20 7e 45 44 49 54 4f 52 7e 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 e.of.the.~EDITOR~.environment.va
45a0 72 69 61 62 6c 65 20 69 6e 20 74 68 61 74 0a 20 20 73 63 6f 70 65 2e 20 20 54 68 69 73 20 61 66 riable.in.that...scope...This.af
45c0 66 65 63 74 73 20 61 6c 6c 20 28 61 73 79 6e 63 68 72 6f 6e 6f 75 73 29 20 70 72 6f 63 65 73 73 fects.all.(asynchronous).process
45e0 65 73 20 73 74 61 72 74 65 64 20 62 79 20 66 6f 72 6d 73 0a 20 20 28 64 79 6e 61 6d 69 63 61 6c es.started.by.forms...(dynamical
4600 6c 79 29 20 69 6e 73 69 64 65 20 42 4f 44 59 2e 0a 0a 20 20 49 66 20 42 4f 44 59 20 62 65 67 69 ly).inside.BODY.....If.BODY.begi
4620 6e 73 20 77 69 74 68 20 61 20 6c 69 74 65 72 61 6c 20 73 74 72 69 6e 67 2c 20 74 68 65 6e 20 74 ns.with.a.literal.string,.then.t
4640 68 61 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 65 74 0a 20 20 69 6e 73 74 65 61 64 20 6f 66 hat.variable.is.set...instead.of
4660 20 7e 45 44 49 54 4f 52 7e 2e 0a 0a 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 .~EDITOR~...-.Macro:.with-editor
4680 2a 20 65 6e 76 76 61 72 20 26 72 65 73 74 20 62 6f 64 79 20 3a 3a 0a 0a 20 20 54 68 69 73 20 6d *.envvar.&rest.body.::....This.m
46a0 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 7e 2c 20 65 78 63 65 acro.is.like.~with-editor~,.exce
46c0 70 74 20 74 68 61 74 20 74 68 65 20 45 4e 56 56 41 52 20 61 72 67 75 6d 65 6e 74 20 69 73 0a 20 pt.that.the.ENVVAR.argument.is..
46e0 20 72 65 71 75 69 72 65 64 20 61 6e 64 20 74 68 61 74 20 69 74 20 69 73 20 65 76 61 6c 75 61 74 .required.and.that.it.is.evaluat
4700 65 64 20 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 0a 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 77 69 74 ed.at.run-time...-.Function:.wit
4720 68 2d 65 64 69 74 6f 72 2d 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 h-editor-set-process-filter.proc
4740 65 73 73 20 66 69 6c 74 65 72 20 3a 3a 0a 0a 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 ess.filter.::....This.function.i
4760 73 20 6c 69 6b 65 20 7e 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 7e 20 62 75 74 20 s.like.~set-process-filter~.but.
4780 65 6e 73 75 72 65 73 20 74 68 61 74 20 61 64 64 69 6e 67 20 74 68 65 0a 20 20 6e 65 77 20 46 49 ensures.that.adding.the...new.FI
47a0 4c 54 45 52 20 64 6f 65 73 20 6e 6f 74 20 72 65 6d 6f 76 65 20 74 68 65 20 7e 77 69 74 68 2d 65 LTER.does.not.remove.the.~with-e
47c0 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 7e 2e 20 20 54 68 69 73 20 69 73 0a ditor-process-filter~...This.is.
47e0 20 20 64 6f 6e 65 20 62 79 20 77 72 61 70 70 69 6e 67 20 74 68 65 20 74 77 6f 20 66 69 6c 74 65 ..done.by.wrapping.the.two.filte
4800 72 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 69 6e 67 20 61 20 6c 61 6d 62 64 61 2c 20 77 68 69 63 r.functions.using.a.lambda,.whic
4820 68 0a 20 20 62 65 63 6f 6d 65 73 20 74 68 65 20 61 63 74 75 61 6c 20 66 69 6c 74 65 72 2e 20 20 h...becomes.the.actual.filter...
4840 49 74 20 63 61 6c 6c 73 20 46 49 4c 54 45 52 20 66 69 72 73 74 2c 20 77 68 69 63 68 20 6d 61 79 It.calls.FILTER.first,.which.may
4860 20 6f 72 0a 20 20 6d 61 79 20 6e 6f 74 20 69 6e 73 65 72 74 20 74 68 65 20 74 65 78 74 20 69 6e .or...may.not.insert.the.text.in
4880 74 6f 20 74 68 65 20 50 52 4f 43 45 53 53 27 73 20 62 75 66 66 65 72 2e 20 20 54 68 65 6e 20 69 to.the.PROCESS's.buffer...Then.i
48a0 74 20 63 61 6c 6c 73 0a 20 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 t.calls...~with-editor-process-f
48c0 69 6c 74 65 72 7e 2c 20 70 61 73 73 69 6e 67 20 7e 74 7e 20 61 73 20 4e 4f 2d 53 54 41 4e 44 41 ilter~,.passing.~t~.as.NO-STANDA
48e0 52 44 2d 46 49 4c 54 45 52 2e 0a 0a 2a 20 44 65 62 75 67 67 69 6e 67 0a 0a 57 69 74 68 2d 45 64 RD-FILTER...*.Debugging..With-Ed
4900 69 74 6f 72 20 74 72 69 65 73 20 76 65 72 79 20 68 61 72 64 20 74 6f 20 6c 6f 63 61 74 65 20 61 itor.tries.very.hard.to.locate.a
4920 20 73 75 69 74 61 62 6c 65 20 7e 65 6d 61 63 73 63 6c 69 65 6e 74 7e 0a 65 78 65 63 75 74 61 62 .suitable.~emacsclient~.executab
4940 6c 65 2c 20 61 6e 64 20 74 68 65 6e 20 73 65 74 73 20 6f 70 74 69 6f 6e 20 7e 77 69 74 68 2d 65 le,.and.then.sets.option.~with-e
4960 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 7e 0a 61 63 ditor-emacsclient-executable~.ac
4980 63 6f 72 64 69 6e 67 6c 79 2e 20 20 49 6e 20 76 65 72 79 20 72 61 72 65 20 63 61 73 65 73 20 74 cordingly...In.very.rare.cases.t
49a0 68 69 73 20 66 61 69 6c 73 2e 20 20 57 68 65 6e 20 69 74 20 64 6f 65 73 20 66 61 69 6c 2c 20 74 his.fails...When.it.does.fail,.t
49c0 68 65 6e 0a 74 68 65 20 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 72 65 61 73 6f 6e 20 69 73 20 74 68 hen.the.most.likely.reason.is.th
49e0 61 74 20 73 6f 6d 65 6f 6e 65 20 66 6f 75 6e 64 20 79 65 74 20 61 6e 6f 74 68 65 72 20 77 61 79 at.someone.found.yet.another.way
4a00 20 74 6f 0a 70 61 63 6b 61 67 65 20 45 6d 61 63 73 20 28 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 6f .to.package.Emacs.(most.likely.o
4a20 6e 20 6d 61 63 4f 53 29 20 77 69 74 68 6f 75 74 20 70 75 74 74 69 6e 67 20 74 68 65 20 65 78 65 n.macOS).without.putting.the.exe
4a40 63 75 74 61 62 6c 65 20 6f 6e 0a 7e 24 50 41 54 48 7e 2c 20 61 6e 64 20 77 65 20 68 61 76 65 20 cutable.on.~$PATH~,.and.we.have.
4a60 74 6f 20 61 64 64 20 61 6e 6f 74 68 65 72 20 6b 6c 75 64 67 65 20 74 6f 20 66 69 6e 64 20 69 74 to.add.another.kludge.to.find.it
4a80 20 61 6e 79 77 61 79 2e 0a 0a 49 66 20 79 6f 75 20 61 72 65 20 68 61 76 69 6e 67 20 70 72 6f 62 .anyway...If.you.are.having.prob
4aa0 6c 65 6d 73 20 75 73 69 6e 67 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 7e 2c 20 65 2e 67 2e 2c 20 lems.using.~with-editor~,.e.g.,.
4ac0 79 6f 75 20 63 61 6e 6e 6f 74 20 63 6f 6d 6d 69 74 0a 69 6e 20 4d 61 67 69 74 2c 20 74 68 65 6e you.cannot.commit.in.Magit,.then
4ae0 20 70 6c 65 61 73 65 20 6f 70 65 6e 20 61 20 6e 65 77 20 69 73 73 75 65 20 61 74 0a 68 74 74 70 .please.open.a.new.issue.at.http
4b00 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 77 69 74 68 2d 65 64 69 74 6f 72 s://github.com/magit/with-editor
4b20 2f 69 73 73 75 65 73 20 61 6e 64 20 70 72 6f 76 69 64 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a /issues.and.provide.information.
4b40 61 62 6f 75 74 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 20 20 about.your.Emacs.installation...
4b60 4d 6f 73 74 20 69 6d 70 6f 72 74 61 6e 74 6c 79 20 68 6f 77 20 64 69 64 20 79 6f 75 20 69 6e 73 Most.importantly.how.did.you.ins
4b80 74 61 6c 6c 0a 45 6d 61 63 73 20 61 6e 64 20 77 68 61 74 20 69 73 20 74 68 65 20 6f 75 74 70 75 tall.Emacs.and.what.is.the.outpu
4ba0 74 20 6f 66 20 7e 4d 2d 78 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 64 65 62 75 67 20 52 45 54 7e t.of.~M-x.with-editor-debug.RET~
4bc0 2e 0a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 61 6e 64 20 43 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 0a ...*.Function.and.Command.Index.
4be0 3a 50 52 4f 50 45 52 54 49 45 53 3a 0a 3a 41 50 50 45 4e 44 49 58 3a 20 20 20 74 0a 3a 49 4e 44 :PROPERTIES:.:APPENDIX:...t.:IND
4c00 45 58 3a 20 20 20 20 20 20 66 6e 0a 3a 45 4e 44 3a 0a 2a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 EX:......fn.:END:.*.Variable.Ind
4c20 65 78 0a 3a 50 52 4f 50 45 52 54 49 45 53 3a 0a 3a 41 50 50 45 4e 44 49 58 3a 20 20 20 74 0a 3a ex.:PROPERTIES:.:APPENDIX:...t.:
4c40 49 4e 44 45 58 3a 20 20 20 20 20 20 76 72 0a 3a 45 4e 44 3a 0a 2a 20 43 6f 70 79 69 6e 67 0a 3a INDEX:......vr.:END:.*.Copying.:
4c60 50 52 4f 50 45 52 54 49 45 53 3a 0a 3a 43 4f 50 59 49 4e 47 3a 20 20 20 20 74 0a 3a 45 4e 44 3a PROPERTIES:.:COPYING:....t.:END:
4c80 0a 0a 23 2b 62 65 67 69 6e 5f 71 75 6f 74 65 0a 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 ..#+begin_quote.Copyright.(C).20
4ca0 31 35 2d 7b 7b 7b 79 65 61 72 7d 7d 7d 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 20 3c 65 15-{{{year}}}.Jonas.Bernoulli.<e
4cc0 6d 61 63 73 2e 77 69 74 68 2d 65 64 69 74 6f 72 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 macs.with-editor@jonas.bernoulli
4ce0 2e 64 65 76 3e 0a 0a 59 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 74 68 69 73 .dev>..You.can.redistribute.this
4d00 20 64 6f 63 75 6d 65 6e 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 69 74 20 75 6e 64 65 72 .document.and/or.modify.it.under
4d20 20 74 68 65 20 74 65 72 6d 73 0a 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 .the.terms.of.the.GNU.General.Pu
4d40 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 blic.License.as.published.by.the
4d60 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 .Free.Software.Foundation,.eithe
4d80 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 r.version.3.of.the.License,.or.(
4da0 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 0a 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
4dc0 6e 2e 0a 0a 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 n...This.document.is.distributed
4de0 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 65 .in.the.hope.that.it.will.be.use
4e00 66 75 6c 2c 0a 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 ful,.but.WITHOUT.ANY.WARRANTY;.w
4e20 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 61 6e 74 79 ithout.even.the.implied.warranty
4e40 20 6f 66 0a 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 .of.MERCHANTABILITY.or.FITNESS.F
4e60 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 OR.A.PARTICULAR.PURPOSE...See.th
4e80 65 20 47 4e 55 0a 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 e.GNU.General.Public.License.for
4ea0 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 23 2b 65 6e 64 5f 71 75 6f 74 65 0a 0a 23 20 4c 6f .more.details..#+end_quote..#.Lo
4ec0 63 61 6c 57 6f 72 64 73 3a 20 4c 6f 63 61 6c 57 6f 72 64 73 0a 23 20 4c 6f 63 61 6c 57 6f 72 64 calWords:.LocalWords.#.LocalWord
4ee0 73 3a 20 4d 61 67 69 74 20 45 6d 61 63 73 20 65 6d 61 63 73 63 6c 69 65 6e 74 20 46 72 65 65 42 s:.Magit.Emacs.emacsclient.FreeB
4f00 53 44 20 6d 61 63 4f 53 20 74 65 78 69 6e 66 6f 0a 23 20 4c 6f 63 61 6c 57 6f 72 64 73 3a 20 61 SD.macOS.texinfo.#.LocalWords:.a
4f20 73 79 6e 63 20 65 76 61 6c 20 68 67 20 69 6e 69 74 20 70 65 72 66 6f 72 6d 61 6e 74 20 72 65 62 sync.eval.hg.init.performant.reb
4f40 61 73 65 20 73 74 61 72 74 75 70 0a 0a 23 20 49 4d 50 4f 52 54 41 4e 54 3a 20 41 6c 73 6f 20 75 ase.startup..#.IMPORTANT:.Also.u
4f60 70 64 61 74 65 20 4f 52 47 5f 41 52 47 53 20 61 6e 64 20 4f 52 47 5f 45 56 41 4c 20 69 6e 20 74 pdate.ORG_ARGS.and.ORG_EVAL.in.t
4f80 68 65 20 4d 61 6b 65 66 69 6c 65 2e 0a 23 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a he.Makefile..#.Local.Variables:.
4fa0 23 20 65 76 61 6c 3a 20 28 72 65 71 75 69 72 65 20 27 6d 61 67 69 74 2d 75 74 69 6c 73 20 6e 69 #.eval:.(require.'magit-utils.ni
4fc0 6c 20 74 29 0a 23 20 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 3a 20 6e 69 6c 0a 23 20 6f l.t).#.indent-tabs-mode:.nil.#.o
4fe0 72 67 2d 73 72 63 2d 70 72 65 73 65 72 76 65 2d 69 6e 64 65 6e 74 61 74 69 6f 6e 3a 20 6e 69 6c rg-src-preserve-indentation:.nil
5000 0a 23 20 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .#.End:.........................
5020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
50e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5200 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6b with-editor-3.4.6/with-editor-pk
5220 67 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 g.el............................
5240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5260 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
5280 30 30 30 30 37 32 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 37 36 35 00 20 30 00 00 00 0000724.00000000000.015765..0...
52a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
52e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5300 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...................
5320 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...................
5340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5400 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
5420 20 66 72 6f 6d 20 77 69 74 68 2d 65 64 69 74 6f 72 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 .from.with-editor.el..-*-.no-byt
5440 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 e-compile:.t.-*-.(define-package
5460 20 22 77 69 74 68 2d 65 64 69 74 6f 72 22 20 22 33 2e 34 2e 36 22 20 22 55 73 65 20 74 68 65 20 ."with-editor"."3.4.6"."Use.the.
5480 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 20 24 45 44 49 54 4f 52 22 20 27 28 28 65 6d 61 63 73 Emacsclient.as.$EDITOR".'((emacs
54a0 20 22 32 36 2e 31 22 29 20 28 63 6f 6d 70 61 74 20 22 33 30 2e 31 22 29 29 20 3a 63 6f 6d 6d 69 ."26.1").(compat."30.1")).:commi
54c0 74 20 22 38 37 61 33 38 34 61 30 65 35 39 32 36 30 63 63 61 34 31 63 61 38 38 33 31 64 39 38 65 t."87a384a0e59260cca41ca8831d98e
54e0 31 39 35 62 31 65 63 38 61 64 61 22 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 4a 6f 6e 61 73 20 195b1ec8ada".:authors.'(("Jonas.
5500 42 65 72 6e 6f 75 6c 6c 69 22 20 2e 20 22 65 6d 61 63 73 2e 77 69 74 68 2d 65 64 69 74 6f 72 40 Bernoulli"..."emacs.with-editor@
5520 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e jonas.bernoulli.dev")).:maintain
5540 65 72 20 27 28 22 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 22 20 2e 20 22 65 6d 61 63 73 2e er.'("Jonas.Bernoulli"..."emacs.
5560 77 69 74 68 2d 65 64 69 74 6f 72 40 6a 6f 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 22 with-editor@jonas.bernoulli.dev"
5580 29 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 70 72 6f 63 65 73 73 65 73 22 20 22 74 65 72 6d 69 ).:keywords.'("processes"."termi
55a0 6e 61 6c 73 22 29 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 nals").:url."https://github.com/
55c0 6d 61 67 69 74 2f 77 69 74 68 2d 65 64 69 74 6f 72 22 29 0a 00 00 00 00 00 00 00 00 00 00 00 00 magit/with-editor").............
55e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5600 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 77 69 74 68 2d 65 64 69 74 6f 72 2e 65 6c with-editor-3.4.6/with-editor.el
5620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5660 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
5680 30 31 32 34 37 36 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 32 31 35 00 20 30 00 00 00 0124760.00000000000.015215..0...
56a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
56e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5700 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...................
5720 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...................
5740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
57e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5800 3b 3b 3b 20 77 69 74 68 2d 65 64 69 74 6f 72 2e 65 6c 20 2d 2d 2d 20 55 73 65 20 74 68 65 20 45 ;;;.with-editor.el.---.Use.the.E
5820 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 20 24 45 44 49 54 4f 52 20 20 2d 2a 2d 20 6c 65 78 69 63 macsclient.as.$EDITOR..-*-.lexic
5840 61 6c 2d 62 69 6e 64 69 6e 67 3a 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 al-binding:t.-*-..;;.Copyright.(
5860 43 29 20 32 30 31 34 2d 32 30 32 35 20 54 68 65 20 4d 61 67 69 74 20 50 72 6f 6a 65 63 74 20 43 C).2014-2025.The.Magit.Project.C
5880 6f 6e 74 72 69 62 75 74 6f 72 73 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4a 6f 6e 61 73 20 42 65 ontributors..;;.Author:.Jonas.Be
58a0 72 6e 6f 75 6c 6c 69 20 3c 65 6d 61 63 73 2e 77 69 74 68 2d 65 64 69 74 6f 72 40 6a 6f 6e 61 73 rnoulli.<emacs.with-editor@jonas
58c0 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 3b 3b 20 48 6f 6d 65 70 61 67 65 3a 20 68 74 74 .bernoulli.dev>.;;.Homepage:.htt
58e0 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 77 69 74 68 2d 65 64 69 74 6f ps://github.com/magit/with-edito
5900 72 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 70 72 6f 63 65 73 73 65 73 20 74 65 72 6d 69 6e 61 r.;;.Keywords:.processes.termina
5920 6c 73 0a 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 56 65 72 73 69 6f 6e 3a 20 33 2e 34 2e 36 0a 3b 3b ls..;;.Package-Version:.3.4.6.;;
5940 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 36 2e 31 .Package-Requires:.((emacs."26.1
5960 22 29 20 28 63 6f 6d 70 61 74 20 22 33 30 2e 31 22 29 29 0a 0a 3b 3b 20 53 50 44 58 2d 4c 69 63 ").(compat."30.1"))..;;.SPDX-Lic
5980 65 6e 73 65 2d 49 64 65 6e 74 69 66 69 65 72 3a 20 47 50 4c 2d 33 2e 30 2d 6f 72 2d 6c 61 74 65 ense-Identifier:.GPL-3.0-or-late
59a0 72 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 r..;;.This.file.is.free.software
59c0 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 :.you.can.redistribute.it.and/or
59e0 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 .modify.;;.it.under.the.terms.of
5a00 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 .the.GNU.General.Public.License.
5a20 61 73 20 70 75 62 6c 69 73 68 65 64 0a 3b 3b 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 as.published.;;.by.the.Free.Soft
5a40 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 ware.Foundation,.either.version.
5a60 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 0a 3b 3b 20 6f 72 20 28 61 74 20 79 6f 75 72 3.of.the.License,.;;.or.(at.your
5a80 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 3b 3b 0a 3b .option).any.later.version..;;.;
5aa0 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 ;.This.file.is.distributed.in.th
5ac0 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b e.hope.that.it.will.be.useful,.;
5ae0 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 ;.but.WITHOUT.ANY.WARRANTY;.with
5b00 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 out.even.the.implied.warranty.of
5b20 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 .;;.MERCHANTABILITY.or.FITNESS.F
5b40 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 OR.A.PARTICULAR.PURPOSE...See.th
5b60 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 e.;;.GNU.General.Public.License.
5b80 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 for.more.details..;;.;;.You.shou
5ba0 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 74 68 65 20 47 ld.have.received.a.copy.of.the.G
5bc0 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 3b 20 61 6c 6f NU.General.Public.License.;;.alo
5be0 6e 67 20 77 69 74 68 20 74 68 69 73 20 66 69 6c 65 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 ng.with.this.file...If.not,.see.
5c00 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 65 73 2f 3e 2e <https://www.gnu.org/licenses/>.
5c20 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 61 ..;;;.Commentary:..;;.This.libra
5c40 72 79 20 6d 61 6b 65 73 20 69 74 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 72 65 6c 69 61 62 6c 79 ry.makes.it.possible.to.reliably
5c60 20 75 73 65 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 0a 3b 3b 20 74 68 65 20 60 .use.the.Emacsclient.as.;;.the.`
5c80 24 45 44 49 54 4f 52 27 20 6f 66 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2e 20 20 49 74 $EDITOR'.of.child.processes...It
5ca0 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 61 74 20 74 68 65 79 20 6b 6e 6f 77 20 68 6f 77 0a 3b .makes.sure.that.they.know.how.;
5cc0 3b 20 74 6f 20 63 61 6c 6c 20 68 6f 6d 65 2e 20 20 46 6f 72 20 72 65 6d 6f 74 65 20 70 72 6f 63 ;.to.call.home...For.remote.proc
5ce0 65 73 73 65 73 20 61 20 73 75 62 73 74 69 74 75 74 65 20 69 73 20 70 72 6f 76 69 64 65 64 2c 20 esses.a.substitute.is.provided,.
5d00 77 68 69 63 68 0a 3b 3b 20 63 6f 6d 6d 75 6e 69 63 61 74 65 73 20 77 69 74 68 20 45 6d 61 63 73 which.;;.communicates.with.Emacs
5d20 20 6f 6e 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 2f 69 6e 70 75 74 20 69 6e 73 74 65 61 .on.standard.output/input.instea
5d40 64 20 6f 66 20 75 73 69 6e 67 20 61 0a 3b 3b 20 73 6f 63 6b 65 74 20 61 73 20 74 68 65 20 45 6d d.of.using.a.;;.socket.as.the.Em
5d60 61 63 73 63 6c 69 65 6e 74 20 64 6f 65 73 2e 0a 0a 3b 3b 20 49 74 20 70 72 6f 76 69 64 65 73 20 acsclient.does...;;.It.provides.
5d80 74 68 65 20 63 6f 6d 6d 61 6e 64 73 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d the.commands.`with-editor-async-
5da0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 6e 64 0a 3b 3b 20 60 77 69 74 68 2d 65 64 69 74 shell-command'.and.;;.`with-edit
5dc0 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 2c 20 77 68 69 63 68 20 61 72 65 20 69 6e 74 or-shell-command',.which.are.int
5de0 65 6e 64 65 64 20 61 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 0a 3b 3b 20 66 6f 72 20 60 61 73 ended.as.replacements.;;.for.`as
5e00 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 6e 64 20 60 73 68 65 6c 6c 2d 63 6f ync-shell-command'.and.`shell-co
5e20 6d 6d 61 6e 64 27 2e 20 20 54 68 65 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 3b 3b 20 65 mmand'...They.automatically.;;.e
5e40 78 70 6f 72 74 20 60 24 45 44 49 54 4f 52 27 20 6d 61 6b 69 6e 67 20 73 75 72 65 20 74 68 65 20 xport.`$EDITOR'.making.sure.the.
5e60 65 78 65 63 75 74 65 64 20 63 6f 6d 6d 61 6e 64 20 75 73 65 73 20 74 68 65 20 63 75 72 72 65 6e executed.command.uses.the.curren
5e80 74 0a 3b 3b 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 22 74 68 65 20 65 64 69 74 t.;;.Emacs.instance.as."the.edit
5ea0 6f 72 22 2e 20 20 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 74 68 65 or"...With.a.prefix.argument.the
5ec0 73 65 0a 3b 3b 20 63 6f 6d 6d 61 6e 64 73 20 70 72 6f 6d 70 74 20 66 6f 72 20 61 6e 20 61 6c 74 se.;;.commands.prompt.for.an.alt
5ee0 65 72 6e 61 74 69 76 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 73 75 ernative.environment.variable.su
5f00 63 68 20 61 73 0a 3b 3b 20 60 24 47 49 54 5f 45 44 49 54 4f 52 27 2e 20 20 54 6f 20 61 6c 77 61 ch.as.;;.`$GIT_EDITOR'...To.alwa
5f20 79 73 20 75 73 65 20 74 68 65 73 65 20 76 61 72 69 61 6e 74 73 20 61 64 64 20 74 68 69 73 20 74 ys.use.these.variants.add.this.t
5f40 6f 20 79 6f 75 72 20 69 6e 69 74 0a 3b 3b 20 66 69 6c 65 3a 0a 3b 3b 0a 3b 3b 20 20 20 28 6b 65 o.your.init.;;.file:.;;.;;...(ke
5f60 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 6d 61 70 3e 20 3c 61 73 79 6e 63 2d ymap-global-set."<remap>.<async-
5f80 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 shell-command>".;;..............
5fa0 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c ........#'with-editor-async-shel
5fc0 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 3b 3b 20 20 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 l-command).;;...(keymap-global-s
5fe0 65 74 20 22 3c 72 65 6d 61 70 3e 20 3c 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 3b 3b 20 et."<remap>.<shell-command>".;;.
6000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 .....................#'with-edit
6020 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 3b 3b 20 41 6c 74 65 72 6e 61 74 69 76 or-shell-command)..;;.Alternativ
6040 65 6c 79 20 75 73 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e ely.use.the.global.`shell-comman
6060 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 27 2c 0a 3b 3b 20 77 68 69 63 68 20 61 6c d-with-editor-mode',.;;.which.al
6080 77 61 79 73 20 73 65 74 73 20 60 24 45 44 49 54 4f 52 27 20 66 6f 72 20 61 6c 6c 20 45 6d 61 63 ways.sets.`$EDITOR'.for.all.Emac
60a0 73 20 63 6f 6d 6d 61 6e 64 73 20 77 68 69 63 68 20 75 6c 74 69 6d 61 74 65 6c 79 0a 3b 3b 20 75 s.commands.which.ultimately.;;.u
60c0 73 65 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 74 6f 20 61 73 79 6e 63 68 72 6f 6e 6f se.`shell-command'.to.asynchrono
60e0 75 73 6c 79 20 72 75 6e 20 73 6f 6d 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 2e 0a 0a 3b 3b usly.run.some.shell.command...;;
6100 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 .The.command.`with-editor-export
6120 2d 65 64 69 74 6f 72 27 20 65 78 70 6f 72 74 73 20 60 24 45 44 49 54 4f 52 27 20 6f 72 0a 3b 3b -editor'.exports.`$EDITOR'.or.;;
6140 20 61 6e 6f 74 68 65 72 20 73 75 63 68 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 .another.such.environment.variab
6160 6c 65 20 69 6e 20 60 73 68 65 6c 6c 2d 6d 6f 64 65 27 2c 20 60 65 73 68 65 6c 6c 2d 6d 6f 64 65 le.in.`shell-mode',.`eshell-mode
6180 27 2c 0a 3b 3b 20 60 74 65 72 6d 2d 6d 6f 64 65 27 20 61 6e 64 20 60 76 74 65 72 6d 2d 6d 6f 64 ',.;;.`term-mode'.and.`vterm-mod
61a0 65 27 20 62 75 66 66 65 72 73 2e 20 20 55 73 65 20 74 68 69 73 20 45 6d 61 63 73 20 63 6f 6d 6d e'.buffers...Use.this.Emacs.comm
61c0 61 6e 64 0a 3b 3b 20 62 65 66 6f 72 65 20 65 78 65 63 75 74 69 6e 67 20 61 20 73 68 65 6c 6c 20 and.;;.before.executing.a.shell.
61e0 63 6f 6d 6d 61 6e 64 20 77 68 69 63 68 20 6e 65 65 64 73 20 74 68 65 20 65 64 69 74 6f 72 20 73 command.which.needs.the.editor.s
6200 65 74 2c 20 6f 72 0a 3b 3b 20 61 6c 77 61 79 73 20 61 72 72 61 6e 67 65 20 66 6f 72 20 74 68 65 et,.or.;;.always.arrange.for.the
6220 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 75 73 .current.Emacs.instance.to.be.us
6240 65 64 20 61 73 20 65 64 69 74 6f 72 0a 3b 3b 20 62 79 20 61 64 64 69 6e 67 20 69 74 20 74 6f 20 ed.as.editor.;;.by.adding.it.to.
6260 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 6d 6f 64 65 20 68 6f 6f 6b 73 3a 0a 3b 3b 0a 3b the.appropriate.mode.hooks:.;;.;
6280 3b 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 ;...(add-hook.'shell-mode-hook..
62a0 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 3b 3b 20 #'with-editor-export-editor).;;.
62c0 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 65 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 ..(add-hook.'eshell-mode-hook.#'
62e0 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 3b 3b 20 20 20 with-editor-export-editor).;;...
6300 28 61 64 64 2d 68 6f 6f 6b 20 27 74 65 72 6d 2d 65 78 65 63 2d 68 6f 6f 6b 20 20 20 23 27 77 69 (add-hook.'term-exec-hook...#'wi
6320 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 3b 3b 20 20 20 28 61 th-editor-export-editor).;;...(a
6340 64 64 2d 68 6f 6f 6b 20 27 76 74 65 72 6d 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 23 27 77 69 74 68 dd-hook.'vterm-mode-hook..#'with
6360 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 0a 3b 3b 20 53 6f 6d 65 20 -editor-export-editor)..;;.Some.
6380 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 69 73 74 2c variants.of.this.function.exist,
63a0 20 74 68 65 73 65 20 74 77 6f 20 66 6f 72 6d 73 20 61 72 65 0a 3b 3b 20 65 71 75 69 76 61 6c 65 .these.two.forms.are.;;.equivale
63c0 6e 74 3a 0a 3b 3b 0a 3b 3b 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 nt:.;;.;;...(add-hook.'shell-mod
63e0 65 2d 68 6f 6f 6b 0a 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 2d 70 61 72 e-hook.;;.............(apply-par
6400 74 69 61 6c 6c 79 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 tially.#'with-editor-export-edit
6420 6f 72 20 22 47 49 54 5f 45 44 49 54 4f 52 22 29 29 0a 3b 3b 20 20 20 28 61 64 64 2d 68 6f 6f 6b or."GIT_EDITOR")).;;...(add-hook
6440 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d .'shell-mode-hook.#'with-editor-
6460 65 78 70 6f 72 74 2d 67 69 74 2d 65 64 69 74 6f 72 29 0a 0a 3b 3b 20 54 68 69 73 20 6c 69 62 72 export-git-editor)..;;.This.libr
6480 61 72 79 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 62 79 20 6f 74 68 65 72 20 70 61 ary.can.also.be.used.by.other.pa
64a0 63 6b 61 67 65 73 20 77 68 69 63 68 20 6e 65 65 64 20 74 6f 20 75 73 65 0a 3b 3b 20 74 68 65 20 ckages.which.need.to.use.;;.the.
64c0 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 65 64 69 74 6f 72 current.Emacs.instance.as.editor
64e0 2e 20 20 49 6e 20 66 61 63 74 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 77 61 73 0a 3b 3b 20 77 ...In.fact.this.library.was.;;.w
6500 72 69 74 74 65 6e 20 66 6f 72 20 4d 61 67 69 74 20 61 6e 64 20 69 74 73 20 60 67 69 74 2d 63 6f ritten.for.Magit.and.its.`git-co
6520 6d 6d 69 74 2d 6d 6f 64 65 27 20 61 6e 64 20 60 67 69 74 2d 72 65 62 61 73 65 2d 6d 6f 64 65 27 mmit-mode'.and.`git-rebase-mode'
6540 2e 0a 3b 3b 20 43 6f 6e 73 75 6c 74 20 60 67 69 74 2d 72 65 62 61 73 65 2e 65 6c 27 20 61 6e 64 ..;;.Consult.`git-rebase.el'.and
6560 20 74 68 65 20 72 65 6c 61 74 65 64 20 63 6f 64 65 20 69 6e 20 60 6d 61 67 69 74 2d 73 65 71 75 .the.related.code.in.`magit-sequ
6580 65 6e 63 65 2e 65 6c 27 0a 3b 3b 20 66 6f 72 20 61 20 73 69 6d 70 6c 65 20 65 78 61 6d 70 6c 65 ence.el'.;;.for.a.simple.example
65a0 2e 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 6c 69 62 29 0a ...;;;.Code:..(require.'cl-lib).
65c0 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 29 0a 28 72 65 71 75 69 72 65 20 27 73 65 72 76 (require.'compat).(require.'serv
65e0 65 72 29 0a 28 72 65 71 75 69 72 65 20 27 73 68 65 6c 6c 29 0a 28 65 76 61 6c 2d 77 68 65 6e 2d er).(require.'shell).(eval-when-
6600 63 6f 6d 70 69 6c 65 20 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 29 0a 0a 28 64 65 63 compile.(require.'subr-x))..(dec
6620 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 64 69 72 65 64 2d 67 65 74 2d 66 69 6c 65 6e 61 6d 65 lare-function.dired-get-filename
6640 20 22 64 69 72 65 64 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 26 6f 70 74 ."dired"...................(&opt
6660 69 6f 6e 61 6c 20 6c 6f 63 61 6c 70 20 6e 6f 2d 65 72 72 6f 72 2d 69 66 2d 6e 6f 74 2d 66 69 6c ional.localp.no-error-if-not-fil
6680 65 70 29 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 74 65 72 6d 2d 65 6d 75 6c ep)).(declare-function.term-emul
66a0 61 74 65 2d 74 65 72 6d 69 6e 61 6c 20 22 74 65 72 6d 22 20 28 70 72 6f 63 20 73 74 72 29 29 0a ate-terminal."term".(proc.str)).
66c0 28 64 65 66 76 61 72 20 65 73 68 65 6c 6c 2d 70 72 65 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 2d (defvar.eshell-preoutput-filter-
66e0 66 75 6e 63 74 69 6f 6e 73 29 0a 28 64 65 66 76 61 72 20 67 69 74 2d 63 6f 6d 6d 69 74 2d 70 6f functions).(defvar.git-commit-po
6700 73 74 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 29 0a 28 64 65 66 76 61 72 20 76 74 65 72 6d 2d 2d 70 st-finish-hook).(defvar.vterm--p
6720 72 6f 63 65 73 73 29 0a 28 64 65 66 76 61 72 20 77 61 72 6e 69 6e 67 2d 6d 69 6e 69 6d 75 6d 2d rocess).(defvar.warning-minimum-
6740 6c 65 76 65 6c 29 0a 28 64 65 66 76 61 72 20 77 61 72 6e 69 6e 67 2d 6d 69 6e 69 6d 75 6d 2d 6c level).(defvar.warning-minimum-l
6760 6f 67 2d 6c 65 76 65 6c 29 0a 0a 3b 3b 3b 20 4f 70 74 69 6f 6e 73 0a 0a 28 64 65 66 67 72 6f 75 og-level)..;;;.Options..(defgrou
6780 70 20 77 69 74 68 2d 65 64 69 74 6f 72 20 6e 69 6c 0a 20 20 22 55 73 65 20 74 68 65 20 45 6d 61 p.with-editor.nil..."Use.the.Ema
67a0 63 73 63 6c 69 65 6e 74 20 61 73 20 24 45 44 49 54 4f 52 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 csclient.as.$EDITOR."...:group.'
67c0 65 78 74 65 72 6e 61 6c 0a 20 20 3a 67 72 6f 75 70 20 27 73 65 72 76 65 72 29 0a 0a 28 64 65 66 external...:group.'server)..(def
67e0 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 63 6c 69 65 6e un.with-editor-locate-emacsclien
6800 74 20 28 29 0a 20 20 22 53 65 61 72 63 68 20 66 6f 72 20 61 20 73 75 69 74 61 62 6c 65 20 45 6d t.()..."Search.for.a.suitable.Em
6820 61 63 73 63 6c 69 65 6e 74 20 65 78 65 63 75 74 61 62 6c 65 2e 22 0a 20 20 28 6f 72 20 28 77 69 acsclient.executable."...(or.(wi
6840 74 68 2d 65 64 69 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 31 0a 20 th-editor-locate-emacsclient-1..
6860 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 70 ......(with-editor-emacsclient-p
6880 61 74 68 29 0a 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 28 73 70 6c 69 74 2d 73 74 72 69 6e ath)........(length.(split-strin
68a0 67 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 22 5c 5c 2e 22 29 29 29 0a 20 20 20 20 20 20 28 g.emacs-version."\\."))).......(
68c0 70 72 6f 67 31 20 6e 69 6c 20 28 64 69 73 70 6c 61 79 2d 77 61 72 6e 69 6e 67 20 27 77 69 74 68 prog1.nil.(display-warning.'with
68e0 2d 65 64 69 74 6f 72 20 22 5c 0a 43 61 6e 6e 6f 74 20 64 65 74 65 72 6d 69 6e 65 20 61 20 73 75 -editor."\.Cannot.determine.a.su
6900 69 74 61 62 6c 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 0a 0a 44 65 74 65 72 6d 69 6e 69 6e 67 20 itable.Emacsclient..Determining.
6920 61 6e 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 65 78 65 63 75 74 61 62 6c 65 20 73 75 69 74 61 62 an.Emacsclient.executable.suitab
6940 6c 65 20 66 6f 72 20 74 68 65 0a 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 le.for.the.current.Emacs.instanc
6960 65 20 66 61 69 6c 65 64 2e 20 20 46 6f 72 20 6d 6f 72 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a e.failed...For.more.information.
6980 70 6c 65 61 73 65 20 73 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 please.see.https://github.com/ma
69a0 67 69 74 2f 6d 61 67 69 74 2f 77 69 6b 69 2f 45 6d 61 63 73 63 6c 69 65 6e 74 2e 22 29 29 29 29 git/magit/wiki/Emacsclient."))))
69c0 0a 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e ..(defvar.with-editor-emacsclien
69e0 74 2d 70 72 6f 67 72 61 6d 2d 73 75 66 66 69 78 65 73 0a 20 20 28 6c 69 73 74 20 22 2d 73 6e 61 t-program-suffixes...(list."-sna
6a00 70 73 68 6f 74 22 20 22 2e 65 6d 61 63 73 2d 73 6e 61 70 73 68 6f 74 22 29 0a 20 20 22 53 75 66 pshot".".emacs-snapshot")..."Suf
6a20 66 69 78 65 73 20 74 6f 20 61 70 70 65 6e 64 20 74 6f 20 61 70 70 65 6e 64 20 77 68 65 6e 20 6c fixes.to.append.to.append.when.l
6a40 6f 6f 6b 69 6e 67 20 66 6f 72 20 61 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 65 78 65 63 75 74 61 ooking.for.a.Emacsclient.executa
6a60 62 6c 65 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6c 6f 63 61 bles.")..(defun.with-editor-loca
6a80 74 65 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 31 20 28 70 61 74 68 20 64 65 70 74 68 29 0a 20 20 te-emacsclient-1.(path.depth)...
6aa0 28 6c 65 74 2a 20 28 28 76 65 72 73 69 6f 6e 2d 6c 73 74 20 28 63 6c 2d 73 75 62 73 65 71 20 28 (let*.((version-lst.(cl-subseq.(
6ac0 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 22 5c 5c 2e 22 split-string.emacs-version."\\."
6ae0 29 20 30 20 64 65 70 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 65 72 73 69 6f 6e 2d 72 65 ).0.depth))..........(version-re
6b00 67 20 28 63 6f 6e 63 61 74 20 22 5e 22 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 76 65 72 73 69 g.(concat."^".(string-join.versi
6b20 6f 6e 2d 6c 73 74 20 22 5c 5c 2e 22 29 29 29 29 0a 20 20 20 20 28 6f 72 20 28 6c 6f 63 61 74 65 on-lst."\\.")))).....(or.(locate
6b40 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 75 61 6c 20 28 64 6f -file..........(cond.((equal.(do
6b60 77 6e 63 61 73 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2d 6e 61 6d 65 29 20 22 72 65 6d 61 63 73 22 wncase.invocation-name)."remacs"
6b80 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 72 65 6d 61 63 73 63 6c 69 65 6e 74 22 )................."remacsclient"
6ba0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 )................((bound-and-tru
6bc0 65 2d 70 20 65 6d 61 63 73 63 6c 69 65 6e 74 2d 70 72 6f 67 72 61 6d 2d 6e 61 6d 65 29 29 0a 20 e-p.emacsclient-program-name))..
6be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 65 6d 61 63 73 63 6c 69 65 6e 74 22 29 29 0a 20 ..............("emacsclient"))..
6c00 20 20 20 20 20 20 20 20 70 61 74 68 0a 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 6e 20 28 6c ........path..........(mapcan.(l
6c20 61 6d 62 64 61 20 28 76 29 20 28 63 6c 2d 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 29 ambda.(v).(cl-mapcar.(lambda.(e)
6c40 20 28 63 6f 6e 63 61 74 20 76 20 65 29 29 20 65 78 65 63 2d 73 75 66 66 69 78 65 73 29 29 0a 20 .(concat.v.e)).exec-suffixes))..
6c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 28 61 6e 64 20 28 62 6f 75 ................(nconc.(and.(bou
6c80 6e 64 70 20 27 64 65 62 69 61 6e 2d 65 6d 61 63 73 2d 66 6c 61 76 6f 72 29 0a 20 20 20 20 20 20 ndp.'debian-emacs-flavor).......
6ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 66 6f .......................(list.(fo
6cc0 72 6d 61 74 20 22 2e 25 73 22 20 64 65 62 69 61 6e 2d 65 6d 61 63 73 2d 66 6c 61 76 6f 72 29 29 rmat.".%s".debian-emacs-flavor))
6ce0 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 63 6c 2d 6d 61 ).........................(cl-ma
6d00 70 63 6f 6e 20 28 6c 61 6d 62 64 61 20 28 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pcon.(lambda.(v)................
6d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 76 20 28 73 ......................(setq.v.(s
6d40 74 72 69 6e 67 2d 6a 6f 69 6e 20 28 72 65 76 65 72 73 65 20 76 29 20 22 2e 22 29 29 0a 20 20 20 tring-join.(reverse.v)."."))....
6d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6d80 20 20 28 6c 69 73 74 20 76 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(list.v.......................
6da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 2d 22 .....................(concat."-"
6dc0 20 76 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 .v).............................
6de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 2e 65 6d 61 63 73 22 20 ...............(concat.".emacs".
6e00 76 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 20 20 v)))............................
6e20 20 20 20 20 20 20 20 20 28 72 65 76 65 72 73 65 20 76 65 72 73 69 6f 6e 2d 6c 73 74 29 29 0a 20 ........(reverse.version-lst))..
6e40 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 22 22 20 .......................(cons."".
6e60 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 70 72 6f 67 72 61 6d 2d with-editor-emacsclient-program-
6e80 73 75 66 66 69 78 65 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 65 78 suffixes)))..........(lambda.(ex
6ea0 65 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 ec)............(ignore-errors...
6ec0 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 76 65 72 73 69 ...........(string-match-p.versi
6ee0 6f 6e 2d 72 65 67 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 on-reg..........................
6f00 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 76 65 72 ....(with-editor-emacsclient-ver
6f20 73 69 6f 6e 20 65 78 65 63 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 3e 20 64 sion.exec))))).........(and.(>.d
6f40 65 70 74 68 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f epth.1)..............(with-edito
6f60 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 31 20 70 61 74 68 20 28 31 2d 20 r-locate-emacsclient-1.path.(1-.
6f80 64 65 70 74 68 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d depth))))))..(defun.with-editor-
6fa0 65 6d 61 63 73 63 6c 69 65 6e 74 2d 76 65 72 73 69 6f 6e 20 28 65 78 65 63 29 0a 20 20 28 6c 65 emacsclient-version.(exec)...(le
6fc0 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c 65 2d 6e 61 6d 65 t.((default-directory.(file-name
6fe0 2d 64 69 72 65 63 74 6f 72 79 20 65 78 65 63 29 29 29 0a 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 -directory.exec))).....(ignore-e
7000 72 72 6f 72 73 0a 20 20 20 20 20 20 28 63 61 64 72 20 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 rrors.......(cadr.(split-string.
7020 28 63 61 72 20 28 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 20 65 78 65 63 20 22 2d 2d 76 65 72 73 (car.(process-lines.exec."--vers
7040 69 6f 6e 22 29 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d ion")))))))..(defun.with-editor-
7060 65 6d 61 63 73 63 6c 69 65 6e 74 2d 70 61 74 68 20 28 29 0a 20 20 28 6c 65 74 20 28 28 70 61 74 emacsclient-path.()...(let.((pat
7080 68 20 65 78 65 63 2d 70 61 74 68 29 29 0a 20 20 20 20 28 77 68 65 6e 20 69 6e 76 6f 63 61 74 69 h.exec-path)).....(when.invocati
70a0 6f 6e 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 64 69 72 65 63 74 on-directory.......(push.(direct
70c0 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2d 64 69 72 65 63 74 6f ory-file-name.invocation-directo
70e0 72 79 29 20 70 61 74 68 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 69 6e 6b 6e 61 6d 65 ry).path).......(let*.((linkname
7100 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 69 6f 6e 2d 6e 61 .(expand-file-name.invocation-na
7120 6d 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 me.invocation-directory)).......
7140 20 20 20 20 20 20 20 28 74 72 75 65 6e 61 6d 65 20 28 66 69 6c 65 2d 63 68 61 73 65 2d 6c 69 6e .......(truename.(file-chase-lin
7160 6b 73 20 6c 69 6e 6b 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 ks.linkname))).........(unless.(
7180 65 71 75 61 6c 20 74 72 75 65 6e 61 6d 65 20 6c 69 6e 6b 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 equal.truename.linkname)........
71a0 20 20 20 28 70 75 73 68 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 ...(push.(directory-file-name.(f
71c0 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 74 72 75 65 6e 61 6d 65 29 29 20 70 61 ile-name-directory.truename)).pa
71e0 74 68 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 th))).......(when.(eq.system-typ
7200 65 20 27 64 61 72 77 69 6e 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 65 e.'darwin).........(let.((dir.(e
7220 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 62 69 6e 22 20 69 6e 76 6f 63 61 74 69 6f 6e xpand-file-name."bin".invocation
7240 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 -directory)))...........(when.(f
7260 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 ile-directory-p.dir)............
7280 20 28 70 75 73 68 20 64 69 72 20 70 61 74 68 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 .(push.dir.path))).........(cond
72a0 0a 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 73 65 61 72 63 68 20 22 43 65 6c 6c 61 ..........((string-search."Cella
72c0 72 22 20 69 6e 76 6f 63 61 74 69 6f 6e 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 r".invocation-directory)........
72e0 20 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 ...(let.((dir.(expand-file-name.
7300 22 2e 2e 2f 2e 2e 2f 2e 2e 2f 62 69 6e 22 20 69 6e 76 6f 63 61 74 69 6f 6e 2d 64 69 72 65 63 74 "../../../bin".invocation-direct
7320 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 64 ory))).............(when.(file-d
7340 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 irectory-p.dir)...............(p
7360 75 73 68 20 64 69 72 20 70 61 74 68 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 ush.dir.path))))..........((stri
7380 6e 67 2d 73 65 61 72 63 68 20 22 45 6d 61 63 73 2e 61 70 70 22 20 69 6e 76 6f 63 61 74 69 6f 6e ng-search."Emacs.app".invocation
73a0 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 69 72 -directory)...........(let.((dir
73c0 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 2e 2e 2f 2e 2e 2f 2e 2e 2f 2e 2e 2f .(expand-file-name."../../../../
73e0 62 69 6e 22 20 69 6e 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 bin".invocation-directory)))....
7400 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 .........(when.(file-directory-p
7420 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 64 69 72 20 70 61 .dir)...............(push.dir.pa
7440 74 68 29 29 29 29 29 29 29 0a 20 20 20 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 64 75 70 6c 69 63 61 th))))))).....(cl-remove-duplica
7460 74 65 73 20 70 61 74 68 20 3a 74 65 73 74 20 23 27 65 71 75 61 6c 29 29 29 0a 0a 28 64 65 66 63 tes.path.:test.#'equal)))..(defc
7480 75 73 74 6f 6d 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 ustom.with-editor-emacsclient-ex
74a0 65 63 75 74 61 62 6c 65 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 ecutable.(with-editor-locate-ema
74c0 63 73 63 6c 69 65 6e 74 29 0a 20 20 22 54 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 65 78 65 csclient)..."The.Emacsclient.exe
74e0 63 75 74 61 62 6c 65 20 75 73 65 64 20 62 79 20 74 68 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 cutable.used.by.the.`with-editor
7500 27 20 6d 61 63 72 6f 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 77 69 74 68 2d 65 64 69 74 6f 72 0a '.macro."...:group.'with-editor.
7520 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 20 28 73 74 72 69 6e 67 20 3a 74 61 67 20 22 45 ..:type.'(choice.(string.:tag."E
7540 78 65 63 75 74 61 62 6c 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f xecutable")..................(co
7560 6e 73 74 20 20 3a 74 61 67 20 22 44 6f 6e 27 74 20 75 73 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 nst..:tag."Don't.use.Emacsclient
7580 22 20 6e 69 6c 29 29 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 77 69 74 68 2d 65 64 69 74 6f 72 ".nil)))..(defcustom.with-editor
75a0 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 20 22 5c 0a 73 68 20 2d 63 20 27 5c 0a 70 72 69 -sleeping-editor."\.sh.-c.'\.pri
75c0 6e 74 66 20 5c 22 5c 5c 6e 57 49 54 48 2d 45 44 49 54 4f 52 3a 20 24 24 20 4f 50 45 4e 20 24 30 ntf.\"\\nWITH-EDITOR:.$$.OPEN.$0
75e0 5c 5c 30 33 37 24 31 5c 5c 30 33 37 20 49 4e 20 24 28 70 77 64 29 5c 5c 6e 5c 22 3b 20 5c 0a 73 \\037$1\\037.IN.$(pwd)\\n\";.\.s
7600 6c 65 65 70 20 36 30 34 38 30 30 20 26 20 73 6c 65 65 70 3d 24 21 3b 20 5c 0a 74 72 61 70 20 5c leep.604800.&.sleep=$!;.\.trap.\
7620 22 6b 69 6c 6c 20 24 73 6c 65 65 70 3b 20 65 78 69 74 20 30 5c 22 20 55 53 52 31 3b 20 5c 0a 74 "kill.$sleep;.exit.0\".USR1;.\.t
7640 72 61 70 20 5c 22 6b 69 6c 6c 20 24 73 6c 65 65 70 3b 20 65 78 69 74 20 31 5c 22 20 55 53 52 32 rap.\"kill.$sleep;.exit.1\".USR2
7660 3b 20 5c 0a 77 61 69 74 20 24 73 6c 65 65 70 27 22 0a 20 20 22 54 68 65 20 73 6c 65 65 70 69 6e ;.\.wait.$sleep'"..."The.sleepin
7680 67 20 65 64 69 74 6f 72 2c 20 75 73 65 64 20 77 68 65 6e 20 74 68 65 20 45 6d 61 63 73 63 6c 69 g.editor,.used.when.the.Emacscli
76a0 65 6e 74 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 2e 0a 0a 54 68 69 73 20 66 61 6c 6c 62 61 ent.cannot.be.used...This.fallba
76c0 63 6b 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 70 72 6f 63 ck.is.used.for.asynchronous.proc
76e0 65 73 73 65 73 20 73 74 61 72 74 65 64 20 69 6e 73 69 64 65 0a 74 68 65 20 6d 61 63 72 6f 20 60 esses.started.inside.the.macro.`
7700 77 69 74 68 2d 65 64 69 74 6f 72 27 2c 20 77 68 65 6e 20 74 68 65 20 70 72 6f 63 65 73 73 20 72 with-editor',.when.the.process.r
7720 75 6e 73 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 6d 61 63 68 69 6e 65 0a 6f 72 20 66 6f 72 20 6c uns.on.a.remote.machine.or.for.l
7740 6f 63 61 6c 20 70 72 6f 63 65 73 73 65 73 20 77 68 65 6e 20 60 77 69 74 68 2d 65 64 69 74 6f 72 ocal.processes.when.`with-editor
7760 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 27 0a 69 73 20 6e 69 6c 20 -emacsclient-executable'.is.nil.
7780 28 69 2e 65 2e 2c 20 77 68 65 6e 20 6e 6f 20 73 75 69 74 61 62 6c 65 20 45 6d 61 63 73 63 6c 69 (i.e.,.when.no.suitable.Emacscli
77a0 65 6e 74 20 77 61 73 20 66 6f 75 6e 64 2c 20 6f 72 20 74 68 65 20 75 73 65 72 0a 64 65 63 69 64 ent.was.found,.or.the.user.decid
77c0 65 64 20 6e 6f 74 20 74 6f 20 75 73 65 20 69 74 29 2e 0a 0a 57 68 65 72 65 20 74 68 65 20 6c 61 ed.not.to.use.it)...Where.the.la
77e0 74 74 65 72 20 75 73 65 73 20 61 20 73 6f 63 6b 65 74 20 74 6f 20 63 6f 6d 6d 75 6e 69 63 61 74 tter.uses.a.socket.to.communicat
7800 65 20 77 69 74 68 20 45 6d 61 63 73 27 20 73 65 72 76 65 72 2c 0a 74 68 69 73 20 73 75 62 73 74 e.with.Emacs'.server,.this.subst
7820 69 74 75 74 65 20 70 72 69 6e 74 73 20 65 64 69 74 20 72 65 71 75 65 73 74 73 20 74 6f 20 69 74 itute.prints.edit.requests.to.it
7840 73 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 6f 6e 0a 77 68 69 63 68 20 61 20 70 72 6f s.standard.output.on.which.a.pro
7860 63 65 73 73 20 66 69 6c 74 65 72 20 6c 69 73 74 65 6e 73 20 66 6f 72 20 73 75 63 68 20 72 65 71 cess.filter.listens.for.such.req
7880 75 65 73 74 73 2e 20 20 41 73 20 73 75 63 68 20 69 74 20 69 73 0a 6e 6f 74 20 61 20 63 6f 6d 70 uests...As.such.it.is.not.a.comp
78a0 6c 65 74 65 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 61 20 70 72 6f 70 65 72 20 45 6d 61 lete.substitute.for.a.proper.Ema
78c0 63 73 63 6c 69 65 6e 74 2c 20 69 74 20 63 61 6e 20 6f 6e 6c 79 0a 62 65 20 75 73 65 64 20 61 73 csclient,.it.can.only.be.used.as
78e0 20 24 45 44 49 54 4f 52 20 6f 66 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 20 6f 66 20 74 68 65 .$EDITOR.of.child.process.of.the
7900 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 2e 0a 0a 53 6f 6d 65 20 73 .current.Emacs.instance...Some.s
7920 68 65 6c 6c 73 20 64 6f 20 6e 6f 74 20 65 78 65 63 75 74 65 20 74 72 61 70 73 20 69 6d 6d 65 64 hells.do.not.execute.traps.immed
7940 69 61 74 65 6c 79 20 77 68 65 6e 20 77 61 69 74 69 6e 67 20 66 6f 72 20 61 0a 63 68 69 6c 64 20 iately.when.waiting.for.a.child.
7960 70 72 6f 63 65 73 73 2c 20 62 75 74 20 62 79 20 64 65 66 61 75 6c 74 20 77 65 20 64 6f 20 75 73 process,.but.by.default.we.do.us
7980 65 20 73 75 63 68 20 61 20 62 6c 6f 63 6b 69 6e 67 20 63 68 69 6c 64 0a 70 72 6f 63 65 73 73 2e e.such.a.blocking.child.process.
79a0 0a 0a 49 66 20 79 6f 75 20 75 73 65 20 73 75 63 68 20 61 20 73 68 65 6c 6c 20 28 65 2e 67 2e 2c ..If.you.use.such.a.shell.(e.g.,
79c0 20 60 63 73 68 27 20 6f 6e 20 46 72 65 65 42 53 44 2c 20 62 75 74 20 6e 6f 74 20 44 65 62 69 61 .`csh'.on.FreeBSD,.but.not.Debia
79e0 6e 29 2c 0a 74 68 65 6e 20 79 6f 75 20 68 61 76 65 20 74 6f 20 65 64 69 74 20 74 68 69 73 20 6f n),.then.you.have.to.edit.this.o
7a00 70 74 69 6f 6e 2e 20 20 59 6f 75 20 63 61 6e 20 65 69 74 68 65 72 20 72 65 70 6c 61 63 65 20 5c ption...You.can.either.replace.\
7a20 22 73 68 5c 22 0a 77 69 74 68 20 5c 22 62 61 73 68 5c 22 20 28 61 6e 64 20 69 6e 73 74 61 6c 6c "sh\".with.\"bash\".(and.install
7a40 20 74 68 61 74 29 2c 20 6f 72 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 6f 6c 64 65 72 .that),.or.you.can.use.the.older
7a60 2c 20 6c 65 73 73 0a 70 65 72 66 6f 72 6d 61 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e ,.less.performant.implementation
7a80 3a 0a 0a 20 20 5c 22 73 68 20 2d 63 20 27 5c 5c 0a 20 20 65 63 68 6f 20 2d 65 20 5c 5c 5c 22 5c :....\"sh.-c.'\\...echo.-e.\\\"\
7aa0 5c 6e 57 49 54 48 2d 45 44 49 54 4f 52 3a 20 24 24 20 4f 50 45 4e 20 24 30 1f 24 31 1f 20 49 4e \nWITH-EDITOR:.$$.OPEN.$0.$1..IN
7ac0 20 24 28 70 77 64 29 5c 5c 6e 5c 5c 5c 22 3b 20 5c 5c 0a 20 20 74 72 61 70 20 5c 5c 5c 22 65 78 .$(pwd)\\n\\\";.\\...trap.\\\"ex
7ae0 69 74 20 30 5c 5c 5c 22 20 55 53 52 31 3b 20 5c 5c 0a 20 20 74 72 61 70 20 5c 5c 5c 22 65 78 69 it.0\\\".USR1;.\\...trap.\\\"exi
7b00 74 20 31 5c 22 20 55 53 52 32 3b 20 5c 5c 0a 20 20 77 68 69 6c 65 20 74 72 75 65 3b 20 64 6f 20 t.1\".USR2;.\\...while.true;.do.
7b20 73 6c 65 65 70 20 31 3b 20 64 6f 6e 65 27 5c 22 0a 0a 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 sleep.1;.done'\"..Note.that.the.
7b40 74 77 6f 20 75 6e 69 74 20 73 65 70 61 72 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 73 20 28 1f two.unit.separator.characters.(.
7b60 29 20 72 69 67 68 74 20 61 66 74 65 72 20 24 30 0a 61 6e 64 20 24 31 20 61 72 65 20 72 65 71 75 ).right.after.$0.and.$1.are.requ
7b80 69 72 65 64 2e 20 20 4e 6f 72 6d 61 6c 6c 79 20 24 30 20 69 73 20 74 68 65 20 66 69 6c 65 20 6e ired...Normally.$0.is.the.file.n
7ba0 61 6d 65 20 61 6e 64 20 24 31 20 69 73 0a 6d 69 73 73 69 6e 67 20 6f 72 20 65 6c 73 65 20 67 65 ame.and.$1.is.missing.or.else.ge
7bc0 74 73 20 69 67 6e 6f 72 65 64 2e 20 20 42 75 74 20 69 66 20 24 30 20 68 61 73 20 74 68 65 20 66 ts.ignored...But.if.$0.has.the.f
7be0 6f 72 6d 20 5c 22 2b 4e 5b 3a 4e 5d 5c 22 2c 0a 74 68 65 6e 20 69 74 20 69 73 20 74 72 65 61 74 orm.\"+N[:N]\",.then.it.is.treat
7c00 65 64 20 61 73 20 61 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 74 68 65 20 66 69 6c 65 20 61 6e 64 ed.as.a.position.in.the.file.and
7c20 20 24 31 20 69 73 20 65 78 70 65 63 74 65 64 0a 74 6f 20 62 65 20 74 68 65 20 66 69 6c 65 2e 0a .$1.is.expected.to.be.the.file..
7c40 0a 41 6c 73 6f 20 6e 6f 74 65 20 74 68 61 74 20 75 73 69 6e 67 20 74 68 69 73 20 61 6c 74 65 72 .Also.note.that.using.this.alter
7c60 6e 61 74 69 76 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6c 65 61 64 73 20 74 6f 20 61 native.implementation.leads.to.a
7c80 0a 64 65 6c 61 79 20 6f 66 20 75 70 20 74 6f 20 61 20 73 65 63 6f 6e 64 2e 20 20 54 68 65 20 64 .delay.of.up.to.a.second...The.d
7ca0 65 6c 61 79 20 63 61 6e 20 62 65 20 73 68 6f 72 74 65 6e 65 64 20 62 79 20 72 65 70 6c 61 63 69 elay.can.be.shortened.by.replaci
7cc0 6e 67 0a 5c 22 73 6c 65 65 70 20 31 5c 22 20 77 69 74 68 20 5c 22 73 6c 65 65 70 20 30 2e 30 31 ng.\"sleep.1\".with.\"sleep.0.01
7ce0 5c 22 2c 20 6f 72 20 69 66 20 79 6f 75 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f \",.or.if.your.implementation.do
7d00 65 73 0a 6e 6f 74 20 73 75 70 70 6f 72 74 20 66 6c 6f 61 74 73 2c 20 74 68 65 6e 20 62 79 20 75 es.not.support.floats,.then.by.u
7d20 73 69 6e 67 20 5c 22 6e 61 6e 6f 73 6c 65 65 70 5c 22 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 3a sing.\"nanosleep\".instead."...:
7d40 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 77 69 74 68 2d 65 64 69 74 6f 72 20 2e 20 package-version.'(with-editor...
7d60 22 32 2e 38 2e 30 22 29 0a 20 20 3a 67 72 6f 75 70 20 27 77 69 74 68 2d 65 64 69 74 6f 72 0a 20 "2.8.0")...:group.'with-editor..
7d80 20 3a 74 79 70 65 20 27 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 77 69 74 68 .:type.'string)..(defcustom.with
7da0 2d 65 64 69 74 6f 72 2d 66 69 6e 69 73 68 2d 71 75 65 72 79 2d 66 75 6e 63 74 69 6f 6e 73 20 6e -editor-finish-query-functions.n
7dc0 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 6c 6c 65 64 20 74 il..."List.of.functions.called.t
7de0 6f 20 71 75 65 72 79 20 62 65 66 6f 72 65 20 66 69 6e 69 73 68 69 6e 67 20 73 65 73 73 69 6f 6e o.query.before.finishing.session
7e00 2e 0a 0a 54 68 65 20 62 75 66 66 65 72 20 69 6e 20 71 75 65 73 74 69 6f 6e 20 69 73 20 63 75 72 ...The.buffer.in.question.is.cur
7e20 72 65 6e 74 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c rent.while.the.functions.are.cal
7e40 6c 65 64 2e 0a 49 66 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 72 65 74 75 72 6e 73 20 6e 69 6c 2c led..If.any.of.them.returns.nil,
7e60 20 74 68 65 6e 20 74 68 65 20 73 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 66 69 6e 69 73 68 65 .then.the.session.is.not.finishe
7e80 64 20 61 6e 64 0a 74 68 65 20 62 75 66 66 65 72 20 69 73 20 6e 6f 74 20 6b 69 6c 6c 65 64 2e 20 d.and.the.buffer.is.not.killed..
7ea0 20 54 68 65 20 75 73 65 72 20 73 68 6f 75 6c 64 20 74 68 65 6e 20 66 69 78 20 74 68 65 20 69 73 .The.user.should.then.fix.the.is
7ec0 73 75 65 20 61 6e 64 0a 74 72 79 20 61 67 61 69 6e 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e sue.and.try.again...The.function
7ee0 73 20 61 72 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 s.are.called.with.one.argument..
7f00 20 49 66 20 69 74 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 20 74 68 65 6e 20 74 68 61 74 20 69 6e 64 69 .If.it.is.non-nil.then.that.indi
7f20 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 75 73 65 72 20 75 73 65 64 20 61 20 70 72 65 66 69 cates.that.the.user.used.a.prefi
7f40 78 20 61 72 67 75 6d 65 6e 74 0a 74 6f 20 66 6f 72 63 65 20 66 69 6e 69 73 68 69 6e 67 20 74 68 x.argument.to.force.finishing.th
7f60 65 20 73 65 73 73 69 6f 6e 20 64 65 73 70 69 74 65 20 69 73 73 75 65 73 2e 20 20 46 75 6e 63 74 e.session.despite.issues...Funct
7f80 69 6f 6e 73 20 73 68 6f 75 6c 64 0a 75 73 75 61 6c 6c 79 20 68 6f 6e 6f 72 20 74 68 61 74 20 61 ions.should.usually.honor.that.a
7fa0 6e 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 77 69 nd.return.non-nil."...:group.'wi
7fc0 74 68 2d 65 64 69 74 6f 72 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 29 0a 28 70 75 74 20 27 77 th-editor...:type.'hook).(put.'w
7fe0 69 74 68 2d 65 64 69 74 6f 72 2d 66 69 6e 69 73 68 2d 71 75 65 72 79 2d 66 75 6e 63 74 69 6f 6e ith-editor-finish-query-function
8000 73 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 0a 28 64 65 66 63 75 73 74 6f s.'permanent-local.t)..(defcusto
8020 6d 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 2d 71 75 65 72 79 2d 66 75 6e 63 74 m.with-editor-cancel-query-funct
8040 69 6f 6e 73 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 20 63 61 ions.nil..."List.of.functions.ca
8060 6c 6c 65 64 20 74 6f 20 71 75 65 72 79 20 62 65 66 6f 72 65 20 63 61 6e 63 65 6c 69 6e 67 20 73 lled.to.query.before.canceling.s
8080 65 73 73 69 6f 6e 2e 0a 0a 54 68 65 20 62 75 66 66 65 72 20 69 6e 20 71 75 65 73 74 69 6f 6e 20 ession...The.buffer.in.question.
80a0 69 73 20 63 75 72 72 65 6e 74 20 77 68 69 6c 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 is.current.while.the.functions.a
80c0 72 65 20 63 61 6c 6c 65 64 2e 0a 49 66 20 61 6e 79 20 6f 66 20 74 68 65 6d 20 72 65 74 75 72 6e re.called..If.any.of.them.return
80e0 73 20 6e 69 6c 2c 20 74 68 65 6e 20 74 68 65 20 73 65 73 73 69 6f 6e 20 69 73 20 6e 6f 74 20 63 s.nil,.then.the.session.is.not.c
8100 61 6e 63 65 6c 65 64 20 61 6e 64 0a 74 68 65 20 62 75 66 66 65 72 20 69 73 20 6e 6f 74 20 6b 69 anceled.and.the.buffer.is.not.ki
8120 6c 6c 65 64 2e 20 20 54 68 65 20 75 73 65 72 20 73 68 6f 75 6c 64 20 74 68 65 6e 20 66 69 78 20 lled...The.user.should.then.fix.
8140 74 68 65 20 69 73 73 75 65 20 61 6e 64 0a 74 72 79 20 61 67 61 69 6e 2e 20 20 54 68 65 20 66 75 the.issue.and.try.again...The.fu
8160 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6f 6e 65 20 61 72 67 75 nctions.are.called.with.one.argu
8180 6d 65 6e 74 2e 20 20 49 66 20 69 74 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 20 74 68 65 6e 20 74 68 61 ment...If.it.is.non-nil.then.tha
81a0 74 20 69 6e 64 69 63 61 74 65 73 20 74 68 61 74 20 74 68 65 20 75 73 65 72 20 75 73 65 64 20 61 t.indicates.that.the.user.used.a
81c0 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 0a 74 6f 20 66 6f 72 63 65 20 63 61 6e 63 65 6c .prefix.argument.to.force.cancel
81e0 69 6e 67 20 74 68 65 20 73 65 73 73 69 6f 6e 20 64 65 73 70 69 74 65 20 69 73 73 75 65 73 2e 20 ing.the.session.despite.issues..
8200 20 46 75 6e 63 74 69 6f 6e 73 20 73 68 6f 75 6c 64 0a 75 73 75 61 6c 6c 79 20 68 6f 6e 6f 72 20 .Functions.should.usually.honor.
8220 74 68 61 74 20 61 6e 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 3a 67 72 6f that.and.return.non-nil."...:gro
8240 75 70 20 27 77 69 74 68 2d 65 64 69 74 6f 72 0a 20 20 3a 74 79 70 65 20 27 68 6f 6f 6b 29 0a 28 up.'with-editor...:type.'hook).(
8260 70 75 74 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 2d 71 75 65 72 79 2d 66 75 put.'with-editor-cancel-query-fu
8280 6e 63 74 69 6f 6e 73 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 0a 28 64 65 nctions.'permanent-local.t)..(de
82a0 66 63 75 73 74 6f 6d 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 2d 6c 69 67 68 74 65 72 fcustom.with-editor-mode-lighter
82c0 20 22 20 57 45 22 0a 20 20 22 54 68 65 20 6d 6f 64 65 2d 6c 69 6e 65 20 6c 69 67 68 74 65 72 20 .".WE"..."The.mode-line.lighter.
82e0 6f 66 20 74 68 65 20 57 69 74 68 2d 45 64 69 74 6f 72 20 6d 6f 64 65 2e 22 0a 20 20 3a 67 72 6f of.the.With-Editor.mode."...:gro
8300 75 70 20 27 77 69 74 68 2d 65 64 69 74 6f 72 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 up.'with-editor...:type.'(choice
8320 20 28 63 6f 6e 73 74 20 3a 74 61 67 20 22 4e 6f 20 6c 69 67 68 74 65 72 22 20 22 22 29 20 73 74 .(const.:tag."No.lighter"."").st
8340 72 69 6e 67 29 29 0a 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 65 72 76 ring))..(defvar.with-editor-serv
8360 65 72 2d 77 69 6e 64 6f 77 2d 61 6c 69 73 74 20 6e 69 6c 0a 20 20 22 41 6c 69 73 74 20 6f 66 20 er-window-alist.nil..."Alist.of.
8380 66 69 6c 65 6e 61 6d 65 20 70 61 74 74 65 72 6e 73 20 76 73 20 63 6f 72 72 65 73 70 6f 6e 64 69 filename.patterns.vs.correspondi
83a0 6e 67 20 60 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 27 2e 0a 0a 45 61 63 68 20 65 6c 65 6d 65 6e ng.`server-window'...Each.elemen
83c0 74 20 6c 6f 6f 6b 73 20 6c 69 6b 65 20 28 52 45 47 45 58 50 20 2e 20 46 55 4e 43 54 49 4f 4e 29 t.looks.like.(REGEXP...FUNCTION)
83e0 2e 20 20 46 69 6c 65 73 20 6d 61 74 63 68 69 6e 67 0a 52 45 47 45 58 50 20 61 72 65 20 73 65 6c ...Files.matching.REGEXP.are.sel
8400 65 63 74 65 64 20 75 73 69 6e 67 20 46 55 4e 43 54 49 4f 4e 20 69 6e 73 74 65 61 64 20 6f 66 20 ected.using.FUNCTION.instead.of.
8420 74 68 65 20 64 65 66 61 75 6c 74 20 69 6e 0a 60 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 27 2e 0a the.default.in.`server-window'..
8440 0a 4e 6f 74 65 20 74 68 61 74 20 77 68 65 6e 20 61 20 70 61 63 6b 61 67 65 20 61 64 64 73 20 61 .Note.that.when.a.package.adds.a
8460 6e 20 65 6e 74 72 79 20 68 65 72 65 20 74 68 65 6e 20 69 74 20 70 72 6f 62 61 62 6c 79 0a 68 61 n.entry.here.then.it.probably.ha
8480 73 20 61 20 72 65 61 73 6f 6e 20 74 6f 20 64 69 73 72 65 73 70 65 63 74 20 60 73 65 72 76 65 72 s.a.reason.to.disrespect.`server
84a0 2d 77 69 6e 64 6f 77 27 20 61 6e 64 20 69 74 20 6c 69 6b 65 6c 79 20 69 73 0a 6e 6f 74 20 61 20 -window'.and.it.likely.is.not.a.
84c0 67 6f 6f 64 20 69 64 65 61 20 74 6f 20 63 68 61 6e 67 65 20 73 75 63 68 20 65 6e 74 72 69 65 73 good.idea.to.change.such.entries
84e0 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 69 6c 65 2d 6e 61 .")..(defvar.with-editor-file-na
8500 6d 65 2d 68 69 73 74 6f 72 79 2d 65 78 63 6c 75 64 65 20 6e 69 6c 0a 20 20 22 4c 69 73 74 20 6f me-history-exclude.nil..."List.o
8520 66 20 72 65 67 65 78 70 73 20 66 6f 72 20 66 69 6c 65 6e 61 6d 65 73 20 60 73 65 72 76 65 72 2d f.regexps.for.filenames.`server-
8540 76 69 73 69 74 27 20 73 68 6f 75 6c 64 20 6e 6f 74 20 72 65 6d 65 6d 62 65 72 2e 0a 57 68 65 6e visit'.should.not.remember..When
8560 20 61 20 66 69 6c 65 6e 61 6d 65 20 6d 61 74 63 68 65 73 20 61 6e 79 20 6f 66 20 74 68 65 20 72 .a.filename.matches.any.of.the.r
8580 65 67 65 78 70 73 2c 20 74 68 65 6e 20 60 73 65 72 76 65 72 2d 76 69 73 69 74 27 0a 64 6f 65 73 egexps,.then.`server-visit'.does
85a0 20 6e 6f 74 20 61 64 64 20 69 74 20 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 66 69 6c .not.add.it.to.the.variable.`fil
85c0 65 2d 6e 61 6d 65 2d 68 69 73 74 6f 72 79 27 2c 20 77 68 69 63 68 20 69 73 0a 75 73 65 64 20 77 e-name-history',.which.is.used.w
85e0 68 65 6e 20 72 65 61 64 69 6e 67 20 61 20 66 69 6c 65 6e 61 6d 65 20 69 6e 20 74 68 65 20 6d 69 hen.reading.a.filename.in.the.mi
8600 6e 69 62 75 66 66 65 72 2e 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 77 69 74 68 2d 65 64 69 nibuffer.")..(defcustom.with-edi
8620 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 75 73 65 2d 65 6d 61 63 73 63 6c 69 65 6e tor-shell-command-use-emacsclien
8640 74 20 74 0a 20 20 22 57 68 65 74 68 65 72 20 74 6f 20 75 73 65 20 74 68 65 20 65 6d 61 63 73 63 t.t..."Whether.to.use.the.emacsc
8660 6c 69 65 6e 74 20 77 68 65 6e 20 72 75 6e 6e 69 6e 67 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 lient.when.running.shell.command
8680 73 2e 0a 0a 54 68 69 73 20 61 66 66 65 63 74 73 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 s...This.affects.`with-editor-as
86a0 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 6e 64 2c 20 69 66 20 74 68 65 20 69 ync-shell-command'.and,.if.the.i
86c0 6e 70 75 74 0a 65 6e 64 73 20 77 69 74 68 20 5c 22 26 5c 22 20 60 77 69 74 68 2d 65 64 69 74 6f nput.ends.with.\"&\".`with-edito
86e0 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 2e 0a 0a 49 66 20 60 73 68 65 6c 6c 2d 63 6f r-shell-command'....If.`shell-co
8700 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 27 20 69 73 20 65 6e 61 62 6c mmand-with-editor-mode'.is.enabl
8720 65 64 2c 20 74 68 65 6e 20 69 74 20 61 6c 73 6f 0a 61 66 66 65 63 74 73 20 60 73 68 65 6c 6c 2d ed,.then.it.also.affects.`shell-
8740 63 6f 6d 6d 61 6e 64 2d 61 73 79 6e 63 27 20 61 6e 64 2c 20 69 66 20 74 68 65 20 69 6e 70 75 74 command-async'.and,.if.the.input
8760 20 65 6e 64 73 20 77 69 74 68 20 5c 22 26 5c 22 0a 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 .ends.with.\"&\".`shell-command'
8780 2e 0a 0a 54 68 69 73 20 69 73 20 61 20 74 65 6d 70 6f 72 61 72 79 20 6b 6c 75 64 67 65 20 74 68 ...This.is.a.temporary.kludge.th
87a0 61 74 20 6c 65 74 73 20 79 6f 75 20 63 68 6f 6f 73 65 20 62 65 74 77 65 65 6e 20 74 77 6f 0a 70 at.lets.you.choose.between.two.p
87c0 6f 73 73 69 62 6c 65 20 64 65 66 65 63 74 73 2c 20 74 68 65 20 6f 6e 65 73 20 64 65 73 63 72 69 ossible.defects,.the.ones.descri
87e0 62 65 64 20 69 6e 20 74 68 65 20 69 73 73 75 65 73 20 23 32 33 20 61 6e 64 20 23 34 30 2e 0a 0a bed.in.the.issues.#23.and.#40...
8800 57 68 65 6e 20 74 2c 20 74 68 65 6e 20 75 73 65 20 74 68 65 20 65 6d 61 63 73 63 6c 69 65 6e 74 When.t,.then.use.the.emacsclient
8820 2e 20 20 54 68 69 73 20 68 61 73 20 74 68 65 20 64 69 73 61 64 76 61 6e 74 61 67 65 20 74 68 61 ...This.has.the.disadvantage.tha
8840 74 0a 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 27 20 77 6f 6e 27 74 20 62 65 20 65 6e t.`with-editor-mode'.won't.be.en
8860 61 62 6c 65 64 20 62 65 63 61 75 73 65 20 77 65 20 64 6f 6e 27 74 20 6b 6e 6f 77 20 77 68 65 74 abled.because.we.don't.know.whet
8880 68 65 72 0a 74 68 69 73 20 70 61 63 6b 61 67 65 20 77 61 73 20 69 6e 76 6f 6c 76 65 64 20 61 74 her.this.package.was.involved.at
88a0 20 61 6c 6c 20 69 6e 20 74 68 65 20 63 61 6c 6c 20 74 6f 20 74 68 65 20 65 6d 61 63 73 63 6c 69 .all.in.the.call.to.the.emacscli
88c0 65 6e 74 2c 0a 61 6e 64 20 77 68 65 6e 20 69 74 20 69 73 20 6e 6f 74 2c 20 74 68 65 6e 20 77 65 ent,.and.when.it.is.not,.then.we
88e0 20 72 65 61 6c 6c 79 20 73 68 6f 75 6c 64 2e 20 20 54 68 65 20 70 72 6f 62 6c 65 6d 20 69 73 20 .really.should...The.problem.is.
8900 74 68 61 74 0a 74 68 65 20 65 6d 61 63 73 63 6c 69 65 6e 74 20 64 6f 65 73 6e 27 74 20 70 61 73 that.the.emacsclient.doesn't.pas
8920 73 20 61 6c 6f 6e 67 20 61 6e 79 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 s.along.any.environment.variable
8940 73 20 74 6f 0a 74 68 65 20 73 65 72 76 65 72 2e 20 20 54 68 69 73 20 77 69 6c 6c 20 68 6f 70 65 s.to.the.server...This.will.hope
8960 66 75 6c 6c 79 20 62 65 20 66 69 78 65 64 20 69 6e 20 45 6d 61 63 73 20 65 76 65 6e 74 75 61 6c fully.be.fixed.in.Emacs.eventual
8980 6c 79 2e 0a 0a 57 68 65 6e 20 6e 69 6c 2c 20 74 68 65 6e 20 75 73 65 20 74 68 65 20 73 6c 65 65 ly...When.nil,.then.use.the.slee
89a0 70 69 6e 67 20 65 64 69 74 6f 72 2e 20 20 42 65 63 61 75 73 65 20 69 6e 20 74 68 69 73 20 63 61 ping.editor...Because.in.this.ca
89c0 73 65 20 77 65 0a 6b 6e 6f 77 20 74 68 61 74 20 74 68 69 73 20 70 61 63 6b 61 67 65 20 69 73 20 se.we.know.that.this.package.is.
89e0 69 6e 76 6f 6c 76 65 64 2c 20 77 65 20 63 61 6e 20 65 6e 61 62 6c 65 20 74 68 65 20 6d 6f 64 65 involved,.we.can.enable.the.mode
8a00 2e 20 20 42 75 74 0a 74 68 69 73 20 6d 61 6b 65 73 20 69 74 20 6e 65 63 65 73 73 61 72 79 20 74 ...But.this.makes.it.necessary.t
8a20 68 61 74 20 79 6f 75 20 69 6e 76 6f 6b 65 20 24 45 44 49 54 4f 52 20 69 6e 20 73 68 65 6c 6c 20 hat.you.invoke.$EDITOR.in.shell.
8a40 73 63 72 69 70 74 73 0a 6c 69 6b 65 20 73 6f 3a 0a 0a 20 20 65 76 61 6c 20 5c 22 24 45 44 49 54 scripts.like.so:....eval.\"$EDIT
8a60 4f 52 5c 22 20 66 69 6c 65 0a 0a 41 6e 64 20 73 6f 6d 65 20 74 6f 6f 6c 73 20 74 68 61 74 20 64 OR\".file..And.some.tools.that.d
8a80 6f 20 6e 6f 74 20 68 61 6e 64 6c 65 20 24 45 44 49 54 4f 52 20 70 72 6f 70 65 72 6c 79 20 61 6c o.not.handle.$EDITOR.properly.al
8aa0 73 6f 20 62 72 65 61 6b 2e 22 0a 20 20 3a 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 20 27 28 so.break."...:package-version.'(
8ac0 77 69 74 68 2d 65 64 69 74 6f 72 20 2e 20 22 32 2e 37 2e 31 22 29 0a 20 20 3a 67 72 6f 75 70 20 with-editor..."2.7.1")...:group.
8ae0 27 77 69 74 68 2d 65 64 69 74 6f 72 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 'with-editor...:type.'boolean)..
8b00 3b 3b 3b 20 4d 6f 64 65 20 43 6f 6d 6d 61 6e 64 73 0a 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d ;;;.Mode.Commands..(defvar.with-
8b20 65 64 69 74 6f 72 2d 70 72 65 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 20 6e 69 6c 29 0a 28 64 65 66 editor-pre-finish-hook.nil).(def
8b40 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 65 2d 63 61 6e 63 65 6c 2d 68 6f 6f 6b 20 var.with-editor-pre-cancel-hook.
8b60 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 66 69 nil).(defvar.with-editor-post-fi
8b80 6e 69 73 68 2d 68 6f 6f 6b 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 nish-hook.nil).(defvar.with-edit
8ba0 6f 72 2d 70 6f 73 74 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 2d 31 20 6e 69 6c 29 0a 28 64 65 66 76 or-post-finish-hook-1.nil).(defv
8bc0 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 63 61 6e 63 65 6c 2d 68 6f 6f 6b 20 ar.with-editor-post-cancel-hook.
8be0 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 63 61 nil).(defvar.with-editor-post-ca
8c00 6e 63 65 6c 2d 68 6f 6f 6b 2d 31 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 ncel-hook-1.nil).(defvar.with-ed
8c20 69 74 6f 72 2d 63 61 6e 63 65 6c 2d 61 6c 69 73 74 20 6e 69 6c 29 0a 28 70 75 74 20 27 77 69 74 itor-cancel-alist.nil).(put.'wit
8c40 68 2d 65 64 69 74 6f 72 2d 70 72 65 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 20 27 70 65 72 6d 61 6e h-editor-pre-finish-hook.'perman
8c60 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 28 70 75 74 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 ent-local.t).(put.'with-editor-p
8c80 72 65 2d 63 61 6e 63 65 6c 2d 68 6f 6f 6b 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 re-cancel-hook.'permanent-local.
8ca0 74 29 0a 28 70 75 74 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 66 69 6e 69 73 68 t).(put.'with-editor-post-finish
8cc0 2d 68 6f 6f 6b 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 28 70 75 74 20 27 -hook.'permanent-local.t).(put.'
8ce0 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 63 61 6e 63 65 6c 2d 68 6f 6f 6b 20 27 70 65 with-editor-post-cancel-hook.'pe
8d00 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 rmanent-local.t)..(defvar-local.
8d20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 6f 77 2d 75 73 61 67 65 20 74 29 0a 28 64 65 66 76 61 with-editor-show-usage.t).(defva
8d40 72 2d 6c 6f 63 61 6c 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 2d 6d 65 73 73 61 r-local.with-editor-cancel-messa
8d60 67 65 20 6e 69 6c 29 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 77 69 74 68 2d 65 64 69 74 6f ge.nil).(defvar-local.with-edito
8d80 72 2d 70 72 65 76 69 6f 75 73 2d 77 69 6e 63 6f 6e 66 20 6e 69 6c 29 0a 28 70 75 74 20 27 77 69 r-previous-winconf.nil).(put.'wi
8da0 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 2d 6d 65 73 73 61 67 65 20 27 70 65 72 6d 61 6e th-editor-cancel-message.'perman
8dc0 65 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 28 70 75 74 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 ent-local.t).(put.'with-editor-p
8de0 72 65 76 69 6f 75 73 2d 77 69 6e 63 6f 6e 66 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c 6f 63 61 6c revious-winconf.'permanent-local
8e00 20 74 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d .t)..(defvar-local.with-editor--
8e20 70 69 64 20 6e 69 6c 20 22 46 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 2e 22 29 0a 28 70 75 pid.nil."For.internal.use.").(pu
8e40 74 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 70 69 64 20 27 70 65 72 6d 61 6e 65 6e 74 2d 6c t.'with-editor--pid.'permanent-l
8e60 6f 63 61 6c 20 74 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 69 6e 69 ocal.t)..(defun.with-editor-fini
8e80 73 68 20 28 66 6f 72 63 65 29 0a 20 20 22 46 69 6e 69 73 68 20 74 68 65 20 63 75 72 72 65 6e 74 sh.(force)..."Finish.the.current
8ea0 20 65 64 69 74 20 73 65 73 73 69 6f 6e 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 .edit.session."...(interactive."
8ec0 50 22 29 0a 20 20 28 77 68 65 6e 20 28 72 75 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 2d P")...(when.(run-hook-with-args-
8ee0 75 6e 74 69 6c 2d 66 61 69 6c 75 72 65 0a 20 20 20 20 20 20 20 20 20 27 77 69 74 68 2d 65 64 69 until-failure..........'with-edi
8f00 74 6f 72 2d 66 69 6e 69 73 68 2d 71 75 65 72 79 2d 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 63 65 tor-finish-query-functions.force
8f20 29 0a 20 20 20 20 28 6c 65 74 20 28 28 70 6f 73 74 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 20 77 69 ).....(let.((post-finish-hook.wi
8f40 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 29 0a 20 20 20 20 th-editor-post-finish-hook).....
8f60 20 20 20 20 20 20 28 70 6f 73 74 2d 63 6f 6d 6d 69 74 2d 68 6f 6f 6b 20 28 62 6f 75 6e 64 2d 61 ......(post-commit-hook.(bound-a
8f80 6e 64 2d 74 72 75 65 2d 70 20 67 69 74 2d 63 6f 6d 6d 69 74 2d 70 6f 73 74 2d 66 69 6e 69 73 68 nd-true-p.git-commit-post-finish
8fa0 2d 68 6f 6f 6b 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 69 72 20 64 65 66 61 75 6c 74 2d 64 -hook))...........(dir.default-d
8fc0 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 77 69 74 irectory)).......(run-hooks.'wit
8fe0 68 2d 65 64 69 74 6f 72 2d 70 72 65 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 h-editor-pre-finish-hook).......
9000 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 72 65 74 75 72 6e 20 6e 69 6c 29 0a 20 20 20 20 20 20 28 (with-editor-return.nil).......(
9020 61 63 63 65 70 74 2d 70 72 6f 63 65 73 73 2d 6f 75 74 70 75 74 20 6e 69 6c 20 30 2e 31 29 0a 20 accept-process-output.nil.0.1)..
9040 20 20 20 20 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 28 .....(with-temp-buffer.........(
9060 73 65 74 71 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 0a 20 20 20 20 setq.default-directory.dir).....
9080 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 ....(setq-local.with-editor-post
90a0 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 20 70 6f 73 74 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 29 0a 20 -finish-hook.post-finish-hook)..
90c0 20 20 20 20 20 20 20 28 77 68 65 6e 20 70 6f 73 74 2d 63 6f 6d 6d 69 74 2d 68 6f 6f 6b 0a 20 20 .......(when.post-commit-hook...
90e0 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 67 69 74 2d 63 6f 6d 6d 69 74 2d 70 ........(setq-local.git-commit-p
9100 6f 73 74 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 20 70 6f 73 74 2d 63 6f 6d 6d 69 74 2d 68 6f 6f 6b ost-finish-hook.post-commit-hook
9120 29 29 0a 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 77 69 74 68 2d 65 64 69 74 )).........(run-hooks.'with-edit
9140 6f 72 2d 70 6f 73 74 2d 66 69 6e 69 73 68 2d 68 6f 6f 6b 29 29 29 29 29 0a 0a 28 64 65 66 75 6e or-post-finish-hook)))))..(defun
9160 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 20 28 66 6f 72 63 65 29 0a 20 20 22 43 .with-editor-cancel.(force)..."C
9180 61 6e 63 65 6c 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 64 69 74 20 73 65 73 73 69 6f 6e 2e 22 ancel.the.current.edit.session."
91a0 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 20 28 72 75 ...(interactive."P")...(when.(ru
91c0 6e 2d 68 6f 6f 6b 2d 77 69 74 68 2d 61 72 67 73 2d 75 6e 74 69 6c 2d 66 61 69 6c 75 72 65 0a 20 n-hook-with-args-until-failure..
91e0 20 20 20 20 20 20 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 2d 71 75 65 72 ........'with-editor-cancel-quer
9200 79 2d 66 75 6e 63 74 69 6f 6e 73 20 66 6f 72 63 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 65 y-functions.force).....(let.((me
9220 73 73 61 67 65 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 2d 6d 65 73 73 61 67 65 ssage.with-editor-cancel-message
9240 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 74 69 6f 6e 70 20 6d 65 73 73 61 67 )).......(when.(functionp.messag
9260 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d 65 73 73 61 67 65 20 28 66 75 6e 63 61 6c e).........(setq.message.(funcal
9280 6c 20 6d 65 73 73 61 67 65 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 6f 73 74 2d 63 l.message))).......(let.((post-c
92a0 61 6e 63 65 6c 2d 68 6f 6f 6b 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 63 61 6e 63 ancel-hook.with-editor-post-canc
92c0 65 6c 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f el-hook).............(with-edito
92e0 72 2d 63 61 6e 63 65 6c 2d 61 6c 69 73 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 r-cancel-alist.nil).............
9300 28 64 69 72 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 (dir.default-directory))........
9320 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 65 2d 63 61 6e .(run-hooks.'with-editor-pre-can
9340 63 65 6c 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 72 cel-hook).........(with-editor-r
9360 65 74 75 72 6e 20 74 29 0a 20 20 20 20 20 20 20 20 28 61 63 63 65 70 74 2d 70 72 6f 63 65 73 73 eturn.t).........(accept-process
9380 2d 6f 75 74 70 75 74 20 6e 69 6c 20 30 2e 31 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 -output.nil.0.1).........(with-t
93a0 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 65 66 61 75 emp-buffer...........(setq.defau
93c0 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 lt-directory.dir)...........(set
93e0 71 2d 6c 6f 63 61 6c 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 63 61 6e 63 65 6c 2d q-local.with-editor-post-cancel-
9400 68 6f 6f 6b 20 70 6f 73 74 2d 63 61 6e 63 65 6c 2d 68 6f 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 hook.post-cancel-hook)..........
9420 20 28 72 75 6e 2d 68 6f 6f 6b 73 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 6f 73 74 2d 63 61 .(run-hooks.'with-editor-post-ca
9440 6e 63 65 6c 2d 68 6f 6f 6b 29 29 29 0a 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 28 6f 72 20 ncel-hook))).......(message.(or.
9460 6d 65 73 73 61 67 65 20 22 43 61 6e 63 65 6c 65 64 20 62 79 20 75 73 65 72 22 29 29 29 29 29 0a message."Canceled.by.user"))))).
9480 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 72 65 74 75 72 6e 20 28 63 61 6e 63 .(defun.with-editor-return.(canc
94a0 65 6c 29 0a 20 20 28 6c 65 74 20 28 28 77 69 6e 63 6f 6e 66 20 77 69 74 68 2d 65 64 69 74 6f 72 el)...(let.((winconf.with-editor
94c0 2d 70 72 65 76 69 6f 75 73 2d 77 69 6e 63 6f 6e 66 29 0a 20 20 20 20 20 20 20 20 28 63 6c 69 65 -previous-winconf).........(clie
94e0 6e 74 73 20 73 65 72 76 65 72 2d 62 75 66 66 65 72 2d 63 6c 69 65 6e 74 73 29 0a 20 20 20 20 20 nts.server-buffer-clients)......
9500 20 20 20 28 64 69 72 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 ...(dir.default-directory)......
9520 20 20 20 28 70 69 64 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 70 69 64 29 29 0a 20 20 20 20 28 ...(pid.with-editor--pid)).....(
9540 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 71 75 65 72 79 2d 66 remove-hook.'kill-buffer-query-f
9560 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 unctions..................#'with
9580 2d 65 64 69 74 6f 72 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 6e 6f 6f 70 20 74 29 0a 20 20 20 20 -editor-kill-buffer-noop.t).....
95a0 28 63 6f 6e 64 20 28 63 61 6e 63 65 6c 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 62 (cond.(cancel............(save-b
95c0 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 6c 69 65 6e 74 73 0a 20 20 uffer)............(if.clients...
95e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 75 66 20 28 63 75 72 72 65 6e 74 .............(let.((buf.(current
9600 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c -buffer)))..................(dol
9620 69 73 74 20 28 63 6c 69 65 6e 74 20 63 6c 69 65 6e 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 ist.(client.clients)............
9640 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 63 6c 69 65 6e 74 20 25 53 22 20 63 6c 69 ........(message."client.%S".cli
9660 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d ent)....................(ignore-
9680 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 72 errors......................(ser
96a0 76 65 72 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 63 6c 69 65 6e 74 20 22 2d 65 72 72 6f 72 20 43 ver-send-string.client."-error.C
96c0 61 6e 63 65 6c 65 64 20 62 79 20 75 73 65 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 anceled.by.user"))..............
96e0 20 20 20 20 20 20 28 64 65 6c 65 74 65 2d 70 72 6f 63 65 73 73 20 63 6c 69 65 6e 74 29 29 0a 20 ......(delete-process.client))..
9700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6c 69 ................(when.(buffer-li
9720 76 65 2d 70 20 62 75 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 ve-p.buf)....................(ki
9740 6c 6c 2d 62 75 66 66 65 72 20 62 75 66 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ll-buffer.buf)))..............;;
9760 20 46 61 6c 6c 62 61 63 6b 20 66 6f 72 20 77 68 65 6e 20 65 6d 61 63 73 20 77 61 73 20 75 73 65 .Fallback.for.when.emacs.was.use
9780 64 20 61 73 20 24 45 44 49 54 4f 52 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 73 d.as.$EDITOR..............;;.ins
97a0 74 65 61 64 20 6f 66 20 65 6d 61 63 73 63 6c 69 65 6e 74 20 6f 72 20 74 68 65 20 73 6c 65 65 70 tead.of.emacsclient.or.the.sleep
97c0 69 6e 67 20 65 64 69 74 6f 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 65 65 20 ing.editor...............;;.See.
97e0 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 6d 61 67 69 74 2f 69 https://github.com/magit/magit/i
9800 73 73 75 65 73 2f 32 32 35 38 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 ssues/2258...............(ignore
9820 2d 65 72 72 6f 72 73 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 62 75 66 66 65 72 2d 66 69 6c 65 -errors.(delete-file.buffer-file
9840 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 -name))..............(kill-buffe
9860 72 29 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 28 73 61 r)))...........(t............(sa
9880 76 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 63 6c 69 65 6e 74 ve-buffer)............(if.client
98a0 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 75 73 65 20 60 73 s................;;.Don't.use.`s
98c0 65 72 76 65 72 2d 65 64 69 74 27 20 62 65 63 61 75 73 65 20 77 65 20 64 6f 20 6e 6f 74 20 77 61 erver-edit'.because.we.do.not.wa
98e0 6e 74 20 74 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 68 6f 77 20 61 6e 6f nt.to................;;.show.ano
9900 74 68 65 72 20 62 75 66 66 65 72 20 62 65 6c 6f 6e 67 69 6e 67 20 74 6f 20 61 6e 6f 74 68 65 72 ther.buffer.belonging.to.another
9920 20 63 6c 69 65 6e 74 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 65 65 20 68 .client.................;;.See.h
9940 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 6d 61 67 69 74 2f 69 73 ttps://github.com/magit/magit/is
9960 73 75 65 73 2f 32 31 39 37 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 72 76 65 sues/2197.................(serve
9980 72 2d 64 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 62 75 66 66 65 r-done)..............(kill-buffe
99a0 72 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 70 69 64 0a 20 20 20 20 20 20 28 6c 65 74 20 28 r)))).....(when.pid.......(let.(
99c0 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 64 69 72 29 29 0a 20 20 20 20 20 20 20 (default-directory.dir))........
99e0 20 28 70 72 6f 63 65 73 73 2d 66 69 6c 65 20 22 6b 69 6c 6c 22 20 6e 69 6c 20 6e 69 6c 20 6e 69 .(process-file."kill".nil.nil.ni
9a00 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2d 73 22 20 28 69 66 l......................."-s".(if
9a20 20 63 61 6e 63 65 6c 20 22 55 53 52 32 22 20 22 55 53 52 31 22 29 20 70 69 64 29 29 29 0a 20 20 .cancel."USR2"."USR1").pid)))...
9a40 20 20 28 77 68 65 6e 20 28 61 6e 64 20 77 69 6e 63 6f 6e 66 20 28 65 71 20 28 77 69 6e 64 6f 77 ..(when.(and.winconf.(eq.(window
9a60 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2d 66 72 61 6d 65 20 77 69 6e 63 6f 6e 66 29 0a 20 20 -configuration-frame.winconf)...
9a80 20 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 6c 65 63 74 .........................(select
9aa0 65 64 2d 66 72 61 6d 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 63 6f ed-frame))).......(set-window-co
9ac0 6e 66 69 67 75 72 61 74 69 6f 6e 20 77 69 6e 63 6f 6e 66 29 29 29 29 0a 0a 3b 3b 3b 20 4d 6f 64 nfiguration.winconf))))..;;;.Mod
9ae0 65 0a 0a 28 64 65 66 76 61 72 2d 6b 65 79 6d 61 70 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f e..(defvar-keymap.with-editor-mo
9b00 64 65 2d 6d 61 70 0a 20 20 22 43 2d 63 20 43 2d 63 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 de-map..."C-c.C-c"..............
9b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ..................#'with-editor-
9b40 66 69 6e 69 73 68 0a 20 20 22 3c 72 65 6d 61 70 3e 20 3c 73 65 72 76 65 72 2d 65 64 69 74 3e 22 finish..."<remap>.<server-edit>"
9b60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ..................#'with-editor-
9b80 66 69 6e 69 73 68 0a 20 20 22 3c 72 65 6d 61 70 3e 20 3c 65 76 69 6c 2d 73 61 76 65 2d 61 6e 64 finish..."<remap>.<evil-save-and
9ba0 2d 63 6c 6f 73 65 3e 22 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d -close>"..........#'with-editor-
9bc0 66 69 6e 69 73 68 0a 20 20 22 3c 72 65 6d 61 70 3e 20 3c 65 76 69 6c 2d 73 61 76 65 2d 6d 6f 64 finish..."<remap>.<evil-save-mod
9be0 69 66 69 65 64 2d 61 6e 64 2d 63 6c 6f 73 65 3e 22 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ified-and-close>".#'with-editor-
9c00 66 69 6e 69 73 68 0a 20 20 22 43 2d 63 20 43 2d 6b 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 finish..."C-c.C-k"..............
9c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ..................#'with-editor-
9c40 63 61 6e 63 65 6c 0a 20 20 22 3c 72 65 6d 61 70 3e 20 3c 6b 69 6c 6c 2d 62 75 66 66 65 72 3e 22 cancel..."<remap>.<kill-buffer>"
9c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ..................#'with-editor-
9c80 63 61 6e 63 65 6c 0a 20 20 22 3c 72 65 6d 61 70 3e 20 3c 69 64 6f 2d 6b 69 6c 6c 2d 62 75 66 66 cancel..."<remap>.<ido-kill-buff
9ca0 65 72 3e 22 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d er>"..............#'with-editor-
9cc0 63 61 6e 63 65 6c 0a 20 20 22 3c 72 65 6d 61 70 3e 20 3c 69 73 77 69 74 63 68 62 2d 6b 69 6c 6c cancel..."<remap>.<iswitchb-kill
9ce0 2d 62 75 66 66 65 72 3e 22 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d -buffer>".........#'with-editor-
9d00 63 61 6e 63 65 6c 0a 20 20 22 3c 72 65 6d 61 70 3e 20 3c 65 76 69 6c 2d 71 75 69 74 3e 22 20 20 cancel..."<remap>.<evil-quit>"..
9d20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ..................#'with-editor-
9d40 63 61 6e 63 65 6c 29 0a 0a 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 77 69 74 68 cancel)..(define-minor-mode.with
9d60 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 0a 20 20 22 45 64 69 74 20 61 20 66 69 6c 65 20 61 73 20 74 -editor-mode..."Edit.a.file.as.t
9d80 68 65 20 24 45 44 49 54 4f 52 20 6f 66 20 61 6e 20 65 78 74 65 72 6e 61 6c 20 70 72 6f 63 65 73 he.$EDITOR.of.an.external.proces
9da0 73 2e 22 0a 20 20 3a 6c 69 67 68 74 65 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 2d s."...:lighter.with-editor-mode-
9dc0 6c 69 67 68 74 65 72 0a 20 20 3b 3b 20 50 72 6f 74 65 63 74 20 74 68 65 20 75 73 65 72 20 66 72 lighter...;;.Protect.the.user.fr
9de0 6f 6d 20 65 6e 61 62 6c 69 6e 67 20 6f 72 20 64 69 73 61 62 6c 69 6e 67 20 74 68 65 20 6d 6f 64 om.enabling.or.disabling.the.mod
9e00 65 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2e 0a 20 20 3b 3b 20 4d 61 6e 75 61 6c 6c 79 20 65 e.interactively....;;.Manually.e
9e20 6e 61 62 6c 69 6e 67 20 74 68 65 20 6d 6f 64 65 20 69 73 20 64 61 6e 67 65 72 6f 75 73 20 62 65 nabling.the.mode.is.dangerous.be
9e40 63 61 75 73 65 20 63 61 6e 63 65 6c 69 6e 67 20 74 68 65 20 62 75 66 66 65 72 0a 20 20 3b 3b 20 cause.canceling.the.buffer...;;.
9e60 64 65 6c 65 74 65 73 20 74 68 65 20 76 69 73 69 74 65 64 20 66 69 6c 65 2e 20 20 54 68 65 20 6d deletes.the.visited.file...The.m
9e80 6f 64 65 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 64 69 73 61 62 6c 65 64 20 6d 61 6e 75 61 6c 6c ode.must.not.be.disabled.manuall
9ea0 79 2c 0a 20 20 3b 3b 20 65 69 74 68 65 72 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 69 6e 69 y,...;;.either.`with-editor-fini
9ec0 73 68 27 20 6f 72 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 27 20 6d 75 73 74 sh'.or.`with-editor-cancel'.must
9ee0 20 62 65 20 75 73 65 64 2e 0a 20 20 3a 69 6e 74 65 72 61 63 74 69 76 65 20 6e 69 6c 20 20 20 20 .be.used....:interactive.nil....
9f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 20 3e 3d 20 32 38 2e 31 0a 20 20 28 77 68 65 ................;.>=.28.1...(whe
9f20 6e 20 28 63 61 6c 6c 65 64 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2d 70 20 27 61 6e 79 29 20 n.(called-interactively-p.'any).
9f40 3b 20 3c 20 20 32 38 2e 31 0a 20 20 20 20 28 73 65 74 71 20 77 69 74 68 2d 65 64 69 74 6f 72 2d ;.<..28.1.....(setq.with-editor-
9f60 6d 6f 64 65 20 28 6e 6f 74 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 29 29 0a 20 20 20 mode.(not.with-editor-mode))....
9f80 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 57 69 74 68 2d 45 64 69 74 6f 72 20 6d 6f 64 65 20 69 .(user-error."With-Editor.mode.i
9fa0 73 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 69 6e 74 65 72 61 63 74 69 76 65 20 75 s.not.intended.for.interactive.u
9fc0 73 65 22 29 29 0a 20 20 3b 3b 20 54 68 65 20 62 75 66 66 65 72 20 6d 75 73 74 20 61 6c 73 6f 20 se"))...;;.The.buffer.must.also.
9fe0 6e 6f 74 20 62 65 20 6b 69 6c 6c 65 64 20 75 73 69 6e 67 20 72 65 67 75 6c 61 72 20 6b 69 6c 6c not.be.killed.using.regular.kill
a000 20 63 6f 6d 6d 61 6e 64 73 2e 0a 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 6b 69 6c 6c 2d 62 75 66 .commands....(add-hook.'kill-buf
a020 66 65 72 2d 71 75 65 72 79 2d 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 fer-query-functions.............
a040 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 6e 6f 6f 70 20 6e #'with-editor-kill-buffer-noop.n
a060 69 6c 20 74 29 0a 20 20 3b 3b 20 60 73 65 72 76 65 72 2d 65 78 65 63 75 74 65 27 20 64 69 73 70 il.t)...;;.`server-execute'.disp
a080 6c 61 79 73 20 61 20 6d 65 73 73 61 67 65 20 77 68 69 63 68 20 69 73 20 6e 6f 74 0a 20 20 3b 3b lays.a.message.which.is.not...;;
a0a0 20 63 6f 72 72 65 63 74 20 77 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 6d 6f 64 65 2e 0a 20 .correct.when.using.this.mode...
a0c0 20 28 77 68 65 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 6f 77 2d 75 73 61 67 65 0a 20 20 .(when.with-editor-show-usage...
a0e0 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 75 73 61 67 65 2d 6d 65 73 73 61 67 65 29 29 29 0a ..(with-editor-usage-message))).
a100 0a 28 70 75 74 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 20 27 70 65 72 6d 61 6e 65 .(put.'with-editor-mode.'permane
a120 6e 74 2d 6c 6f 63 61 6c 20 74 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d nt-local.t)..(defun.with-editor-
a140 6b 69 6c 6c 2d 62 75 66 66 65 72 2d 6e 6f 6f 70 20 28 29 0a 20 20 3b 3b 20 57 65 20 73 74 61 72 kill-buffer-noop.()...;;.We.star
a160 74 65 64 20 64 6f 69 6e 67 20 74 68 69 73 20 69 6e 20 72 65 73 70 6f 6e 73 65 20 74 6f 20 23 36 ted.doing.this.in.response.to.#6
a180 34 2c 20 62 75 74 20 69 74 20 69 73 20 6e 6f 74 20 73 61 66 65 0a 20 20 3b 3b 20 74 6f 20 64 6f 4,.but.it.is.not.safe...;;.to.do
a1a0 20 73 6f 2c 20 62 65 63 61 75 73 65 20 74 68 65 20 63 6c 69 65 6e 74 20 68 61 73 20 61 6c 72 65 .so,.because.the.client.has.alre
a1c0 61 64 79 20 62 65 65 6e 20 6b 69 6c 6c 65 64 2c 20 63 61 75 73 69 6e 67 0a 20 20 3b 3b 20 60 77 ady.been.killed,.causing...;;.`w
a1e0 69 74 68 2d 65 64 69 74 6f 72 2d 72 65 74 75 72 6e 27 20 28 63 61 6c 6c 65 64 20 62 79 20 60 77 ith-editor-return'.(called.by.`w
a200 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 27 29 20 74 6f 20 64 65 6c 65 74 65 0a 20 20 ith-editor-cancel').to.delete...
a220 3b 3b 20 74 68 65 20 66 69 6c 65 2c 20 73 65 65 20 23 36 36 2e 20 20 54 68 65 20 72 65 61 73 6f ;;.the.file,.see.#66...The.reaso
a240 6e 20 77 65 20 64 65 6c 65 74 65 20 74 68 65 20 66 69 6c 65 20 69 6e 20 74 68 65 20 66 69 72 73 n.we.delete.the.file.in.the.firs
a260 74 0a 20 20 3b 3b 20 70 6c 61 63 65 20 61 72 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e t...;;.place.are.https://github.
a280 63 6f 6d 2f 6d 61 67 69 74 2f 6d 61 67 69 74 2f 69 73 73 75 65 73 2f 32 32 35 38 20 61 6e 64 0a com/magit/magit/issues/2258.and.
a2a0 20 20 3b 3b 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 6d 61 ..;;.https://github.com/magit/ma
a2c0 67 69 74 2f 69 73 73 75 65 73 2f 32 32 34 38 2e 0a 20 20 3b 3b 20 28 69 66 20 28 6d 65 6d 71 20 git/issues/2248....;;.(if.(memq.
a2e0 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 27 28 73 61 76 65 2d 62 75 66 66 65 72 73 2d 6b 69 6c 6c this-command.'(save-buffers-kill
a300 2d 74 65 72 6d 69 6e 61 6c 0a 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -terminal...;;..................
a320 20 20 20 20 20 20 20 20 73 61 76 65 2d 62 75 66 66 65 72 73 2d 6b 69 6c 6c 2d 65 6d 61 63 73 29 ........save-buffers-kill-emacs)
a340 29 0a 20 20 3b 3b 20 20 20 20 20 28 6c 65 74 20 28 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 )...;;.....(let.((with-editor-ca
a360 6e 63 65 6c 2d 71 75 65 72 79 2d 66 75 6e 63 74 69 6f 6e 73 20 6e 69 6c 29 29 0a 20 20 3b 3b 20 ncel-query-functions.nil))...;;.
a380 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 20 6e 69 6c 29 0a 20 ......(with-editor-cancel.nil)..
a3a0 20 3b 3b 20 20 20 20 20 20 20 74 29 0a 20 20 3b 3b 20 20 20 2e 2e 2e 29 0a 20 20 3b 3b 20 53 6f .;;.......t)...;;......)...;;.So
a3c0 20 67 6f 20 62 61 63 6b 20 74 6f 20 61 6c 77 61 79 73 20 64 6f 69 6e 67 20 74 68 69 73 20 69 6e .go.back.to.always.doing.this.in
a3e0 73 74 65 61 64 3a 0a 20 20 28 75 73 65 72 2d 65 72 72 6f 72 20 28 73 75 62 73 74 69 74 75 74 65 stead:...(user-error.(substitute
a400 2d 63 6f 6d 6d 61 6e 64 2d 6b 65 79 73 20 28 66 6f 72 6d 61 74 20 22 5c 0a 44 6f 6e 27 74 20 6b -command-keys.(format."\.Don't.k
a420 69 6c 6c 20 74 68 69 73 20 62 75 66 66 65 72 20 25 53 2e 20 20 49 6e 73 74 65 61 64 20 63 61 6e ill.this.buffer.%S...Instead.can
a440 63 65 6c 20 75 73 69 6e 67 20 5c 5c 5b 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 5d cel.using.\\[with-editor-cancel]
a460 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 20 "...............................
a480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 .................(current-buffer
a4a0 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 2d 6c 6f 63 61 6c 20 77 69 74 68 2d 65 64 69 74 6f 72 )))))..(defvar-local.with-editor
a4c0 2d 75 73 61 67 65 2d 6d 65 73 73 61 67 65 20 22 5c 0a 54 79 70 65 20 5c 5c 5b 77 69 74 68 2d 65 -usage-message."\.Type.\\[with-e
a4e0 64 69 74 6f 72 2d 66 69 6e 69 73 68 5d 20 74 6f 20 66 69 6e 69 73 68 2c 20 5c 0a 6f 72 20 5c 5c ditor-finish].to.finish,.\.or.\\
a500 5b 77 69 74 68 2d 65 64 69 74 6f 72 2d 63 61 6e 63 65 6c 5d 20 74 6f 20 63 61 6e 63 65 6c 22 29 [with-editor-cancel].to.cancel")
a520 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 75 73 61 67 65 2d 6d 65 73 73 61 ..(defun.with-editor-usage-messa
a540 67 65 20 28 29 0a 20 20 3b 3b 20 52 75 6e 20 61 66 74 65 72 20 60 73 65 72 76 65 72 2d 65 78 65 ge.()...;;.Run.after.`server-exe
a560 63 75 74 65 27 2c 20 77 68 69 63 68 20 69 73 20 72 75 6e 20 75 73 69 6e 67 0a 20 20 3b 3b 20 61 cute',.which.is.run.using...;;.a
a580 20 74 69 6d 65 72 20 77 68 69 63 68 20 73 74 61 72 74 73 20 69 6d 6d 65 64 69 61 74 65 6c 79 2e .timer.which.starts.immediately.
a5a0 0a 20 20 28 6c 65 74 20 28 28 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 ...(let.((buffer.(current-buffer
a5c0 29 29 29 0a 20 20 20 20 28 72 75 6e 2d 77 69 74 68 2d 74 69 6d 65 72 0a 20 20 20 20 20 30 2e 30 ))).....(run-with-timer......0.0
a5e0 35 20 6e 69 6c 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 28 77 69 5.nil......(lambda.()........(wi
a600 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 20 20 20 th-current-buffer.buffer........
a620 20 20 28 6d 65 73 73 61 67 65 20 28 73 75 62 73 74 69 74 75 74 65 2d 63 6f 6d 6d 61 6e 64 2d 6b ..(message.(substitute-command-k
a640 65 79 73 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 75 73 61 67 65 2d 6d 65 73 73 61 67 65 29 29 29 eys.with-editor-usage-message)))
a660 29 29 29 29 0a 0a 3b 3b 3b 20 57 72 61 70 70 65 72 73 0a 0a 28 64 65 66 76 61 72 20 77 69 74 68 ))))..;;;.Wrappers..(defvar.with
a680 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 6e 69 6c 20 22 46 6f 72 20 69 6e 74 65 72 6e 61 -editor--envvar.nil."For.interna
a6a0 6c 20 75 73 65 2e 22 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 65 64 69 74 6f 72 20 l.use.")..(defmacro.with-editor.
a6c0 28 26 72 65 73 74 20 62 6f 64 79 29 0a 20 20 22 55 73 65 20 74 68 65 20 45 6d 61 63 73 63 6c 69 (&rest.body)..."Use.the.Emacscli
a6e0 65 6e 74 20 61 73 20 24 45 44 49 54 4f 52 20 77 68 69 6c 65 20 65 76 61 6c 75 61 74 69 6e 67 20 ent.as.$EDITOR.while.evaluating.
a700 42 4f 44 59 2e 0a 4d 6f 64 69 66 79 20 74 68 65 20 60 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f BODY..Modify.the.`process-enviro
a720 6e 6d 65 6e 74 27 20 66 6f 72 20 70 72 6f 63 65 73 73 65 73 20 73 74 61 72 74 65 64 20 69 6e 20 nment'.for.processes.started.in.
a740 42 4f 44 59 2c 0a 69 6e 73 74 72 75 63 74 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 20 74 68 BODY,.instructing.them.to.use.th
a760 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 20 24 45 44 49 54 4f 52 2e 20 20 49 66 20 6f 70 e.Emacsclient.as.$EDITOR...If.op
a780 74 69 6f 6e 61 6c 0a 45 4e 56 56 41 52 20 69 73 20 61 20 6c 69 74 65 72 61 6c 20 73 74 72 69 6e tional.ENVVAR.is.a.literal.strin
a7a0 67 20 74 68 65 6e 20 62 69 6e 64 20 74 68 61 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 g.then.bind.that.environment.var
a7c0 69 61 62 6c 65 0a 69 6e 73 74 65 61 64 2e 0a 5c 6e 28 66 6e 20 5b 45 4e 56 56 41 52 5d 20 42 4f iable.instead..\n(fn.[ENVVAR].BO
a7e0 44 59 2e 2e 2e 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e DY...)"...(declare.(indent.defun
a800 29 20 28 64 65 62 75 67 20 28 62 6f 64 79 29 29 29 0a 20 20 60 28 6c 65 74 20 28 28 77 69 74 68 ).(debug.(body)))...`(let.((with
a820 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 2c 28 69 66 20 28 73 74 72 69 6e 67 70 20 28 63 -editor--envvar.,(if.(stringp.(c
a840 61 72 20 62 6f 64 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 ar.body)).......................
a860 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 70 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 .............(pop.body).........
a880 20 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 6f 72 20 77 69 .........................'(or.wi
a8a0 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 22 45 44 49 54 4f 52 22 29 29 29 0a 20 20 th-editor--envvar."EDITOR")))...
a8c0 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 6f 63 .......(process-environment.proc
a8e0 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 29 0a 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 ess-environment))......(with-edi
a900 74 6f 72 2d 2d 73 65 74 75 70 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 64 65 66 6d tor--setup)......,@body))..(defm
a920 61 63 72 6f 20 77 69 74 68 2d 65 64 69 74 6f 72 2a 20 28 65 6e 76 76 61 72 20 26 72 65 73 74 20 acro.with-editor*.(envvar.&rest.
a940 62 6f 64 79 29 0a 20 20 22 55 73 65 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 20 body)..."Use.the.Emacsclient.as.
a960 74 68 65 20 65 64 69 74 6f 72 20 77 68 69 6c 65 20 65 76 61 6c 75 61 74 69 6e 67 20 42 4f 44 59 the.editor.while.evaluating.BODY
a980 2e 0a 4d 6f 64 69 66 79 20 74 68 65 20 60 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e ..Modify.the.`process-environmen
a9a0 74 27 20 66 6f 72 20 70 72 6f 63 65 73 73 65 73 20 73 74 61 72 74 65 64 20 69 6e 20 42 4f 44 59 t'.for.processes.started.in.BODY
a9c0 2c 0a 69 6e 73 74 72 75 63 74 69 6e 67 20 74 68 65 6d 20 74 6f 20 75 73 65 20 74 68 65 20 45 6d ,.instructing.them.to.use.the.Em
a9e0 61 63 73 63 6c 69 65 6e 74 20 61 73 20 65 64 69 74 6f 72 2e 20 20 45 4e 56 56 41 52 20 69 73 20 acsclient.as.editor...ENVVAR.is.
aa00 74 68 65 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 69 73 the.environment.variable.that.is
aa20 20 65 78 70 6f 72 74 65 64 20 74 6f 20 64 6f 20 73 6f 2c 20 69 74 20 69 73 20 65 76 61 6c 75 61 .exported.to.do.so,.it.is.evalua
aa40 74 65 64 0a 61 74 20 72 75 6e 2d 74 69 6d 65 2e 0a 5c 6e 28 66 6e 20 45 4e 56 56 41 52 20 42 4f ted.at.run-time..\n(fn.ENVVAR.BO
aa60 44 59 2e 2e 2e 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e DY...)"...(declare.(indent.defun
aa80 29 20 28 64 65 62 75 67 20 28 73 65 78 70 20 62 6f 64 79 29 29 29 0a 20 20 60 28 6c 65 74 20 28 ).(debug.(sexp.body)))...`(let.(
aaa0 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 2c 65 6e 76 76 61 72 29 0a 20 20 (with-editor--envvar.,envvar)...
aac0 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 6f 63 .......(process-environment.proc
aae0 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 29 0a 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 ess-environment))......(with-edi
ab00 74 6f 72 2d 2d 73 65 74 75 70 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 64 65 66 75 tor--setup)......,@body))..(defu
ab20 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 73 65 74 75 70 20 28 29 0a 20 20 28 69 66 20 28 6f n.with-editor--setup.()...(if.(o
ab40 72 20 28 6e 6f 74 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 r.(not.with-editor-emacsclient-e
ab60 78 65 63 75 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 72 65 6d 6f 74 xecutable)...........(file-remot
ab80 65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 20 20 28 70 e-p.default-directory)).......(p
aba0 75 73 68 20 28 63 6f 6e 63 61 74 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 ush.(concat.with-editor--envvar.
abc0 22 3d 22 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 29 "=".with-editor-sleeping-editor)
abe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 .............process-environment
ac00 29 0a 20 20 20 20 3b 3b 20 4d 61 6b 65 20 73 75 72 65 20 73 65 72 76 65 72 2d 75 73 65 2d 74 63 ).....;;.Make.sure.server-use-tc
ac20 70 27 73 20 76 61 6c 75 65 20 69 73 20 76 61 6c 69 64 2e 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 p's.value.is.valid......(unless.
ac40 28 66 65 61 74 75 72 65 70 20 27 6d 61 6b 65 2d 6e 65 74 77 6f 72 6b 2d 70 72 6f 63 65 73 73 20 (featurep.'make-network-process.
ac60 27 28 3a 66 61 6d 69 6c 79 20 6c 6f 63 61 6c 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 65 '(:family.local)).......(setq.se
ac80 72 76 65 72 2d 75 73 65 2d 74 63 70 20 74 29 29 0a 20 20 20 20 3b 3b 20 4d 61 6b 65 20 73 75 72 rver-use-tcp.t)).....;;.Make.sur
aca0 65 20 74 68 65 20 73 65 72 76 65 72 20 69 73 20 72 75 6e 6e 69 6e 67 2e 0a 20 20 20 20 28 75 6e e.the.server.is.running......(un
acc0 6c 65 73 73 20 28 70 72 6f 63 65 73 73 2d 6c 69 76 65 2d 70 20 73 65 72 76 65 72 2d 70 72 6f 63 less.(process-live-p.server-proc
ace0 65 73 73 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 65 72 76 65 72 2d 72 75 6e 6e 69 6e 67 ess).......(when.(server-running
ad00 2d 70 20 73 65 72 76 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 65 -p.server-name).........(setq.se
ad20 72 76 65 72 2d 6e 61 6d 65 20 28 66 6f 72 6d 61 74 20 22 73 65 72 76 65 72 25 73 22 20 28 65 6d rver-name.(format."server%s".(em
ad40 61 63 73 2d 70 69 64 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 65 72 76 65 72 acs-pid))).........(when.(server
ad60 2d 72 75 6e 6e 69 6e 67 2d 70 20 73 65 72 76 65 72 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 -running-p.server-name).........
ad80 20 20 28 73 65 72 76 65 72 2d 66 6f 72 63 65 2d 64 65 6c 65 74 65 20 73 65 72 76 65 72 2d 6e 61 ..(server-force-delete.server-na
ada0 6d 65 29 29 29 0a 20 20 20 20 20 20 28 73 65 72 76 65 72 2d 73 74 61 72 74 29 29 0a 20 20 20 20 me))).......(server-start)).....
adc0 3b 3b 20 54 65 6c 6c 20 24 45 44 49 54 4f 52 20 74 6f 20 75 73 65 20 74 68 65 20 45 6d 61 63 73 ;;.Tell.$EDITOR.to.use.the.Emacs
ade0 63 6c 69 65 6e 74 2e 0a 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 63 61 74 20 77 69 74 68 2d 65 client......(push.(concat.with-e
ae00 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 22 3d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ditor--envvar."="...............
ae20 20 20 20 20 3b 3b 20 51 75 6f 74 69 6e 67 20 69 73 20 74 68 65 20 72 69 67 68 74 20 74 68 69 6e ....;;.Quoting.is.the.right.thin
ae40 67 20 74 6f 20 64 6f 2e 20 20 41 70 70 6c 69 63 61 74 69 6f 6e 73 20 74 68 61 74 0a 20 20 20 20 g.to.do...Applications.that.....
ae60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 66 61 69 6c 20 62 65 63 61 75 73 65 20 6f 66 ..............;;.fail.because.of
ae80 20 74 68 61 74 2c 20 61 72 65 20 74 68 65 20 6f 6e 65 73 20 74 68 61 74 20 6e 65 65 64 20 66 69 .that,.are.the.ones.that.need.fi
aea0 78 69 6e 67 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 65 2e 67 2e 2c xing,...................;;.e.g.,
aec0 20 62 79 20 75 73 69 6e 67 20 27 65 76 61 6c 20 22 24 45 44 49 54 4f 52 22 20 66 69 6c 65 27 2e .by.using.'eval."$EDITOR".file'.
aee0 20 20 53 65 65 20 23 31 32 31 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ..See.#121....................(s
af00 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 hell-quote-argument.............
af20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 75 73 65 72 73 20 73 65 74 20 74 68 65 20 65 78 65 63 75 .......;;.If.users.set.the.execu
af40 74 61 62 6c 65 20 6d 61 6e 75 61 6c 6c 79 2c 20 74 68 65 79 20 6d 69 67 68 74 0a 20 20 20 20 20 table.manually,.they.might......
af60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 67 69 6e 20 74 68 65 20 70 61 74 68 20 ..............;;.begin.the.path.
af80 77 69 74 68 20 22 7e 22 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 20 67 65 74 20 71 75 6f 74 65 64 with."~",.which.would.get.quoted
afa0 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 .....................(if.(string
afc0 2d 70 72 65 66 69 78 2d 70 20 22 7e 22 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 -prefix-p."~".with-editor-emacsc
afe0 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lient-executable)...............
b000 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 .........(concat.(expand-file-na
b020 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 20 20 20 20 me."~").........................
b040 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d .......(substring.with-editor-em
b060 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 20 31 29 29 0a 20 20 20 20 20 20 20 acsclient-executable.1))........
b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 ..............with-editor-emacsc
b0a0 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 lient-executable))..............
b0c0 20 20 20 20 20 3b 3b 20 54 65 6c 6c 20 74 68 65 20 70 72 6f 63 65 73 73 20 77 68 65 72 65 20 74 .....;;.Tell.the.process.where.t
b0e0 68 65 20 73 65 72 76 65 72 20 66 69 6c 65 20 69 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 he.server.file.is...............
b100 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 73 65 72 76 65 72 2d 75 73 65 2d 74 63 70 29 0a 20 .....(and.(not.server-use-tcp)..
b120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 20 ......................(concat.".
b140 2d 2d 73 6f 63 6b 65 74 2d 6e 61 6d 65 3d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 --socket-name=".................
b160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 ...............(shell-quote-argu
b180 6d 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 ment............................
b1a0 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 65 72 76 65 72 2d 6e 61 .....(expand-file-name.server-na
b1c0 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 20 20 me..............................
b1e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 72 76 65 72 2d 73 6f 63 6b .....................server-sock
b200 65 74 2d 64 69 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2d 65 6e et-dir)))))...........process-en
b220 76 69 72 6f 6e 6d 65 6e 74 29 0a 20 20 20 20 28 77 68 65 6e 20 73 65 72 76 65 72 2d 75 73 65 2d vironment).....(when.server-use-
b240 74 63 70 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 63 61 74 20 22 45 4d 41 43 53 5f 53 tcp.......(push.(concat."EMACS_S
b260 45 52 56 45 52 5f 46 49 4c 45 3d 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ERVER_FILE="....................
b280 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 73 65 72 76 65 72 2d 6e 61 6d 65 20 73 .(expand-file-name.server-name.s
b2a0 65 72 76 65 72 2d 61 75 74 68 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f erver-auth-dir)).............pro
b2c0 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 29 0a 20 20 20 20 3b 3b 20 41 73 20 6c 61 73 cess-environment)).....;;.As.las
b2e0 74 20 72 65 73 6f 72 74 20 66 61 6c 6c 62 61 63 6b 20 74 6f 20 74 68 65 20 73 6c 65 65 70 69 6e t.resort.fallback.to.the.sleepin
b300 67 20 65 64 69 74 6f 72 2e 0a 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 63 61 74 20 22 41 4c 54 g.editor......(push.(concat."ALT
b320 45 52 4e 41 54 45 5f 45 44 49 54 4f 52 3d 22 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 ERNATE_EDITOR=".with-editor-slee
b340 70 69 6e 67 2d 65 64 69 74 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 70 72 6f 63 65 73 73 2d 65 ping-editor)...........process-e
b360 6e 76 69 72 6f 6e 6d 65 6e 74 29 29 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f nvironment)))..(defun.with-edito
b380 72 2d 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 20 28 29 0a 20 20 28 6f 72 20 28 61 6e 64 20 62 75 r-server-window.()...(or.(and.bu
b3a0 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 ffer-file-name............(cdr.(
b3c0 63 6c 2d 66 69 6e 64 2d 69 66 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 73 29 0a 20 20 20 20 20 20 cl-find-if.(lambda.(cons).......
b3e0 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 2d ........................(string-
b400 6d 61 74 63 68 2d 70 20 28 63 61 72 20 63 6f 6e 73 29 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e match-p.(car.cons).buffer-file-n
b420 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 20 20 20 20 20 20 ame))...........................
b440 20 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 2d 61 6c 69 73 ..with-editor-server-window-alis
b460 74 29 29 29 0a 20 20 20 20 20 20 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 29 29 0a 0a 28 64 65 66 t))).......server-window))..(def
b480 69 6e 65 2d 61 64 76 69 63 65 20 73 65 72 76 65 72 2d 73 77 69 74 63 68 2d 62 75 66 66 65 72 0a ine-advice.server-switch-buffer.
b4a0 20 20 20 20 28 3a 61 72 6f 75 6e 64 20 28 66 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 6e 65 78 74 2d ....(:around.(fn.&optional.next-
b4c0 62 75 66 66 65 72 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 buffer.&rest.args)..............
b4e0 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 2d 61 6c 69 73 74 29 with-editor-server-window-alist)
b500 0a 20 20 22 48 6f 6e 6f 72 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 65 72 76 65 72 2d 77 69 ..."Honor.`with-editor-server-wi
b520 6e 64 6f 77 2d 61 6c 69 73 74 27 20 28 77 68 69 63 68 20 73 65 65 29 2e 22 0a 20 20 28 6c 65 74 ndow-alist'.(which.see)."...(let
b540 20 28 28 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 .((server-window.(with-current-b
b560 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 20 20 20 20 uffer...........................
b580 20 28 6f 72 20 6e 65 78 74 2d 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 .(or.next-buffer.(current-buffer
b5a0 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 28 77 68 65 ))..........................(whe
b5c0 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 n.with-editor-mode..............
b5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 77 69 74 68 2d 65 64 69 74 6f 72 2d ..............(setq.with-editor-
b600 70 72 65 76 69 6f 75 73 2d 77 69 6e 63 6f 6e 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 previous-winconf................
b620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f ..................(current-windo
b640 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 w-configuration)))..............
b660 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 65 72 76 65 72 2d ............(with-editor-server-
b680 77 69 6e 64 6f 77 29 29 29 29 0a 20 20 20 20 28 61 70 70 6c 79 20 66 6e 20 6e 65 78 74 2d 62 75 window)))).....(apply.fn.next-bu
b6a0 66 66 65 72 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 61 64 76 69 63 65 20 73 74 61 ffer.args)))..(define-advice.sta
b6c0 72 74 2d 66 69 6c 65 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 28 3a 61 72 6f 75 6e 64 20 28 66 6e rt-file-process.....(:around.(fn
b6e0 20 6e 61 6d 65 20 62 75 66 66 65 72 20 70 72 6f 67 72 61 6d 20 26 72 65 73 74 20 70 72 6f 67 72 .name.buffer.program.&rest.progr
b700 61 6d 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 65 64 69 74 6f am-args)..............with-edito
b720 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 29 0a 20 20 22 57 68 65 6e 20 63 61 6c 6c 65 64 r-process-filter)..."When.called
b740 20 69 6e 73 69 64 65 20 61 20 60 77 69 74 68 2d 65 64 69 74 6f 72 27 20 66 6f 72 6d 20 61 6e 64 .inside.a.`with-editor'.form.and
b760 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 0a 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 2c .the.Emacsclient.cannot.be.used,
b780 20 74 68 65 6e 20 67 69 76 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 68 65 20 66 69 6c 74 65 .then.give.the.process.the.filte
b7a0 72 20 66 75 6e 63 74 69 6f 6e 0a 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d r.function.`with-editor-process-
b7c0 66 69 6c 74 65 72 27 2e 20 20 54 6f 20 61 76 6f 69 64 20 6f 76 65 72 72 69 64 69 6e 67 20 74 68 filter'...To.avoid.overriding.th
b7e0 65 20 66 69 6c 74 65 72 0a 62 65 69 6e 67 20 61 64 64 65 64 20 68 65 72 65 20 79 6f 75 20 73 68 e.filter.being.added.here.you.sh
b800 6f 75 6c 64 20 75 73 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 65 74 2d 70 72 6f 63 65 73 ould.use.`with-editor-set-proces
b820 73 2d 66 69 6c 74 65 72 27 0a 69 6e 73 74 65 61 64 20 6f 66 20 60 73 65 74 2d 70 72 6f 63 65 73 s-filter'.instead.of.`set-proces
b840 73 2d 66 69 6c 74 65 72 27 20 69 6e 73 69 64 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 27 20 66 s-filter'.inside.`with-editor'.f
b860 6f 72 6d 73 2e 0a 0a 57 68 65 6e 20 74 68 65 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f orms...When.the.`default-directo
b880 72 79 27 20 69 73 20 6c 6f 63 61 74 65 64 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 6d 61 63 68 69 ry'.is.located.on.a.remote.machi
b8a0 6e 65 2c 0a 74 68 65 6e 20 61 6c 73 6f 20 6d 61 6e 69 70 75 6c 61 74 65 20 50 52 4f 47 52 41 4d ne,.then.also.manipulate.PROGRAM
b8c0 20 61 6e 64 20 50 52 4f 47 52 41 4d 2d 41 52 47 53 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 73 65 .and.PROGRAM-ARGS.in.order.to.se
b8e0 74 0a 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 65 64 69 74 6f 72 20 65 6e 76 69 72 6f 6e t.the.appropriate.editor.environ
b900 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 69 66 20 28 6e 6f 74 20 77 69 74 68 2d ment.variable."...(if.(not.with-
b920 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 66 6e 20 editor--envvar).......(apply.fn.
b940 6e 61 6d 65 20 62 75 66 66 65 72 20 70 72 6f 67 72 61 6d 20 70 72 6f 67 72 61 6d 2d 61 72 67 73 name.buffer.program.program-args
b960 29 0a 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 65 66 61 75 ).....(when.(file-remote-p.defau
b980 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 lt-directory).......(unless.(equ
b9a0 61 6c 20 70 72 6f 67 72 61 6d 20 22 65 6e 76 22 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 al.program."env").........(push.
b9c0 70 72 6f 67 72 61 6d 20 70 72 6f 67 72 61 6d 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 73 program.program-args).........(s
b9e0 65 74 71 20 70 72 6f 67 72 61 6d 20 22 65 6e 76 22 29 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 etq.program."env")).......(push.
ba00 28 63 6f 6e 63 61 74 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 22 3d 22 20 (concat.with-editor--envvar."=".
ba20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 29 0a 20 20 20 with-editor-sleeping-editor)....
ba40 20 20 20 20 20 20 20 20 20 70 72 6f 67 72 61 6d 2d 61 72 67 73 29 29 0a 20 20 20 20 28 6c 65 74 .........program-args)).....(let
ba60 20 28 28 70 72 6f 63 65 73 73 20 28 61 70 70 6c 79 20 66 6e 20 6e 61 6d 65 20 62 75 66 66 65 72 .((process.(apply.fn.name.buffer
ba80 20 70 72 6f 67 72 61 6d 20 70 72 6f 67 72 61 6d 2d 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 28 .program.program-args))).......(
baa0 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 20 23 27 77 69 74 set-process-filter.process.#'wit
bac0 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 28 h-editor-process-filter).......(
bae0 70 72 6f 63 65 73 73 2d 70 75 74 20 70 72 6f 63 65 73 73 20 27 64 65 66 61 75 6c 74 2d 64 69 72 process-put.process.'default-dir
bb00 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 70 72 6f 63 65 73 .default-directory).......proces
bb20 73 29 29 29 0a 0a 28 61 64 76 69 63 65 2d 61 64 64 20 23 27 6d 61 6b 65 2d 70 72 6f 63 65 73 73 s)))..(advice-add.#'make-process
bb40 20 3a 61 72 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 23 27 6d 61 6b 65 2d 70 72 6f 63 .:around.............#'make-proc
bb60 65 73 73 40 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 29 0a ess@with-editor-process-filter).
bb80 28 63 6c 2d 64 65 66 75 6e 20 6d 61 6b 65 2d 70 72 6f 63 65 73 73 40 77 69 74 68 2d 65 64 69 74 (cl-defun.make-process@with-edit
bba0 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 0a 20 20 20 20 28 66 6e 20 26 72 65 73 74 20 or-process-filter.....(fn.&rest.
bbc0 6b 65 79 73 20 26 6b 65 79 20 6e 61 6d 65 20 62 75 66 66 65 72 20 63 6f 6d 6d 61 6e 64 20 63 6f keys.&key.name.buffer.command.co
bbe0 64 69 6e 67 20 6e 6f 71 75 65 72 79 20 73 74 6f 70 0a 20 20 20 20 20 20 20 20 63 6f 6e 6e 65 63 ding.noquery.stop.........connec
bc00 74 69 6f 6e 2d 74 79 70 65 20 66 69 6c 74 65 72 20 73 65 6e 74 69 6e 65 6c 20 73 74 64 65 72 72 tion-type.filter.sentinel.stderr
bc20 20 66 69 6c 65 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 26 61 6c 6c 6f 77 2d 6f 74 68 .file-handler.........&allow-oth
bc40 65 72 2d 6b 65 79 73 29 0a 20 20 22 57 68 65 6e 20 63 61 6c 6c 65 64 20 69 6e 73 69 64 65 20 61 er-keys)..."When.called.inside.a
bc60 20 60 77 69 74 68 2d 65 64 69 74 6f 72 27 20 66 6f 72 6d 20 61 6e 64 20 74 68 65 20 45 6d 61 63 .`with-editor'.form.and.the.Emac
bc80 73 63 6c 69 65 6e 74 0a 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 2c 20 74 68 65 6e 20 67 69 76 sclient.cannot.be.used,.then.giv
bca0 65 20 74 68 65 20 70 72 6f 63 65 73 73 20 74 68 65 20 66 69 6c 74 65 72 20 66 75 6e 63 74 69 6f e.the.process.the.filter.functio
bcc0 6e 0a 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 27 2e 20 n.`with-editor-process-filter'..
bce0 20 54 6f 20 61 76 6f 69 64 20 6f 76 65 72 72 69 64 69 6e 67 20 74 68 65 20 66 69 6c 74 65 72 0a .To.avoid.overriding.the.filter.
bd00 62 65 69 6e 67 20 61 64 64 65 64 20 68 65 72 65 20 79 6f 75 20 73 68 6f 75 6c 64 20 75 73 65 20 being.added.here.you.should.use.
bd20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 27 `with-editor-set-process-filter'
bd40 0a 69 6e 73 74 65 61 64 20 6f 66 20 60 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 27 .instead.of.`set-process-filter'
bd60 20 69 6e 73 69 64 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 27 20 66 6f 72 6d 73 2e 0a 0a 57 68 .inside.`with-editor'.forms...Wh
bd80 65 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 20 69 73 20 6c 6f en.the.`default-directory'.is.lo
bda0 63 61 74 65 64 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 6d 61 63 68 69 6e 65 20 61 6e 64 0a 46 49 cated.on.a.remote.machine.and.FI
bdc0 4c 45 2d 48 41 4e 44 4c 45 52 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e 20 61 6c 73 6f LE-HANDLER.is.non-nil,.then.also
bde0 20 6d 61 6e 69 70 75 6c 61 74 65 20 43 4f 4d 4d 41 4e 44 20 69 6e 20 6f 72 64 65 72 0a 74 6f 20 .manipulate.COMMAND.in.order.to.
be00 73 65 74 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 65 64 69 74 6f 72 20 65 6e 76 69 72 set.the.appropriate.editor.envir
be20 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 2e 22 0a 20 20 28 69 66 20 28 6f 72 20 28 6e 6f 74 onment.variable."...(if.(or.(not
be40 20 66 69 6c 65 2d 68 61 6e 64 6c 65 72 29 20 28 6e 6f 74 20 77 69 74 68 2d 65 64 69 74 6f 72 2d .file-handler).(not.with-editor-
be60 2d 65 6e 76 76 61 72 29 29 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 66 6e 20 6b 65 79 73 29 0a -envvar)).......(apply.fn.keys).
be80 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 65 66 61 75 6c 74 ....(when.(file-remote-p.default
bea0 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 75 61 6c -directory).......(unless.(equal
bec0 20 28 63 61 72 20 63 6f 6d 6d 61 6e 64 29 20 22 65 6e 76 22 29 0a 20 20 20 20 20 20 20 20 28 70 .(car.command)."env").........(p
bee0 75 73 68 20 22 65 6e 76 22 20 63 6f 6d 6d 61 6e 64 29 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 ush."env".command)).......(push.
bf00 28 63 6f 6e 63 61 74 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 22 3d 22 20 (concat.with-editor--envvar."=".
bf20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 29 0a 20 20 20 with-editor-sleeping-editor)....
bf40 20 20 20 20 20 20 20 20 20 28 63 64 72 20 63 6f 6d 6d 61 6e 64 29 29 29 0a 20 20 20 20 28 6c 65 .........(cdr.command))).....(le
bf60 74 2a 20 28 28 66 69 6c 74 65 72 20 28 69 66 20 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 t*.((filter.(if.filter..........
bf80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 63 65 73 73 20 6f ..............(lambda.(process.o
bfa0 75 74 70 75 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 20 utput)..........................
bfc0 28 66 75 6e 63 61 6c 6c 20 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 20 6f 75 74 70 75 74 29 0a (funcall.filter.process.output).
bfe0 20 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 69 74 68 2d 65 .........................(with-e
c000 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 20 6f 75 74 ditor-process-filter.process.out
c020 70 75 74 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 23 27 77 put.t))......................#'w
c040 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 29 29 0a 20 20 20 20 ith-editor-process-filter)).....
c060 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 20 28 66 75 6e 63 61 6c 6c 20 66 6e 0a 20 20 20 20 .......(process.(funcall.fn.....
c080 20 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 6e 61 6d 65 20 6e .........................:name.n
c0a0 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 20 ame.............................
c0c0 20 3a 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 .:buffer.buffer.................
c0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 0a 20 20 .............:command.command...
c100 20 20 20 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 63 6f 64 69 ...........................:codi
c120 6e 67 20 63 6f 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.coding.......................
c140 20 20 20 20 20 20 20 3a 6e 6f 71 75 65 72 79 20 6e 6f 71 75 65 72 79 0a 20 20 20 20 20 20 20 20 .......:noquery.noquery.........
c160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 73 74 6f 70 20 73 74 6f 70 0a .....................:stop.stop.
c180 20 20 20 20 20 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 63 6f .............................:co
c1a0 6e 6e 65 63 74 69 6f 6e 2d 74 79 70 65 20 63 6f 6e 6e 65 63 74 69 6f 6e 2d 74 79 70 65 0a 20 20 nnection-type.connection-type...
c1c0 20 20 20 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 74 ...........................:filt
c1e0 65 72 20 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 20 20 20 er.filter.......................
c200 20 20 20 20 20 20 20 3a 73 65 6e 74 69 6e 65 6c 20 73 65 6e 74 69 6e 65 6c 0a 20 20 20 20 20 20 .......:sentinel.sentinel.......
c220 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 74 64 65 72 72 20 73 .......................:stderr.s
c240 74 64 65 72 72 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 tderr...........................
c260 20 20 20 3a 66 69 6c 65 2d 68 61 6e 64 6c 65 72 20 66 69 6c 65 2d 68 61 6e 64 6c 65 72 29 29 29 ...:file-handler.file-handler)))
c280 0a 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 70 75 74 20 70 72 6f 63 65 73 73 20 27 64 65 66 .......(process-put.process.'def
c2a0 61 75 6c 74 2d 64 69 72 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 ault-dir.default-directory).....
c2c0 20 20 70 72 6f 63 65 73 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 ..process)))..(defun.with-editor
c2e0 2d 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 28 70 72 6f 63 65 73 73 20 66 69 6c -set-process-filter.(process.fil
c300 74 65 72 29 0a 20 20 22 4c 69 6b 65 20 60 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 ter)..."Like.`set-process-filter
c320 27 20 62 75 74 20 6b 65 65 70 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d '.but.keep.`with-editor-process-
c340 66 69 6c 74 65 72 27 2e 0a 47 69 76 65 20 50 52 4f 43 45 53 53 20 74 68 65 20 6e 65 77 20 46 49 filter'..Give.PROCESS.the.new.FI
c360 4c 54 45 52 20 62 75 74 20 6b 65 65 70 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 LTER.but.keep.`with-editor-proce
c380 73 73 2d 66 69 6c 74 65 72 27 0a 69 66 20 74 68 61 74 20 77 61 73 20 61 64 64 65 64 20 65 61 72 ss-filter'.if.that.was.added.ear
c3a0 6c 69 65 72 20 62 79 20 74 68 65 20 61 64 76 69 73 65 64 20 60 73 74 61 72 74 2d 66 69 6c 65 2d lier.by.the.advised.`start-file-
c3c0 70 72 6f 63 65 73 73 27 2e 0a 0a 44 6f 20 73 6f 20 62 79 20 77 72 61 70 70 69 6e 67 20 74 68 65 process'...Do.so.by.wrapping.the
c3e0 20 74 77 6f 20 66 69 6c 74 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 69 6e 67 20 61 20 6c 61 .two.filter.functions.using.a.la
c400 6d 62 64 61 2c 20 77 68 69 63 68 0a 62 65 63 6f 6d 65 73 20 74 68 65 20 61 63 74 75 61 6c 20 66 mbda,.which.becomes.the.actual.f
c420 69 6c 74 65 72 2e 20 20 49 74 20 63 61 6c 6c 73 20 46 49 4c 54 45 52 20 66 69 72 73 74 2c 20 77 ilter...It.calls.FILTER.first,.w
c440 68 69 63 68 20 6d 61 79 20 6f 72 0a 6d 61 79 20 6e 6f 74 20 69 6e 73 65 72 74 20 74 68 65 20 74 hich.may.or.may.not.insert.the.t
c460 65 78 74 20 69 6e 74 6f 20 74 68 65 20 50 52 4f 43 45 53 53 27 73 20 62 75 66 66 65 72 2e 20 20 ext.into.the.PROCESS's.buffer...
c480 54 68 65 6e 20 69 74 20 63 61 6c 6c 73 0a 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 Then.it.calls.`with-editor-proce
c4a0 73 73 2d 66 69 6c 74 65 72 27 2c 20 70 61 73 73 69 6e 67 20 74 20 61 73 20 4e 4f 2d 53 54 41 4e ss-filter',.passing.t.as.NO-STAN
c4c0 44 41 52 44 2d 46 49 4c 54 45 52 2e 22 0a 20 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c DARD-FILTER."...(set-process-fil
c4e0 74 65 72 0a 20 20 20 70 72 6f 63 65 73 73 0a 20 20 20 28 69 66 20 28 65 71 20 28 70 72 6f 63 65 ter....process....(if.(eq.(proce
c500 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 29 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d ss-filter.process).'with-editor-
c520 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 20 20 20 60 28 6c 61 6d 62 64 61 20 process-filter)........`(lambda.
c540 28 70 72 6f 63 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 2c 66 69 6c 74 65 72 20 70 72 (proc.str)...........(,filter.pr
c560 6f 63 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 oc.str)...........(with-editor-p
c580 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 20 73 74 72 20 74 29 29 0a 20 20 20 20 20 rocess-filter.proc.str.t))......
c5a0 66 69 6c 74 65 72 29 29 29 0a 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 filter)))..(defvar.with-editor-f
c5c0 69 6c 74 65 72 2d 76 69 73 69 74 2d 68 6f 6f 6b 20 6e 69 6c 29 0a 0a 28 64 65 66 63 6f 6e 73 74 ilter-visit-hook.nil)..(defconst
c5e0 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 2d 72 65 67 .with-editor-sleeping-editor-reg
c600 65 78 70 20 22 5e 5c 0a 57 49 54 48 2d 45 44 49 54 4f 52 3a 20 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c exp."^\.WITH-EDITOR:.\\([0-9]+\\
c620 29 20 5c 0a 4f 50 45 4e 20 5c 5c 28 5b 5e 1f 5d 2b 3f 5c 5c 29 5c 0a 5c 5c 28 3f 3a 1f 5c 5c 28 ).\.OPEN.\\([^.]+?\\)\.\\(?:.\\(
c640 5b 5e 1f 5d 2a 5c 5c 29 5c 5c 29 3f 5c 0a 5c 5c 28 3f 3a 1f 20 49 4e 20 5c 5c 28 5b 5e 5c 72 5d [^.]*\\)\\)?\.\\(?:..IN.\\([^\r]
c660 2b 3f 5c 5c 29 5c 5c 29 3f 5c 72 3f 24 22 29 0a 0a 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 +?\\)\\)?\r?$")..(defvar.with-ed
c680 69 74 6f 72 2d 2d 6d 61 78 2d 69 6e 63 6f 6d 70 6c 65 74 65 2d 6c 65 6e 67 74 68 20 31 30 30 30 itor--max-incomplete-length.1000
c6a0 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 )..(defun.with-editor-sleeping-e
c6c0 64 69 74 6f 72 2d 66 69 6c 74 65 72 20 28 70 72 6f 63 65 73 73 20 73 74 72 69 6e 67 29 0a 20 20 ditor-filter.(process.string)...
c6e0 28 77 68 65 6e 2d 6c 65 74 20 28 28 69 6e 63 6f 6d 70 6c 65 74 65 20 28 61 6e 64 20 70 72 6f 63 (when-let.((incomplete.(and.proc
c700 65 73 73 20 28 70 72 6f 63 65 73 73 2d 67 65 74 20 70 72 6f 63 65 73 73 20 27 69 6e 63 6f 6d 70 ess.(process-get.process.'incomp
c720 6c 65 74 65 29 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 72 69 6e 67 20 28 63 6f 6e 63 61 lete)))).....(setq.string.(conca
c740 74 20 69 6e 63 6f 6d 70 6c 65 74 65 20 73 74 72 69 6e 67 29 29 29 0a 20 20 28 73 61 76 65 2d 6d t.incomplete.string)))...(save-m
c760 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 61 6e 64 20 70 atch-data.....(cond......((and.p
c780 72 6f 63 65 73 73 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 22 5c 6e rocess.(not.(string-suffix-p."\n
c7a0 22 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 ".string))).......(let.((length.
c7c0 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 (length.string))).........(when.
c7e0 28 3e 20 6c 65 6e 67 74 68 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 6d 61 78 2d 69 6e 63 6f 6d (>.length.with-editor--max-incom
c800 70 6c 65 74 65 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 plete-length)...........(setq.st
c820 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 ring.................(substring.
c840 73 74 72 69 6e 67 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 string..........................
c860 20 20 28 2d 20 6c 65 6e 67 74 68 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 6d 61 78 2d 69 6e 63 ..(-.length.with-editor--max-inc
c880 6f 6d 70 6c 65 74 65 2d 6c 65 6e 67 74 68 29 29 29 29 29 0a 20 20 20 20 20 20 28 70 72 6f 63 65 omplete-length))))).......(proce
c8a0 73 73 2d 70 75 74 20 70 72 6f 63 65 73 73 20 27 69 6e 63 6f 6d 70 6c 65 74 65 20 73 74 72 69 6e ss-put.process.'incomplete.strin
c8c0 67 29 0a 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 g).......nil)......((string-matc
c8e0 68 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 2d 72 65 h.with-editor-sleeping-editor-re
c900 67 65 78 70 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 70 72 6f 63 65 73 73 gexp.string).......(when.process
c920 0a 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 70 75 74 20 70 72 6f 63 65 73 73 20 27 69 .........(process-put.process.'i
c940 6e 63 6f 6d 70 6c 65 74 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 69 64 ncomplete.nil)).......(let.((pid
c960 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 ..(match-string.1.string))......
c980 20 20 20 20 20 20 20 28 61 72 67 30 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 73 74 72 .......(arg0.(match-string.2.str
c9a0 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 67 31 20 28 6d 61 74 63 68 2d 73 ing)).............(arg1.(match-s
c9c0 74 72 69 6e 67 20 33 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 69 tring.3.string)).............(di
c9e0 72 20 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 34 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 r..(match-string.4.string)).....
ca00 20 20 20 20 20 20 20 20 66 69 6c 65 20 6c 69 6e 65 20 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 ........file.line.column).......
ca20 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 5c 60 5c 5c 2b 5c 5c ..(cond.((string-match."\\`\\+\\
ca40 28 5b 30 2d 39 5d 2b 5c 5c 29 5c 5c 28 3f 3a 3a 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c 29 5c 5c 29 3f ([0-9]+\\)\\(?::\\([0-9]+\\)\\)?
ca60 5c 5c 27 22 20 61 72 67 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 \\'".arg0)................(setq.
ca80 66 69 6c 65 20 61 72 67 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 file.arg1)................(setq.
caa0 6c 69 6e 65 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 line.(string-to-number.(match-st
cac0 72 69 6e 67 20 31 20 61 72 67 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 ring.1.arg0)))................(s
cae0 65 74 71 20 63 6f 6c 75 6d 6e 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 61 72 67 30 29 etq.column.(match-string.2.arg0)
cb00 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 63 6f 6c 75 6d 6e 20 28 61 )................(setq.column.(a
cb20 6e 64 20 63 6f 6c 75 6d 6e 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 63 6f 6c 75 nd.column.(string-to-number.colu
cb40 6d 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 65 74 71 20 66 69 6c 65 mn))))...............((setq.file
cb60 20 61 72 67 30 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 69 6c 65 2d 6e .arg0))).........(unless.(file-n
cb80 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 ame-absolute-p.file)...........(
cba0 73 65 74 71 20 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 setq.file.(expand-file-name.file
cbc0 20 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 64 65 66 61 75 6c 74 2d 64 69 .dir))).........(when.default-di
cbe0 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 20 28 63 6f rectory...........(setq.file.(co
cc00 6e 63 61 74 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 ncat.(file-remote-p.default-dire
cc20 63 74 6f 72 79 29 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 ctory).file))).........(with-cur
cc40 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 20 rent-buffer.(find-file-noselect.
cc60 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 file)...........(with-editor-mod
cc80 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 77 69 74 68 2d 65 64 69 74 6f 72 e.1)...........(setq.with-editor
cca0 2d 2d 70 69 64 20 70 69 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 77 69 74 68 2d --pid.pid)...........(setq.with-
ccc0 65 64 69 74 6f 72 2d 70 72 65 76 69 6f 75 73 2d 77 69 6e 63 6f 6e 66 0a 20 20 20 20 20 20 20 20 editor-previous-winconf.........
cce0 20 20 20 20 20 20 20 20 28 63 75 72 72 65 6e 74 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 ........(current-window-configur
cd00 61 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6c 69 6e 65 0a 20 20 20 ation))...........(when.line....
cd20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 6f 73 20 28 73 61 76 65 2d 65 78 63 75 72 73 .........(let.((pos.(save-excurs
cd40 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 28 73 61 ion..........................(sa
cd60 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ve-restriction..................
cd80 20 20 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 ..........(goto-char.(point-min)
cda0 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 6f )............................(fo
cdc0 72 77 61 72 64 2d 6c 69 6e 65 20 28 31 2d 20 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 rward-line.(1-.line))...........
cde0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 6f 6c 75 6d 6e 0a 20 20 .................(when.column...
ce00 20 20 20 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 6f 76 65 ...........................(move
ce20 2d 74 6f 2d 63 6f 6c 75 6d 6e 20 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -to-column.column)).............
ce40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 29 29 29 29 0a 20 20 20 20 20 ...............(point)))))......
ce60 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 62 75 66 66 65 72 2d 6e 61 72 72 .........(when.(and.(buffer-narr
ce80 6f 77 65 64 2d 70 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 owed-p).........................
cea0 20 77 69 64 65 6e 2d 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 .widen-automatically............
cec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 3c 3d 20 28 70 6f 69 6e 74 2d 6d 69 ..............(not.(<=.(point-mi
cee0 6e 29 20 70 6f 73 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 n).pos.(point-max))))...........
cf00 20 20 20 20 20 20 28 77 69 64 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f ......(widen))...............(go
cf20 74 6f 2d 63 68 61 72 20 70 6f 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 2d 68 6f to-char.pos)))...........(run-ho
cf40 6f 6b 73 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 69 6c 74 65 72 2d 76 69 73 69 74 2d 68 6f oks.'with-editor-filter-visit-ho
cf60 6f 6b 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 6f 72 20 28 77 69 74 68 ok)...........(funcall.(or.(with
cf80 2d 65 64 69 74 6f 72 2d 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 29 20 23 27 73 77 69 74 63 68 2d -editor-server-window).#'switch-
cfa0 74 6f 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 28 63 to-buffer)....................(c
cfc0 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 20 28 6b 69 6c 6c 2d urrent-buffer))...........(kill-
cfe0 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 27 73 65 72 76 65 72 2d 77 69 6e 64 6f 77 29 29 29 local-variable.'server-window)))
d000 0a 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 28 74 20 73 74 72 69 6e 67 29 29 29 29 0a 0a .......nil)......(t.string))))..
d020 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 (defun.with-editor-process-filte
d040 72 0a 20 20 20 20 28 70 72 6f 63 65 73 73 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 r.....(process.string.&optional.
d060 6e 6f 2d 64 65 66 61 75 6c 74 2d 66 69 6c 74 65 72 29 0a 20 20 22 4c 69 73 74 65 6e 20 66 6f 72 no-default-filter)..."Listen.for
d080 20 65 64 69 74 20 72 65 71 75 65 73 74 73 20 62 79 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 .edit.requests.by.child.processe
d0a0 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 28 s."...(let.((default-directory.(
d0c0 70 72 6f 63 65 73 73 2d 67 65 74 20 70 72 6f 63 65 73 73 20 27 64 65 66 61 75 6c 74 2d 64 69 72 process-get.process.'default-dir
d0e0 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 ))).....(with-editor-sleeping-ed
d100 69 74 6f 72 2d 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 20 73 74 72 69 6e 67 29 29 0a 20 20 28 itor-filter.process.string))...(
d120 75 6e 6c 65 73 73 20 6e 6f 2d 64 65 66 61 75 6c 74 2d 66 69 6c 74 65 72 0a 20 20 20 20 28 69 6e unless.no-default-filter.....(in
d140 74 65 72 6e 61 6c 2d 64 65 66 61 75 6c 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 ternal-default-process-filter.pr
d160 6f 63 65 73 73 20 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d 61 64 76 69 63 65 20 ocess.string)))..(define-advice.
d180 73 65 72 76 65 72 2d 76 69 73 69 74 2d 66 69 6c 65 73 0a 20 20 20 20 28 3a 61 66 74 65 72 20 28 server-visit-files.....(:after.(
d1a0 66 69 6c 65 73 20 5f 70 72 6f 63 20 26 6f 70 74 69 6f 6e 61 6c 20 5f 6e 6f 77 61 69 74 29 0a 20 files._proc.&optional._nowait)..
d1c0 20 20 20 20 20 20 20 20 20 20 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 69 6c 65 2d 6e 61 6d 65 ...........with-editor-file-name
d1e0 2d 68 69 73 74 6f 72 79 2d 65 78 63 6c 75 64 65 29 0a 20 20 22 50 72 65 76 65 6e 74 20 63 65 72 -history-exclude)..."Prevent.cer
d200 74 61 69 6e 20 66 69 6c 65 73 20 66 72 6f 6d 20 62 65 69 6e 67 20 61 64 64 65 64 20 74 6f 20 60 tain.files.from.being.added.to.`
d220 66 69 6c 65 2d 6e 61 6d 65 2d 68 69 73 74 6f 72 79 27 2e 0a 46 69 6c 65 73 20 6d 61 74 63 68 69 file-name-history'..Files.matchi
d240 6e 67 20 61 20 72 65 67 65 78 70 20 69 6e 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 69 6c 65 ng.a.regexp.in.`with-editor-file
d260 2d 6e 61 6d 65 2d 68 69 73 74 6f 72 79 2d 65 78 63 6c 75 64 65 27 0a 61 72 65 20 70 72 65 76 65 -name-history-exclude'.are.preve
d280 6e 74 65 64 20 66 72 6f 6d 20 62 65 69 6e 67 20 61 64 64 65 64 20 74 6f 20 74 68 61 74 20 6c 69 nted.from.being.added.to.that.li
d2a0 73 74 2e 22 0a 20 20 28 70 63 61 73 65 2d 64 6f 6c 69 73 74 20 28 60 28 2c 66 69 6c 65 20 2e 20 st."...(pcase-dolist.(`(,file...
d2c0 2c 5f 29 20 66 69 6c 65 73 29 0a 20 20 20 20 28 77 68 65 6e 20 28 63 6c 2d 66 69 6e 64 2d 69 66 ,_).files).....(when.(cl-find-if
d2e0 20 28 6c 61 6d 62 64 61 20 28 72 65 67 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(lambda.(regexp)...............
d300 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 72 65 67 65 78 70 ..........(string-match-p.regexp
d320 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 77 69 .file)).......................wi
d340 74 68 2d 65 64 69 74 6f 72 2d 66 69 6c 65 2d 6e 61 6d 65 2d 68 69 73 74 6f 72 79 2d 65 78 63 6c th-editor-file-name-history-excl
d360 75 64 65 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 2d 6e 61 6d 65 2d 68 69 73 74 6f ude).......(setq.file-name-histo
d380 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 20 28 61 62 62 72 65 76 69 61 ry.............(delete.(abbrevia
d3a0 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 20 66 69 6c 65 2d 6e 61 6d 65 2d 68 69 73 te-file-name.file).file-name-his
d3c0 74 6f 72 79 29 29 29 29 29 0a 0a 3b 3b 3b 20 41 75 67 6d 65 6e 74 61 74 69 6f 6e 73 0a 0a 3b 3b tory)))))..;;;.Augmentations..;;
d3e0 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 63 6c 2d 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 ;###autoload.(cl-defun.with-edit
d400 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 28 65 6e 76 or-export-editor.(&optional.(env
d420 76 61 72 20 22 45 44 49 54 4f 52 22 29 29 0a 20 20 22 54 65 61 63 68 20 73 75 62 73 65 71 75 65 var."EDITOR"))..."Teach.subseque
d440 6e 74 20 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 75 73 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 nt.commands.to.use.current.Emacs
d460 20 69 6e 73 74 61 6e 63 65 20 61 73 20 65 64 69 74 6f 72 2e 0a 0a 53 65 74 20 61 6e 64 20 65 78 .instance.as.editor...Set.and.ex
d480 70 6f 72 74 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 45 4e port.the.environment.variable.EN
d4a0 56 56 41 52 2c 20 62 79 20 64 65 66 61 75 6c 74 0a 5c 22 45 44 49 54 4f 52 5c 22 2e 20 20 54 68 VVAR,.by.default.\"EDITOR\"...Th
d4c0 65 20 76 61 6c 75 65 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 e.value.is.automatically.generat
d4e0 65 64 20 74 6f 20 74 65 61 63 68 0a 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 75 73 65 20 74 68 65 20 ed.to.teach.commands.to.use.the.
d500 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 5c 22 74 68 65 20 current.Emacs.instance.as.\"the.
d520 65 64 69 74 6f 72 5c 22 2e 0a 0a 54 68 69 73 20 77 6f 72 6b 73 20 69 6e 20 60 73 68 65 6c 6c 2d editor\"...This.works.in.`shell-
d540 6d 6f 64 65 27 2c 20 60 74 65 72 6d 2d 6d 6f 64 65 27 2c 20 60 65 73 68 65 6c 6c 2d 6d 6f 64 65 mode',.`term-mode',.`eshell-mode
d560 27 20 61 6e 64 0a 60 76 74 65 72 6d 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 '.and.`vterm'."...(interactive.(
d580 6c 69 73 74 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 72 65 61 64 2d 65 6e 76 76 61 72 29 29 29 list.(with-editor-read-envvar)))
d5a0 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 63 6f ...(cond....((derived-mode-p.'co
d5c0 6d 69 6e 74 2d 6d 6f 64 65 20 27 74 65 72 6d 2d 6d 6f 64 65 29 0a 20 20 20 20 28 77 68 65 6e 2d mint-mode.'term-mode).....(when-
d5e0 6c 65 74 20 28 28 70 72 6f 63 65 73 73 20 28 67 65 74 2d 62 75 66 66 65 72 2d 70 72 6f 63 65 73 let.((process.(get-buffer-proces
d600 73 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 s.(current-buffer)))).......(got
d620 6f 2d 63 68 61 72 20 28 70 72 6f 63 65 73 73 2d 6d 61 72 6b 20 70 72 6f 63 65 73 73 29 29 0a 20 o-char.(process-mark.process))..
d640 20 20 20 20 20 28 70 72 6f 63 65 73 73 2d 73 65 6e 64 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 20 .....(process-send-string.......
d660 20 70 72 6f 63 65 73 73 20 28 66 6f 72 6d 61 74 20 22 20 65 78 70 6f 72 74 20 25 73 3d 25 73 5c .process.(format.".export.%s=%s\
d680 6e 22 20 65 6e 76 76 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n".envvar.......................
d6a0 20 28 73 68 65 6c 6c 2d 71 75 6f 74 65 2d 61 72 67 75 6d 65 6e 74 20 77 69 74 68 2d 65 64 69 74 .(shell-quote-argument.with-edit
d6c0 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 29 29 29 0a 20 20 20 20 20 20 28 77 68 69 or-sleeping-editor))).......(whi
d6e0 6c 65 20 28 61 63 63 65 70 74 2d 70 72 6f 63 65 73 73 2d 6f 75 74 70 75 74 20 70 72 6f 63 65 73 le.(accept-process-output.proces
d700 73 20 31 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 28 69 66 20 28 64 65 72 69 76 65 64 2d 6d s.1.nil.t)).......(if.(derived-m
d720 6f 64 65 2d 70 20 27 74 65 72 6d 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 ode-p.'term-mode)...........(wit
d740 68 2d 65 64 69 74 6f 72 2d 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 h-editor-set-process-filter.proc
d760 65 73 73 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 75 6c 61 74 65 2d 74 65 72 6d 69 6e ess.#'with-editor-emulate-termin
d780 61 6c 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 63 6f 6d 69 6e 74 2d 6f 75 al).........(add-hook.'comint-ou
d7a0 74 70 75 74 2d 66 69 6c 74 65 72 2d 66 75 6e 63 74 69 6f 6e 73 20 23 27 77 69 74 68 2d 65 64 69 tput-filter-functions.#'with-edi
d7c0 74 6f 72 2d 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tor-output-filter...............
d7e0 20 20 20 20 6e 69 6c 20 74 29 29 29 29 0a 20 20 20 28 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d ....nil.t))))....((derived-mode-
d800 70 20 27 65 73 68 65 6c 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 74 p.'eshell-mode).....(add-to-list
d820 20 27 65 73 68 65 6c 6c 2d 70 72 65 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 2d 66 75 6e 63 74 69 .'eshell-preoutput-filter-functi
d840 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 ons..................#'with-edit
d860 6f 72 2d 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 29 0a 20 20 20 20 28 73 65 74 65 6e 76 20 65 6e or-output-filter).....(setenv.en
d880 76 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 vvar.with-editor-sleeping-editor
d8a0 29 29 0a 20 20 20 28 28 61 6e 64 20 28 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 20 27 76 74 65 ))....((and.(derived-mode-p.'vte
d8c0 72 6d 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 28 66 62 6f 75 6e 64 70 20 27 76 74 65 72 rm-mode)..........(fboundp.'vter
d8e0 6d 2d 73 65 6e 64 2d 72 65 74 75 72 6e 29 0a 20 20 20 20 20 20 20 20 20 28 66 62 6f 75 6e 64 70 m-send-return)..........(fboundp
d900 20 27 76 74 65 72 6d 2d 73 65 6e 64 2d 73 74 72 69 6e 67 29 29 0a 20 20 20 20 28 69 66 20 77 69 .'vterm-send-string)).....(if.wi
d920 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 th-editor-emacsclient-executable
d940 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 .........(let.((with-editor--env
d960 76 61 72 20 65 6e 76 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 63 65 var.envvar)...............(proce
d980 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 ss-environment.process-environme
d9a0 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 73 65 74 nt))...........(with-editor--set
d9c0 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 63 63 65 70 74 2d 70 72 6f up)...........(while.(accept-pro
d9e0 63 65 73 73 2d 6f 75 74 70 75 74 20 76 74 65 72 6d 2d 2d 70 72 6f 63 65 73 73 20 31 20 6e 69 6c cess-output.vterm--process.1.nil
da00 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 76 20 28 67 65 .t))...........(when-let.((v.(ge
da20 74 65 6e 76 20 65 6e 76 76 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 76 74 65 72 tenv.envvar))).............(vter
da40 6d 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 20 65 78 70 6f 72 74 20 25 m-send-string.(format.".export.%
da60 73 3d 25 53 22 20 65 6e 76 76 61 72 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 76 74 s=%S".envvar.v)).............(vt
da80 65 72 6d 2d 73 65 6e 64 2d 72 65 74 75 72 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 erm-send-return))...........(whe
daa0 6e 2d 6c 65 74 20 28 28 76 20 28 67 65 74 65 6e 76 20 22 45 4d 41 43 53 5f 53 45 52 56 45 52 5f n-let.((v.(getenv."EMACS_SERVER_
dac0 46 49 4c 45 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 76 74 65 72 6d 2d 73 65 6e 64 FILE"))).............(vterm-send
dae0 2d 73 74 72 69 6e 67 20 28 66 6f 72 6d 61 74 20 22 20 65 78 70 6f 72 74 20 45 4d 41 43 53 5f 53 -string.(format.".export.EMACS_S
db00 45 52 56 45 52 5f 46 49 4c 45 3d 25 53 22 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ERVER_FILE=%S".v)).............(
db20 76 74 65 72 6d 2d 73 65 6e 64 2d 72 65 74 75 72 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 76 vterm-send-return))...........(v
db40 74 65 72 6d 2d 73 65 6e 64 2d 73 74 72 69 6e 67 20 22 20 63 6c 65 61 72 22 29 0a 20 20 20 20 20 term-send-string.".clear")......
db60 20 20 20 20 20 28 76 74 65 72 6d 2d 73 65 6e 64 2d 72 65 74 75 72 6e 29 29 0a 20 20 20 20 20 20 .....(vterm-send-return)).......
db80 28 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 75 73 65 20 73 6c 65 65 70 69 6e 67 20 65 64 69 74 (error."Cannot.use.sleeping.edit
dba0 6f 72 20 69 6e 20 74 68 69 73 20 62 75 66 66 65 72 22 29 29 29 0a 20 20 20 28 74 0a 20 20 20 20 or.in.this.buffer")))....(t.....
dbc0 28 65 72 72 6f 72 20 22 43 61 6e 6e 6f 74 20 65 78 70 6f 72 74 20 65 6e 76 69 72 6f 6e 6d 65 6e (error."Cannot.export.environmen
dbe0 74 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 69 73 20 62 75 66 66 65 72 22 29 29 29 0a 20 t.variables.in.this.buffer")))..
dc00 20 28 6d 65 73 73 61 67 65 20 22 53 75 63 63 65 73 73 66 75 6c 6c 79 20 65 78 70 6f 72 74 65 64 .(message."Successfully.exported
dc20 20 25 73 22 20 65 6e 76 76 61 72 29 29 0a 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 .%s".envvar))..;;;###autoload.(d
dc40 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 67 69 74 2d 65 64 69 74 efun.with-editor-export-git-edit
dc60 6f 72 20 28 29 0a 20 20 22 4c 69 6b 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 or.()..."Like.`with-editor-expor
dc80 74 2d 65 64 69 74 6f 72 27 20 62 75 74 20 61 6c 77 61 79 73 20 73 65 74 20 60 24 47 49 54 5f 45 t-editor'.but.always.set.`$GIT_E
dca0 44 49 54 4f 52 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 69 74 68 DITOR'."...(interactive)...(with
dcc0 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 20 22 47 49 54 5f 45 44 49 54 4f -editor-export-editor."GIT_EDITO
dce0 52 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 77 69 74 68 R"))..;;;###autoload.(defun.with
dd00 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 68 67 2d 65 64 69 74 6f 72 20 28 29 0a 20 20 22 4c -editor-export-hg-editor.()..."L
dd20 69 6b 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 27 20 ike.`with-editor-export-editor'.
dd40 62 75 74 20 61 6c 77 61 79 73 20 73 65 74 20 60 24 48 47 5f 45 44 49 54 4f 52 27 2e 22 0a 20 20 but.always.set.`$HG_EDITOR'."...
dd60 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 (interactive)...(with-editor-exp
dd80 6f 72 74 2d 65 64 69 74 6f 72 20 22 48 47 5f 45 44 49 54 4f 52 22 29 29 0a 0a 28 64 65 66 75 6e ort-editor."HG_EDITOR"))..(defun
dda0 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 6f 75 74 70 75 74 2d 66 69 6c 74 65 72 20 28 73 74 72 69 .with-editor-output-filter.(stri
ddc0 6e 67 29 0a 20 20 22 48 61 6e 64 6c 65 20 65 64 69 74 20 72 65 71 75 65 73 74 73 20 6f 6e 20 62 ng)..."Handle.edit.requests.on.b
dde0 65 68 61 6c 66 20 6f 66 20 60 63 6f 6d 69 6e 74 2d 6d 6f 64 65 27 20 61 6e 64 20 60 65 73 68 65 ehalf.of.`comint-mode'.and.`eshe
de00 6c 6c 2d 6d 6f 64 65 27 2e 22 0a 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 ll-mode'."...(with-editor-sleepi
de20 6e 67 2d 65 64 69 74 6f 72 2d 66 69 6c 74 65 72 20 6e 69 6c 20 73 74 72 69 6e 67 29 29 0a 0a 28 ng-editor-filter.nil.string))..(
de40 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 75 6c 61 74 65 2d 74 65 72 6d 69 6e defun.with-editor-emulate-termin
de60 61 6c 20 28 70 72 6f 63 65 73 73 20 73 74 72 69 6e 67 29 0a 20 20 22 4c 69 6b 65 20 60 74 65 72 al.(process.string)..."Like.`ter
de80 6d 2d 65 6d 75 6c 61 74 65 2d 74 65 72 6d 69 6e 61 6c 27 20 62 75 74 20 61 6c 73 6f 20 68 61 6e m-emulate-terminal'.but.also.han
dea0 64 6c 65 20 65 64 69 74 20 72 65 71 75 65 73 74 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 77 69 74 dle.edit.requests."...(let.((wit
dec0 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 2d 72 65 67 65 78 70 0a h-editor-sleeping-editor-regexp.
dee0 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 77 69 74 68 2d 65 64 69 74 6f 72 2d .........(substring.with-editor-
df00 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 2d 72 65 67 65 78 70 20 31 29 29 29 0a 20 20 20 20 sleeping-editor-regexp.1))).....
df20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f 72 2d 66 69 6c (with-editor-sleeping-editor-fil
df40 74 65 72 20 70 72 6f 63 65 73 73 20 73 74 72 69 6e 67 29 29 0a 20 20 28 74 65 72 6d 2d 65 6d 75 ter.process.string))...(term-emu
df60 6c 61 74 65 2d 74 65 72 6d 69 6e 61 6c 20 70 72 6f 63 65 73 73 20 73 74 72 69 6e 67 29 29 0a 0a late-terminal.process.string))..
df80 28 64 65 66 76 61 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6e 76 76 61 72 73 20 27 28 22 45 (defvar.with-editor-envvars.'("E
dfa0 44 49 54 4f 52 22 20 22 47 49 54 5f 45 44 49 54 4f 52 22 20 22 48 47 5f 45 44 49 54 4f 52 22 29 DITOR"."GIT_EDITOR"."HG_EDITOR")
dfc0 29 0a 0a 28 63 6c 2d 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 72 65 61 64 2d 65 6e )..(cl-defun.with-editor-read-en
dfe0 76 76 61 72 0a 20 20 20 20 28 26 6f 70 74 69 6f 6e 61 6c 20 28 70 72 6f 6d 70 74 20 20 22 53 65 vvar.....(&optional.(prompt.."Se
e000 74 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 22 29 0a 20 20 20 20 20 20 20 t.environment.variable")........
e020 20 20 20 20 20 20 20 20 28 64 65 66 61 75 6c 74 20 22 45 44 49 54 4f 52 22 29 29 0a 20 20 28 6c ........(default."EDITOR"))...(l
e040 65 74 20 28 28 72 65 70 6c 79 20 28 63 6f 6d 70 6c 65 74 69 6e 67 2d 72 65 61 64 20 28 69 66 20 et.((reply.(completing-read.(if.
e060 64 65 66 61 75 6c 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 default.........................
e080 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 25 73 20 28 25 73 29 3a 20 22 20 ............(format."%s.(%s):.".
e0a0 70 72 6f 6d 70 74 20 64 65 66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 prompt.default).................
e0c0 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 70 72 6f 6d 70 74 ..................(concat.prompt
e0e0 20 22 3a 20 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 20 20 .":.")).........................
e100 20 20 20 20 20 20 20 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6e 76 76 61 72 73 20 6e 69 6c 20 ........with-editor-envvars.nil.
e120 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 64 65 66 61 75 6c 74 29 29 29 0a 20 20 20 20 28 69 66 20 28 nil.nil.nil.default))).....(if.(
e140 73 74 72 69 6e 67 3d 20 72 65 70 6c 79 20 22 22 29 20 28 75 73 65 72 2d 65 72 72 6f 72 20 22 4e string=.reply."").(user-error."N
e160 6f 74 68 69 6e 67 20 73 65 6c 65 63 74 65 64 22 29 20 72 65 70 6c 79 29 29 29 0a 0a 3b 3b 3b 23 othing.selected").reply)))..;;;#
e180 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 20 73 68 ##autoload.(define-minor-mode.sh
e1a0 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 0a 20 20 22 ell-command-with-editor-mode..."
e1c0 54 65 61 63 68 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 74 6f 20 75 73 65 20 63 75 72 Teach.`shell-command'.to.use.cur
e1e0 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 65 64 69 74 6f 72 2e 0a 0a rent.Emacs.instance.as.editor...
e200 54 65 61 63 68 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 2c 20 61 6e 64 20 61 6c 6c 20 63 Teach.`shell-command',.and.all.c
e220 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 75 6c 74 69 6d 61 74 65 6c 79 20 63 61 6c 6c 20 74 68 61 ommands.that.ultimately.call.tha
e240 74 0a 63 6f 6d 6d 61 6e 64 2c 20 74 6f 20 75 73 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d t.command,.to.use.the.current.Em
e260 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 65 64 69 74 6f 72 20 62 79 20 65 78 65 63 75 74 acs.instance.as.editor.by.execut
e280 69 6e 67 0a 5c 22 45 44 49 54 4f 52 3d 43 4c 49 45 4e 54 20 43 4f 4d 4d 41 4e 44 26 5c 22 20 69 ing.\"EDITOR=CLIENT.COMMAND&\".i
e2a0 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 5c 22 43 4f 4d 4d 41 4e 44 26 5c 22 2e 0a 0a 43 4c nstead.of.just.\"COMMAND&\"...CL
e2c0 49 45 4e 54 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 67 65 6e 65 72 61 74 65 64 3b IENT.is.automatically.generated;
e2e0 20 45 44 49 54 4f 52 3d 43 4c 49 45 4e 54 20 69 6e 73 74 72 75 63 74 73 0a 43 4f 4d 4d 41 4e 44 .EDITOR=CLIENT.instructs.COMMAND
e300 20 74 6f 20 75 73 65 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 .to.use.to.the.current.Emacs.ins
e320 74 61 6e 63 65 20 61 73 20 5c 22 74 68 65 20 65 64 69 74 6f 72 5c 22 2c 0a 61 73 73 75 6d 69 6e tance.as.\"the.editor\",.assumin
e340 67 20 6e 6f 20 6f 74 68 65 72 20 76 61 72 69 61 62 6c 65 20 6f 76 65 72 72 69 64 65 73 20 74 68 g.no.other.variable.overrides.th
e360 65 20 65 66 66 65 63 74 20 6f 66 20 5c 22 24 45 44 49 54 4f 52 5c 22 2e 0a 43 4c 49 45 4e 54 20 e.effect.of.\"$EDITOR\"..CLIENT.
e380 6d 61 79 20 62 65 20 74 68 65 20 70 61 74 68 20 74 6f 20 61 6e 20 61 70 70 72 6f 70 72 69 61 74 may.be.the.path.to.an.appropriat
e3a0 65 20 65 6d 61 63 73 63 6c 69 65 6e 74 20 65 78 65 63 75 74 61 62 6c 65 0a 77 69 74 68 20 61 72 e.emacsclient.executable.with.ar
e3c0 67 75 6d 65 6e 74 73 2c 20 6f 72 20 61 20 73 63 72 69 70 74 20 77 68 69 63 68 20 61 6c 73 6f 20 guments,.or.a.script.which.also.
e3e0 77 6f 72 6b 73 20 6f 76 65 72 20 54 72 61 6d 70 2e 0a 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 works.over.Tramp...Alternatively
e400 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 .you.can.use.the.`with-editor-as
e420 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 2c 0a 77 68 69 63 68 20 61 6c 73 6f 20 61 ync-shell-command',.which.also.a
e440 6c 6c 6f 77 73 20 74 68 65 20 75 73 65 20 6f 66 20 61 6e 6f 74 68 65 72 20 76 61 72 69 61 62 6c llows.the.use.of.another.variabl
e460 65 20 69 6e 73 74 65 61 64 20 6f 66 0a 5c 22 45 44 49 54 4f 52 5c 22 2e 22 0a 20 20 3a 67 6c 6f e.instead.of.\"EDITOR\"."...:glo
e480 62 61 6c 20 74 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 77 69 bal.t)..;;;###autoload.(defun.wi
e4a0 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20 th-editor-async-shell-command...
e4c0 20 20 28 63 6f 6d 6d 61 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 75 74 70 75 74 2d 62 75 66 66 ..(command.&optional.output-buff
e4e0 65 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 20 65 6e 76 76 61 72 29 0a 20 20 22 4c 69 6b 65 20 er.error-buffer.envvar)..."Like.
e500 60 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 62 75 74 20 77 69 74 68 20 60 `async-shell-command'.but.with.`
e520 24 45 44 49 54 4f 52 27 20 73 65 74 2e 0a 0a 45 78 65 63 75 74 65 20 73 74 72 69 6e 67 20 5c 22 $EDITOR'.set...Execute.string.\"
e540 45 4e 56 56 41 52 3d 43 4c 49 45 4e 54 20 43 4f 4d 4d 41 4e 44 5c 22 20 69 6e 20 61 6e 20 69 6e ENVVAR=CLIENT.COMMAND\".in.an.in
e560 66 65 72 69 6f 72 20 73 68 65 6c 6c 3b 0a 64 69 73 70 6c 61 79 20 6f 75 74 70 75 74 2c 20 69 66 ferior.shell;.display.output,.if
e580 20 61 6e 79 2e 20 20 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 70 72 .any...With.a.prefix.argument.pr
e5a0 6f 6d 70 74 20 66 6f 72 20 61 6e 0a 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 ompt.for.an.environment.variable
e5c0 2c 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 20 64 65 66 61 75 6c 74 20 5c 22 45 44 49 54 4f 52 ,.otherwise.the.default.\"EDITOR
e5e0 5c 22 20 76 61 72 69 61 62 6c 65 0a 69 73 20 75 73 65 64 2e 20 20 57 69 74 68 20 61 20 6e 65 67 \".variable.is.used...With.a.neg
e600 61 74 69 76 65 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 61 64 64 69 74 69 6f 6e 61 6c ative.prefix.argument.additional
e620 6c 79 20 69 6e 73 65 72 74 0a 74 68 65 20 43 4f 4d 4d 41 4e 44 27 73 20 6f 75 74 70 75 74 20 61 ly.insert.the.COMMAND's.output.a
e640 74 20 70 6f 69 6e 74 2e 0a 0a 43 4c 49 45 4e 54 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c t.point...CLIENT.is.automaticall
e660 79 20 67 65 6e 65 72 61 74 65 64 3b 20 45 4e 56 56 41 52 3d 43 4c 49 45 4e 54 20 69 6e 73 74 72 y.generated;.ENVVAR=CLIENT.instr
e680 75 63 74 73 0a 43 4f 4d 4d 41 4e 44 20 74 6f 20 75 73 65 20 74 6f 20 74 68 65 20 63 75 72 72 65 ucts.COMMAND.to.use.to.the.curre
e6a0 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 5c 22 74 68 65 20 65 64 69 74 6f nt.Emacs.instance.as.\"the.edito
e6c0 72 5c 22 2c 0a 61 73 73 75 6d 69 6e 67 20 69 74 20 72 65 73 70 65 63 74 73 20 45 4e 56 56 41 52 r\",.assuming.it.respects.ENVVAR
e6e0 20 61 73 20 61 6e 20 5c 22 45 44 49 54 4f 52 5c 22 2d 6c 69 6b 65 20 76 61 72 69 61 62 6c 65 2e .as.an.\"EDITOR\"-like.variable.
e700 0a 43 4c 49 45 4e 54 20 6d 61 79 20 62 65 20 74 68 65 20 70 61 74 68 20 74 6f 20 61 6e 20 61 70 .CLIENT.may.be.the.path.to.an.ap
e720 70 72 6f 70 72 69 61 74 65 20 65 6d 61 63 73 63 6c 69 65 6e 74 20 65 78 65 63 75 74 61 62 6c 65 propriate.emacsclient.executable
e740 0a 77 69 74 68 20 61 72 67 75 6d 65 6e 74 73 2c 20 6f 72 20 61 20 73 63 72 69 70 74 20 77 68 69 .with.arguments,.or.a.script.whi
e760 63 68 20 61 6c 73 6f 20 77 6f 72 6b 73 20 6f 76 65 72 20 54 72 61 6d 70 2e 0a 0a 41 6c 73 6f 20 ch.also.works.over.Tramp...Also.
e780 73 65 65 20 60 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 61 6e 64 20 60 73 see.`async-shell-command'.and.`s
e7a0 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 hell-command'."...(interactive.(
e7c0 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 72 65 61 64 2d 61 with-editor-shell-command-read-a
e7e0 72 67 73 20 22 41 73 79 6e 63 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 3a 20 22 20 74 29 29 0a rgs."Async.shell.command:.".t)).
e800 20 20 28 6c 65 74 20 28 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 20 65 6e 76 ..(let.((with-editor--envvar.env
e820 76 61 72 29 29 0a 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 0a 20 20 20 20 20 20 28 61 73 var)).....(with-editor.......(as
e840 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 ync-shell-command.command.output
e860 2d 62 75 66 66 65 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 29 29 29 29 0a 0a 3b 3b 3b 23 23 23 -buffer.error-buffer))))..;;;###
e880 61 75 74 6f 6c 6f 61 64 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c autoload.(defun.with-editor-shel
e8a0 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 28 63 6f 6d 6d 61 6e 64 20 26 6f 70 74 69 6f 6e 61 6c l-command.....(command.&optional
e8c0 20 6f 75 74 70 75 74 2d 62 75 66 66 65 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 20 65 6e 76 76 .output-buffer.error-buffer.envv
e8e0 61 72 29 0a 20 20 22 4c 69 6b 65 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 6f 72 20 60 ar)..."Like.`shell-command'.or.`
e900 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 with-editor-async-shell-command'
e920 2e 0a 49 66 20 43 4f 4d 4d 41 4e 44 20 65 6e 64 73 20 77 69 74 68 20 5c 22 26 5c 22 20 62 65 68 ..If.COMMAND.ends.with.\"&\".beh
e940 61 76 65 20 6c 69 6b 65 20 74 68 65 20 6c 61 74 74 65 72 2c 0a 65 6c 73 65 20 6c 69 6b 65 20 74 ave.like.the.latter,.else.like.t
e960 68 65 20 66 6f 72 6d 65 72 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 28 77 69 74 68 he.former."...(interactive.(with
e980 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 72 65 61 64 2d 61 72 67 73 20 -editor-shell-command-read-args.
e9a0 22 53 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 3a 20 22 29 29 0a 20 20 28 69 66 20 28 73 74 72 69 6e "Shell.command:."))...(if.(strin
e9c0 67 2d 6d 61 74 63 68 20 22 26 5b 20 5c 74 5d 2a 5c 5c 27 22 20 63 6f 6d 6d 61 6e 64 29 0a 20 20 g-match."&[.\t]*\\'".command)...
e9e0 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d ....(with-editor-async-shell-com
ea00 6d 61 6e 64 0a 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 2d 62 75 66 66 65 mand........command.output-buffe
ea20 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 20 65 6e 76 76 61 72 29 0a 20 20 20 20 28 73 68 65 6c r.error-buffer.envvar).....(shel
ea40 6c 2d 63 6f 6d 6d 61 6e 64 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 2d 62 75 66 66 65 72 20 l-command.command.output-buffer.
ea60 65 72 72 6f 72 2d 62 75 66 66 65 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 77 69 74 68 2d 65 64 69 error-buffer)))..(defun.with-edi
ea80 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 72 65 61 64 2d 61 72 67 73 20 28 70 72 6f tor-shell-command-read-args.(pro
eaa0 6d 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 61 73 79 6e 63 29 0a 20 20 28 6c 65 74 20 28 28 63 6f mpt.&optional.async)...(let.((co
eac0 6d 6d 61 6e 64 20 28 72 65 61 64 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 mmand.(read-shell-command.......
eae0 20 20 20 20 20 20 20 20 20 20 20 20 70 72 6f 6d 70 74 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 ............prompt.nil.nil......
eb00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 6f 72 .............(let.((filename.(or
eb20 20 62 75 66 66 65 72 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 .buffer-file-name...............
eb40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 65 71 ........................(and.(eq
eb60 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 64 69 72 65 64 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 .major-mode.'dired-mode)........
eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
eba0 20 20 20 20 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 29 29 ....(dired-get-filename.nil.t)))
ebc0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 66 69 6c 65 )).....................(and.file
ebe0 6e 61 6d 65 20 28 66 69 6c 65 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 66 69 6c 65 6e 61 6d name.(file-relative-name.filenam
ec00 65 29 29 29 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 e)))))).....(list.command.......
ec20 20 20 20 20 28 69 66 20 28 6f 72 20 61 73 79 6e 63 20 28 73 65 74 71 20 61 73 79 6e 63 20 28 73 ....(if.(or.async.(setq.async.(s
ec40 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 26 5b 20 5c 74 5d 2a 5c 5c 27 22 20 63 6f 6d 6d 61 tring-match-p."&[.\t]*\\'".comma
ec60 6e 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 70 72 65 66 69 78 2d 6e nd)))...............(<.(prefix-n
ec80 75 6d 65 72 69 63 2d 76 61 6c 75 65 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 29 umeric-value.current-prefix-arg)
eca0 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 .0).............current-prefix-a
ecc0 72 67 29 0a 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 64 65 66 61 rg)...........shell-command-defa
ece0 75 6c 74 2d 65 72 72 6f 72 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 ult-error-buffer...........(and.
ed00 61 73 79 6e 63 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 28 77 69 74 68 2d 65 async.current-prefix-arg.(with-e
ed20 64 69 74 6f 72 2d 72 65 61 64 2d 65 6e 76 76 61 72 29 29 29 29 29 0a 0a 28 64 65 66 69 6e 65 2d ditor-read-envvar)))))..(define-
ed40 61 64 76 69 63 65 20 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 28 3a 61 72 6f 75 6e advice.shell-command.....(:aroun
ed60 64 20 28 66 6e 20 63 6f 6d 6d 61 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 75 74 70 75 74 2d 62 d.(fn.command.&optional.output-b
ed80 75 66 66 65 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 uffer.error-buffer).............
eda0 20 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 29 .shell-command-with-editor-mode)
edc0 0a 20 20 22 53 65 74 20 65 64 69 74 6f 72 20 65 6e 76 76 61 72 2c 20 69 66 20 60 73 68 65 6c 6c ..."Set.editor.envvar,.if.`shell
ede0 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 27 20 69 73 20 65 6e -command-with-editor-mode'.is.en
ee00 61 62 6c 65 64 2e 0a 41 6c 73 6f 20 74 61 6b 65 20 63 61 72 65 20 6f 66 20 74 68 61 74 20 66 6f abled..Also.take.care.of.that.fo
ee20 72 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 5b 61 73 79 6e 63 2d 5d 73 68 65 6c 6c 2d 63 6f 6d r.`with-editor-[async-]shell-com
ee40 6d 61 6e 64 27 2e 22 0a 20 20 3b 3b 20 60 73 68 65 6c 6c 2d 6d 6f 64 65 27 20 61 6e 64 20 69 74 mand'."...;;.`shell-mode'.and.it
ee60 73 20 68 6f 6f 6b 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 66 6f 72 20 62 75 66 66 65 72 73 20 s.hook.are.intended.for.buffers.
ee80 69 6e 20 77 68 69 63 68 20 61 6e 0a 20 20 3b 3b 20 69 6e 74 65 72 61 63 74 69 76 65 20 73 68 65 in.which.an...;;.interactive.she
eea0 6c 6c 20 69 73 20 72 75 6e 6e 69 6e 67 2c 20 62 75 74 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e ll.is.running,.but.`shell-comman
eec0 64 27 20 61 6c 73 6f 20 74 75 72 6e 73 20 6f 6e 0a 20 20 3b 3b 20 74 68 61 74 20 6d 6f 64 65 2c d'.also.turns.on...;;.that.mode,
eee0 20 65 76 65 6e 20 74 68 6f 75 67 68 20 69 74 20 6f 6e 6c 79 20 72 75 6e 73 20 74 68 65 20 73 68 .even.though.it.only.runs.the.sh
ef00 65 6c 6c 20 74 6f 20 72 75 6e 20 61 20 73 69 6e 67 6c 65 0a 20 20 3b 3b 20 63 6f 6d 6d 61 6e 64 ell.to.run.a.single...;;.command
ef20 2e 20 20 54 68 65 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f ...The.`with-editor-export-edito
ef40 72 27 20 68 6f 6f 6b 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6f 6e 6c 79 0a 20 20 3b 3b 20 69 6e r'.hook.function.is.only...;;.in
ef60 74 65 6e 64 65 64 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 62 75 66 66 65 72 73 20 69 6e 20 tended.to.be.used.in.buffers.in.
ef80 77 68 69 63 68 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 73 68 65 6c 6c 20 69 73 0a 20 20 which.an.interactive.shell.is...
efa0 3b 3b 20 72 75 6e 6e 69 6e 67 2c 20 73 6f 20 69 74 20 68 61 73 20 74 6f 20 62 65 20 72 65 6d 6f ;;.running,.so.it.has.to.be.remo
efc0 76 65 64 20 68 65 72 65 2e 0a 20 20 28 6c 65 74 20 28 28 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f ved.here....(let.((shell-mode-ho
efe0 6f 6b 20 28 72 65 6d 6f 76 65 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 ok.(remove.'with-editor-export-e
f000 64 69 74 6f 72 20 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 29 29 29 0a 20 20 20 20 28 63 6f ditor.shell-mode-hook))).....(co
f020 6e 64 0a 20 20 20 20 20 3b 3b 20 49 66 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 nd......;;.If.`with-editor-async
f040 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 20 77 61 73 20 75 73 65 64 2c 20 74 68 65 6e 20 60 -shell-command'.was.used,.then.`
f060 77 69 74 68 2d 65 64 69 74 6f 72 27 0a 20 20 20 20 20 3b 3b 20 77 61 73 20 75 73 65 64 2c 20 61 with-editor'......;;.was.used,.a
f080 6e 64 20 60 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 27 2e 20 20 60 77 69 74 68 nd.`with-editor--envvar'...`with
f0a0 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 0a 20 20 20 20 20 3b 3b 20 6f -editor-shell-command'......;;.o
f0c0 6e 6c 79 20 67 6f 65 73 20 64 6f 77 6e 20 74 68 61 74 20 70 61 74 68 20 69 66 20 74 68 65 20 63 nly.goes.down.that.path.if.the.c
f0e0 6f 6d 6d 61 6e 64 20 65 6e 64 73 20 77 69 74 68 20 22 26 22 2e 20 20 57 65 20 6d 69 67 68 74 0a ommand.ends.with."&"...We.might.
f100 20 20 20 20 20 3b 3b 20 73 74 69 6c 6c 20 68 61 76 65 20 74 6f 20 75 73 65 20 60 77 69 74 68 2d .....;;.still.have.to.use.`with-
f120 65 64 69 74 6f 72 27 20 68 65 72 65 2c 20 66 6f 72 20 60 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 editor'.here,.for.`async-shell-c
f140 6f 6d 6d 61 6e 64 27 0a 20 20 20 20 20 3b 3b 20 6f 72 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e ommand'......;;.or.`shell-comman
f160 64 27 2c 20 69 66 20 74 68 65 20 6d 6f 64 65 20 69 73 20 65 6e 61 62 6c 65 64 2e 0a 20 20 20 20 d',.if.the.mode.is.enabled......
f180 20 28 28 61 6e 64 20 28 73 74 72 69 6e 67 2d 73 75 66 66 69 78 2d 70 20 22 26 22 20 63 6f 6d 6d .((and.(string-suffix-p."&".comm
f1a0 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 77 69 74 68 2d 65 64 69 74 6f 72 2d and)............(or.with-editor-
f1c0 2d 65 6e 76 76 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 68 65 6c 6c 2d 63 6f 6d -envvar................shell-com
f1e0 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 28 69 mand-with-editor-mode)).......(i
f200 66 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 2d 65 6e 76 76 61 72 0a 20 20 20 20 20 20 20 20 20 20 f.with-editor--envvar...........
f220 28 66 75 6e 63 61 6c 6c 20 66 6e 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 2d 62 75 66 66 65 (funcall.fn.command.output-buffe
f240 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 r.error-buffer).........(with-ed
f260 69 74 6f 72 20 28 66 75 6e 63 61 6c 6c 20 66 6e 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 2d itor.(funcall.fn.command.output-
f280 62 75 66 66 65 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 3b 3b 20 buffer.error-buffer))).......;;.
f2a0 54 68 65 20 63 6f 6d 69 6e 74 20 66 69 6c 74 65 72 20 77 61 73 20 6f 76 65 72 72 69 64 64 65 6e The.comint.filter.was.overridden
f2c0 20 77 69 74 68 20 6f 75 72 20 66 69 6c 74 65 72 2e 20 20 55 73 65 20 62 6f 74 68 2e 0a 20 20 20 .with.our.filter...Use.both.....
f2e0 20 20 20 28 61 6e 64 2d 6c 65 74 2a 20 28 28 70 72 6f 63 65 73 73 20 28 67 65 74 2d 62 75 66 66 ...(and-let*.((process.(get-buff
f300 65 72 2d 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 er-process......................
f320 20 20 20 20 20 20 28 6f 72 20 6f 75 74 70 75 74 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 ......(or.output-buffer.........
f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 62 75 66 66 .......................(get-buff
f360 65 72 20 22 2a 41 73 79 6e 63 20 53 68 65 6c 6c 20 43 6f 6d 6d 61 6e 64 2a 22 29 29 29 29 29 0a er."*Async.Shell.Command*"))))).
f380 20 20 20 20 20 20 20 20 28 70 72 6f 67 31 20 70 72 6f 63 65 73 73 0a 20 20 20 20 20 20 20 20 20 ........(prog1.process..........
f3a0 20 28 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 0a 20 20 20 .(set-process-filter.process....
f3c0 20 20 20 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 6c 61 6d 62 ...........................(lamb
f3e0 64 61 20 28 70 72 6f 63 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 da.(proc.str)...................
f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 69 6e 74 2d 6f 75 74 70 75 74 2d 66 69 6c ..............(comint-output-fil
f420 74 65 72 20 70 72 6f 63 20 73 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ter.proc.str)...................
f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 ..............(with-editor-proce
f460 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 20 73 74 72 20 74 29 29 29 29 29 29 0a 20 20 20 20 20 ss-filter.proc.str.t))))))......
f480 28 28 66 75 6e 63 61 6c 6c 20 66 6e 20 63 6f 6d 6d 61 6e 64 20 6f 75 74 70 75 74 2d 62 75 66 66 ((funcall.fn.command.output-buff
f4a0 65 72 20 65 72 72 6f 72 2d 62 75 66 66 65 72 29 29 29 29 29 0a 0a 3b 3b 3b 20 5f 0a 0a 28 64 65 er.error-buffer)))))..;;;._..(de
f4c0 66 75 6e 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 64 65 62 75 67 20 28 29 0a 20 20 22 44 65 62 75 fun.with-editor-debug.()..."Debu
f4e0 67 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 69 73 73 75 65 73 2e 0a 53 65 65 20 69 6e 66 6f g.configuration.issues..See.info
f500 20 6e 6f 64 65 20 60 28 77 69 74 68 2d 65 64 69 74 6f 72 29 44 65 62 75 67 67 69 6e 67 27 20 66 .node.`(with-editor)Debugging'.f
f520 6f 72 20 69 6e 73 74 72 75 63 74 69 6f 6e 73 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 or.instructions."...(interactive
f540 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 77 61 72 6e 69 6e 67 73 29 0a 20 20 28 77 69 74 68 2d )...(require.'warnings)...(with-
f560 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 current-buffer.(get-buffer-creat
f580 65 20 22 2a 77 69 74 68 2d 65 64 69 74 6f 72 2d 64 65 62 75 67 2a 22 29 0a 20 20 20 20 28 70 6f e."*with-editor-debug*").....(po
f5a0 70 2d 74 6f 2d 62 75 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 p-to-buffer.(current-buffer))...
f5c0 20 20 28 65 72 61 73 65 2d 62 75 66 66 65 72 29 0a 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 ..(erase-buffer).....(ignore-err
f5e0 6f 72 73 20 28 77 69 74 68 2d 65 64 69 74 6f 72 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 0a 20 ors.(with-editor)).....(insert..
f600 20 20 20 20 28 66 6f 72 6d 61 74 20 22 77 69 74 68 2d 65 64 69 74 6f 72 3a 20 25 73 5c 6e 22 20 ....(format."with-editor:.%s\n".
f620 28 6c 6f 63 61 74 65 2d 6c 69 62 72 61 72 79 20 22 77 69 74 68 2d 65 64 69 74 6f 72 2e 65 6c 22 (locate-library."with-editor.el"
f640 29 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 65 6d 61 63 73 3a 20 25 73 20 28 25 73 29 5c ))......(format."emacs:.%s.(%s)\
f660 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d n"..............(expand-file-nam
f680 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2d 6e 61 6d 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2d 64 69 72 e.invocation-name.invocation-dir
f6a0 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6d 61 63 73 2d 76 65 72 73 69 ectory)..............emacs-versi
f6c0 6f 6e 29 0a 20 20 20 20 20 22 73 79 73 74 65 6d 3a 5c 6e 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 on)......"system:\n"......(forma
f6e0 74 20 22 20 20 73 79 73 74 65 6d 2d 74 79 70 65 3a 20 25 73 5c 6e 22 20 73 79 73 74 65 6d 2d 74 t."..system-type:.%s\n".system-t
f700 79 70 65 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 20 73 79 73 74 65 6d 2d 63 6f 6e 66 ype)......(format."..system-conf
f720 69 67 75 72 61 74 69 6f 6e 3a 20 25 73 5c 6e 22 20 73 79 73 74 65 6d 2d 63 6f 6e 66 69 67 75 72 iguration:.%s\n".system-configur
f740 61 74 69 6f 6e 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 20 73 79 73 74 65 6d 2d 63 6f ation)......(format."..system-co
f760 6e 66 69 67 75 72 61 74 69 6f 6e 2d 6f 70 74 69 6f 6e 73 3a 20 25 73 5c 6e 22 20 73 79 73 74 65 nfiguration-options:.%s\n".syste
f780 6d 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2d 6f 70 74 69 6f 6e 73 29 0a 20 20 20 20 20 22 73 m-configuration-options)......"s
f7a0 65 72 76 65 72 3a 5c 6e 22 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 20 73 65 72 76 65 72 erver:\n"......(format."..server
f7c0 2d 72 75 6e 6e 69 6e 67 2d 70 3a 20 25 73 5c 6e 22 20 28 73 65 72 76 65 72 2d 72 75 6e 6e 69 6e -running-p:.%s\n".(server-runnin
f7e0 67 2d 70 29 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 20 73 65 72 76 65 72 2d 70 72 6f g-p))......(format."..server-pro
f800 63 65 73 73 3a 20 25 53 5c 6e 22 20 73 65 72 76 65 72 2d 70 72 6f 63 65 73 73 29 0a 20 20 20 20 cess:.%S\n".server-process).....
f820 20 28 66 6f 72 6d 61 74 20 22 20 20 73 65 72 76 65 72 2d 75 73 65 2d 74 63 70 3a 20 25 73 5c 6e .(format."..server-use-tcp:.%s\n
f840 22 20 73 65 72 76 65 72 2d 75 73 65 2d 74 63 70 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 ".server-use-tcp)......(format."
f860 20 20 73 65 72 76 65 72 2d 6e 61 6d 65 3a 20 25 73 5c 6e 22 20 73 65 72 76 65 72 2d 6e 61 6d 65 ..server-name:.%s\n".server-name
f880 29 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 20 73 65 72 76 65 72 2d 73 6f 63 6b 65 74 2d )......(format."..server-socket-
f8a0 64 69 72 3a 20 25 73 5c 6e 22 20 73 65 72 76 65 72 2d 73 6f 63 6b 65 74 2d 64 69 72 29 29 0a 20 dir:.%s\n".server-socket-dir))..
f8c0 20 20 20 28 69 66 20 28 61 6e 64 20 73 65 72 76 65 72 2d 73 6f 63 6b 65 74 2d 64 69 72 20 28 66 ...(if.(and.server-socket-dir.(f
f8e0 69 6c 65 2d 61 63 63 65 73 73 69 62 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 73 65 72 76 65 ile-accessible-directory-p.serve
f900 72 2d 73 6f 63 6b 65 74 2d 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 r-socket-dir)).........(dolist.(
f920 66 69 6c 65 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 73 65 72 76 65 72 2d 73 6f 63 file.(directory-files.server-soc
f940 6b 65 74 2d 64 69 72 20 6e 69 6c 20 22 5e 5b 5e 2e 5d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 ket-dir.nil."^[^.]"))...........
f960 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 20 20 20 25 73 5c 6e 22 20 66 69 6c 65 29 (insert.(format."....%s\n".file)
f980 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 20 20 20 25 73 )).......(insert.(format."....%s
f9a0 3a 20 6e 6f 74 20 61 6e 20 61 63 63 65 73 73 69 62 6c 65 20 64 69 72 65 63 74 6f 72 79 5c 6e 22 :.not.an.accessible.directory\n"
f9c0 0a 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 65 72 76 65 .......................(if.serve
f9e0 72 2d 75 73 65 2d 74 63 70 20 22 57 41 52 4e 49 4e 47 22 20 22 45 52 52 4f 52 22 29 29 29 29 0a r-use-tcp."WARNING"."ERROR")))).
fa00 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 20 73 65 72 76 65 72 2d 61 75 ....(insert.(format."..server-au
fa20 74 68 2d 64 69 72 3a 20 25 73 5c 6e 22 20 73 65 72 76 65 72 2d 61 75 74 68 2d 64 69 72 29 29 0a th-dir:.%s\n".server-auth-dir)).
fa40 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 61 63 63 65 73 73 69 62 6c 65 2d 64 69 72 65 63 74 6f ....(if.(file-accessible-directo
fa60 72 79 2d 70 20 73 65 72 76 65 72 2d 61 75 74 68 2d 64 69 72 29 0a 20 20 20 20 20 20 20 20 28 64 ry-p.server-auth-dir).........(d
fa80 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 73 65 72 olist.(file.(directory-files.ser
faa0 76 65 72 2d 61 75 74 68 2d 64 69 72 20 6e 69 6c 20 22 5e 5b 5e 2e 5d 22 29 29 0a 20 20 20 20 20 ver-auth-dir.nil."^[^.]"))......
fac0 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 20 20 20 25 73 5c 6e 22 20 .....(insert.(format."....%s\n".
fae0 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 file))).......(insert.(format.".
fb00 20 20 20 25 73 3a 20 6e 6f 74 20 61 6e 20 61 63 63 65 73 73 69 62 6c 65 20 64 69 72 65 63 74 6f ...%s:.not.an.accessible.directo
fb20 72 79 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 28 69 66 20 ry\n".......................(if.
fb40 73 65 72 76 65 72 2d 75 73 65 2d 74 63 70 20 22 45 52 52 4f 52 22 20 22 57 41 52 4e 49 4e 47 22 server-use-tcp."ERROR"."WARNING"
fb60 29 29 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 20 77 69 74 68 2d 65 64 69 74 6f 72 2d )))).....(let.((val.with-editor-
fb80 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 29 0a 20 20 20 20 20 20 20 20 emacsclient-executable).........
fba0 20 20 28 64 65 66 20 28 64 65 66 61 75 6c 74 2d 76 61 6c 75 65 20 27 77 69 74 68 2d 65 64 69 74 ..(def.(default-value.'with-edit
fbc0 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 29 29 0a 20 20 20 20 or-emacsclient-executable)).....
fbe0 20 20 20 20 20 20 28 66 75 6e 20 28 6c 65 74 20 28 28 77 61 72 6e 69 6e 67 2d 6d 69 6e 69 6d 75 ......(fun.(let.((warning-minimu
fc00 6d 2d 6c 65 76 65 6c 20 3a 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 m-level.:error).................
fc20 20 20 20 20 20 28 77 61 72 6e 69 6e 67 2d 6d 69 6e 69 6d 75 6d 2d 6c 6f 67 2d 6c 65 76 65 6c 20 .....(warning-minimum-log-level.
fc40 3a 65 72 72 6f 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d :error))..................(with-
fc60 65 64 69 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 63 6c 69 65 6e 74 29 29 29 29 0a 20 20 editor-locate-emacsclient))))...
fc80 20 20 20 20 28 69 6e 73 65 72 74 20 22 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c ....(insert."with-editor-emacscl
fca0 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 3a 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ient-executable:\n".............
fcc0 20 20 28 66 6f 72 6d 61 74 20 22 20 76 61 6c 75 65 3a 20 20 20 25 73 20 28 25 73 29 5c 6e 22 20 ..(format.".value:...%s.(%s)\n".
fce0 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 76 val.......................(and.v
fd00 61 6c 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 76 65 72 73 al.(with-editor-emacsclient-vers
fd20 69 6f 6e 20 76 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 ion.val)))...............(format
fd40 20 22 20 64 65 66 61 75 6c 74 3a 20 25 73 20 28 25 73 29 5c 6e 22 20 64 65 66 0a 20 20 20 20 20 .".default:.%s.(%s)\n".def......
fd60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 64 65 66 20 28 77 69 74 68 2d .................(and.def.(with-
fd80 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 76 65 72 73 69 6f 6e 20 64 65 66 29 29 editor-emacsclient-version.def))
fda0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 66 75 6e 63 61 6c )...............(format.".funcal
fdc0 6c 3a 20 25 73 20 28 25 73 29 5c 6e 22 20 66 75 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l:.%s.(%s)\n".fun...............
fde0 20 20 20 20 20 20 20 20 28 61 6e 64 20 66 75 6e 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d ........(and.fun.(with-editor-em
fe00 61 63 73 63 6c 69 65 6e 74 2d 76 65 72 73 69 6f 6e 20 66 75 6e 29 29 29 29 29 0a 20 20 20 20 28 acsclient-version.fun))))).....(
fe20 69 6e 73 65 72 74 20 22 70 61 74 68 3a 5c 6e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f insert."path:\n".............(fo
fe40 72 6d 61 74 20 22 20 20 24 50 41 54 48 3a 20 20 20 20 20 25 73 5c 6e 22 20 28 73 70 6c 69 74 2d rmat."..$PATH:.....%s\n".(split-
fe60 73 74 72 69 6e 67 20 28 67 65 74 65 6e 76 20 22 50 41 54 48 22 29 20 22 3a 22 29 29 0a 20 20 20 string.(getenv."PATH").":"))....
fe80 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 20 65 78 65 63 2d 70 61 74 68 3a 20 25 .........(format."..exec-path:.%
fea0 73 5c 6e 22 20 65 78 65 63 2d 70 61 74 68 29 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 28 66 6f s\n".exec-path)).....(insert.(fo
fec0 72 6d 61 74 20 22 20 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d rmat."..with-editor-emacsclient-
fee0 70 61 74 68 3a 5c 6e 22 29 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 64 69 72 20 28 77 69 74 path:\n")).....(dolist.(dir.(wit
ff00 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 70 61 74 68 29 29 0a 20 20 20 20 h-editor-emacsclient-path)).....
ff20 20 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 20 20 20 25 73 20 28 25 73 29 5c 6e ..(insert.(format."....%s.(%s)\n
ff40 22 20 64 69 72 20 28 63 61 72 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 20 64 69 72 29 ".dir.(car.(file-attributes.dir)
ff60 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d ))).......(when.(file-directory-
ff80 70 20 64 69 72 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 6d 61 74 63 68 20 65 6d p.dir).........;;.Don't.match.em
ffa0 61 63 73 63 6c 69 65 6e 74 77 2e 65 78 65 2c 20 69 74 20 6d 61 6b 65 73 20 70 6f 70 75 70 20 77 acsclientw.exe,.it.makes.popup.w
ffc0 69 6e 64 6f 77 73 2e 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 78 65 63 20 28 64 indows..........(dolist.(exec.(d
ffe0 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 20 74 20 22 65 6d 61 63 73 63 6c 69 65 6e irectory-files.dir.t."emacsclien
10000 74 5c 5c 28 3f 3a 5b 5e 77 5d 5c 5c 7c 5c 5c 27 5c 5c 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 t\\(?:[^w]\\|\\'\\)"))..........
10020 20 28 69 6e 73 65 72 74 20 28 66 6f 72 6d 61 74 20 22 20 20 20 20 20 20 25 73 20 28 25 73 29 5c .(insert.(format."......%s.(%s)\
10040 6e 22 20 65 78 65 63 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 n".exec.........................
10060 20 20 28 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 76 65 72 73 69 ..(with-editor-emacsclient-versi
10080 6f 6e 20 65 78 65 63 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 77 69 74 68 2d on.exec))))))))..(defconst.with-
100a0 65 64 69 74 6f 72 2d 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 73 0a 20 20 27 28 28 22 editor-font-lock-keywords...'(("
100c0 28 5c 5c 28 77 69 74 68 2d 5c 5c 28 3f 3a 67 69 74 2d 5c 5c 29 3f 65 64 69 74 6f 72 5c 5c 29 5c (\\(with-\\(?:git-\\)?editor\\)\
100e0 5c 5f 3e 22 20 28 31 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 \_>".(1.'font-lock-keyword-face)
10100 29 29 29 0a 28 66 6f 6e 74 2d 6c 6f 63 6b 2d 61 64 64 2d 6b 65 79 77 6f 72 64 73 20 27 65 6d 61 ))).(font-lock-add-keywords.'ema
10120 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 66 6f 6e 74 2d 6c 6f cs-lisp-mode.with-editor-font-lo
10140 63 6b 2d 6b 65 79 77 6f 72 64 73 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 77 69 74 68 2d 65 64 69 ck-keywords)..(provide.'with-edi
10160 74 6f 72 29 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 69 6e 64 65 tor).;;.Local.Variables:.;;.inde
10180 6e 74 2d 74 61 62 73 2d 6d 6f 64 65 3a 20 6e 69 6c 0a 3b 3b 20 62 79 74 65 2d 63 6f 6d 70 69 6c nt-tabs-mode:.nil.;;.byte-compil
101a0 65 2d 77 61 72 6e 69 6e 67 73 3a 20 28 6e 6f 74 20 64 6f 63 73 74 72 69 6e 67 73 2d 63 6f 6e 74 e-warnings:.(not.docstrings-cont
101c0 72 6f 6c 2d 63 68 61 72 73 29 0a 3b 3b 20 45 6e 64 3a 0a 3b 3b 3b 20 77 69 74 68 2d 65 64 69 74 rol-chars).;;.End:.;;;.with-edit
101e0 6f 72 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 or.el.ends.here.................
10200 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 with-editor-3.4.6/dir...........
10220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10260 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
10280 30 30 30 31 31 34 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 31 32 35 00 20 30 00 00 00 0001146.00000000000.013125..0...
102a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
102e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10300 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...................
10320 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...................
10340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
103e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10400 54 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 2e 2e 2e 2f 69 6e 66 6f 2f 64 69 72 2c 20 77 This.is.the.file..../info/dir,.w
10420 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 74 6f 70 6d 6f 73 74 20 6e 6f 64 65 20 6f hich.contains.the.topmost.node.o
10440 66 20 74 68 65 20 49 6e 66 6f 20 68 69 65 72 61 72 63 68 79 2c 20 63 61 6c 6c 65 64 20 28 64 69 f.the.Info.hierarchy,.called.(di
10460 72 29 54 6f 70 2e 0a 54 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 r)Top..The.first.time.you.invoke
10480 20 49 6e 66 6f 20 79 6f 75 20 73 74 61 72 74 20 6f 66 66 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 .Info.you.start.off.looking.at.t
104a0 68 69 73 20 6e 6f 64 65 2e 0a 1f 0a 46 69 6c 65 3a 20 64 69 72 2c 09 4e 6f 64 65 3a 20 54 6f 70 his.node....File:.dir,.Node:.Top
104c0 09 54 68 69 73 20 69 73 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 49 4e 46 4f 20 74 72 65 .This.is.the.top.of.the.INFO.tre
104e0 65 0a 0a 20 20 54 68 69 73 20 28 74 68 65 20 44 69 72 65 63 74 6f 72 79 20 6e 6f 64 65 29 20 67 e....This.(the.Directory.node).g
10500 69 76 65 73 20 61 20 6d 65 6e 75 20 6f 66 20 6d 61 6a 6f 72 20 74 6f 70 69 63 73 2e 0a 20 20 54 ives.a.menu.of.major.topics....T
10520 79 70 69 6e 67 20 22 71 22 20 65 78 69 74 73 2c 20 22 48 22 20 6c 69 73 74 73 20 61 6c 6c 20 49 yping."q".exits,."H".lists.all.I
10540 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 2c 20 22 64 22 20 72 65 74 75 72 6e 73 20 68 65 72 65 2c 0a nfo.commands,."d".returns.here,.
10560 20 20 22 68 22 20 67 69 76 65 73 20 61 20 70 72 69 6d 65 72 20 66 6f 72 20 66 69 72 73 74 2d 74 .."h".gives.a.primer.for.first-t
10580 69 6d 65 72 73 2c 0a 20 20 22 6d 45 6d 61 63 73 3c 52 65 74 75 72 6e 3e 22 20 76 69 73 69 74 73 imers,..."mEmacs<Return>".visits
105a0 20 74 68 65 20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 2c 20 65 74 63 2e 0a 0a 20 20 49 6e 20 45 6d .the.Emacs.manual,.etc.....In.Em
105c0 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 63 6c 69 63 6b 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 acs,.you.can.click.mouse.button.
105e0 32 20 6f 6e 20 61 20 6d 65 6e 75 20 69 74 65 6d 20 6f 72 20 63 72 6f 73 73 20 72 65 66 65 72 65 2.on.a.menu.item.or.cross.refere
10600 6e 63 65 0a 20 20 74 6f 20 73 65 6c 65 63 74 20 69 74 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 45 6d nce...to.select.it...*.Menu:..Em
10620 61 63 73 0a 2a 20 57 69 74 68 2d 45 64 69 74 6f 72 3a 20 28 77 69 74 68 2d 65 64 69 74 6f 72 29 acs.*.With-Editor:.(with-editor)
10640 2e 20 20 20 55 73 69 6e 67 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 20 24 45 44 ....Using.the.Emacsclient.as.$ED
10660 49 54 4f 52 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ITOR............................
10680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
106e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
107e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10800 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 77 69 74 68 2d 65 64 69 74 6f 72 2e 69 6e with-editor-3.4.6/with-editor.in
10820 66 6f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fo..............................
10840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10860 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
10880 30 30 33 34 33 36 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 35 35 32 00 20 30 00 00 00 0034366.00000000000.015552..0...
108a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
108e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10900 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...................
10920 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...................
10940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
109e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10a00 54 68 69 73 20 69 73 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.docD4uajf.info,.produced
10a20 20 62 79 20 6d 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 38 20 66 72 6f 6d 0a 77 69 .by.makeinfo.version.6.8.from.wi
10a40 74 68 2d 65 64 69 74 6f 72 2e 74 65 78 69 2e 0a 0a 20 20 20 20 20 43 6f 70 79 72 69 67 68 74 20 th-editor.texi........Copyright.
10a60 28 43 29 20 32 30 31 35 2d 32 30 32 35 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 0a 20 20 (C).2015-2025.Jonas.Bernoulli...
10a80 20 20 20 3c 65 6d 61 63 73 2e 77 69 74 68 2d 65 64 69 74 6f 72 40 6a 6f 6e 61 73 2e 62 65 72 6e ...<emacs.with-editor@jonas.bern
10aa0 6f 75 6c 6c 69 2e 64 65 76 3e 0a 0a 20 20 20 20 20 59 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 oulli.dev>.......You.can.redistr
10ac0 69 62 75 74 65 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 ibute.this.document.and/or.modif
10ae0 79 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 0a 20 20 20 20 20 6f 66 20 74 68 65 y.it.under.the.terms......of.the
10b00 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 .GNU.General.Public.License.as.p
10b20 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 ublished.by.the.Free.Software...
10b40 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 ...Foundation,.either.version.3.
10b60 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 of.the.License,.or.(at.your.opti
10b80 6f 6e 29 0a 20 20 20 20 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 20 20 20 on)......any.later.version......
10ba0 20 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 ..This.document.is.distributed.i
10bc0 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 65 66 75 n.the.hope.that.it.will.be.usefu
10be0 6c 2c 0a 20 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 l,......but.WITHOUT.ANY.WARRANTY
10c00 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 61 ;.without.even.the.implied.warra
10c20 6e 74 79 20 6f 66 0a 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 nty.of......MERCHANTABILITY.or.F
10c40 49 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 ITNESS.FOR.A.PARTICULAR.PURPOSE.
10c60 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 ..See.the.GNU......General.Publi
10c80 63 20 4c 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 49 4e 46 c.License.for.more.details...INF
10ca0 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 45 6d 61 63 73 0a 53 54 41 52 54 2d 49 4e 46 4f 2d 44 O-DIR-SECTION.Emacs.START-INFO-D
10cc0 49 52 2d 45 4e 54 52 59 0a 2a 20 57 69 74 68 2d 45 64 69 74 6f 72 3a 20 28 77 69 74 68 2d 65 64 IR-ENTRY.*.With-Editor:.(with-ed
10ce0 69 74 6f 72 29 2e 20 55 73 69 6e 67 20 74 68 65 20 45 6d 61 63 73 63 6c 69 65 6e 74 20 61 73 20 itor)..Using.the.Emacsclient.as.
10d00 24 45 44 49 54 4f 52 2e 0a 45 4e 44 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 0a 1f 0a 46 $EDITOR..END-INFO-DIR-ENTRY....F
10d20 69 6c 65 3a 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c ile:.docD4uajf.info,..Node:.Top,
10d40 20 20 4e 65 78 74 3a 20 55 73 69 6e 67 20 74 68 65 20 57 69 74 68 2d 45 64 69 74 6f 72 20 70 61 ..Next:.Using.the.With-Editor.pa
10d60 63 6b 61 67 65 2c 20 20 55 70 3a 20 28 64 69 72 29 0a 0a 57 69 74 68 2d 45 64 69 74 6f 72 20 55 ckage,..Up:.(dir)..With-Editor.U
10d80 73 65 72 20 4d 61 6e 75 61 6c 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ser.Manual.*********************
10da0 2a 2a 0a 0a 54 68 65 20 6c 69 62 72 61 72 79 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 e2 80 **..The.library....with-editor..
10dc0 99 20 6d 61 6b 65 73 20 69 74 20 65 61 73 79 20 74 6f 20 75 73 65 20 74 68 65 20 45 6d 61 63 73 ..makes.it.easy.to.use.the.Emacs
10de0 63 6c 69 65 6e 74 20 61 73 20 74 68 65 0a e2 80 98 24 45 44 49 54 4f 52 e2 80 99 20 6f 66 20 63 client.as.the....$EDITOR....of.c
10e00 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2c 20 6d 61 6b 69 6e 67 20 73 75 72 65 20 74 68 65 79 hild.processes,.making.sure.they
10e20 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 63 61 6c 6c 20 68 6f 6d 65 2e 0a 46 6f 72 20 72 65 6d 6f .know.how.to.call.home..For.remo
10e40 74 65 20 70 72 6f 63 65 73 73 65 73 20 61 20 73 75 62 73 74 69 74 75 74 65 20 69 73 20 70 72 6f te.processes.a.substitute.is.pro
10e60 76 69 64 65 64 2c 20 77 68 69 63 68 20 63 6f 6d 6d 75 6e 69 63 61 74 65 73 20 77 69 74 68 0a 45 vided,.which.communicates.with.E
10e80 6d 61 63 73 20 6f 6e 20 73 74 61 6e 64 61 72 64 20 6f 75 74 70 75 74 20 69 6e 73 74 65 61 64 20 macs.on.standard.output.instead.
10ea0 6f 66 20 75 73 69 6e 67 20 61 20 73 6f 63 6b 65 74 20 61 73 20 74 68 65 20 45 6d 61 63 73 63 6c of.using.a.socket.as.the.Emacscl
10ec0 69 65 6e 74 0a 64 6f 65 73 2e 0a 0a 20 20 20 54 68 69 73 20 6c 69 62 72 61 72 79 20 77 61 73 20 ient.does......This.library.was.
10ee0 77 72 69 74 74 65 6e 20 62 65 63 61 75 73 65 20 4d 61 67 69 74 20 68 61 73 20 74 6f 20 62 65 20 written.because.Magit.has.to.be.
10f00 61 62 6c 65 20 74 6f 20 64 6f 20 74 68 65 20 61 62 6f 76 65 0a 74 6f 20 61 6c 6c 6f 77 20 74 68 able.to.do.the.above.to.allow.th
10f20 65 20 75 73 65 72 20 74 6f 20 65 64 69 74 20 63 6f 6d 6d 69 74 20 6d 65 73 73 61 67 65 73 20 67 e.user.to.edit.commit.messages.g
10f40 72 61 63 65 66 75 6c 6c 79 20 61 6e 64 20 74 6f 20 65 64 69 74 20 72 65 62 61 73 65 0a 73 65 71 racefully.and.to.edit.rebase.seq
10f60 75 65 6e 63 65 73 2c 20 77 68 69 63 68 20 77 6f 75 6c 64 6e e2 80 99 74 20 62 65 20 70 6f 73 73 uences,.which.wouldn...t.be.poss
10f80 69 62 6c 65 20 61 74 20 61 6c 6c 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 42 65 63 61 75 ible.at.all.otherwise......Becau
10fa0 73 65 20 6f 74 68 65 72 20 70 61 63 6b 61 67 65 73 20 63 61 6e 20 62 65 6e 65 66 69 74 20 66 72 se.other.packages.can.benefit.fr
10fc0 6f 6d 20 73 75 63 68 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2c 20 74 68 69 73 0a 6c 69 62 72 om.such.functionality,.this.libr
10fe0 61 72 79 20 69 73 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 61 73 20 61 20 73 65 70 61 72 ary.is.made.available.as.a.separ
11000 61 74 65 20 70 61 63 6b 61 67 65 2e 20 20 49 74 20 61 6c 73 6f 20 64 65 66 69 6e 65 73 20 73 6f ate.package...It.also.defines.so
11020 6d 65 0a 61 64 64 69 74 69 6f 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 77 68 69 63 me.additional.functionality.whic
11040 68 20 6d 61 6b 65 73 20 69 74 20 75 73 65 66 75 6c 20 65 76 65 6e 20 66 6f 72 20 65 6e 64 2d 75 h.makes.it.useful.even.for.end-u
11060 73 65 72 73 2c 20 77 68 6f 0a 64 6f 6e e2 80 99 74 20 75 73 65 20 4d 61 67 69 74 20 6f 72 20 61 sers,.who.don...t.use.Magit.or.a
11080 6e 6f 74 68 65 72 20 70 61 63 6b 61 67 65 20 77 68 69 63 68 20 75 73 65 73 20 69 74 20 69 6e 74 nother.package.which.uses.it.int
110a0 65 72 6e 61 6c 6c 79 2e 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 69 73 20 66 6f 72 20 57 69 74 ernally...This.manual.is.for.Wit
110c0 68 2d 45 64 69 74 6f 72 20 76 65 72 73 69 6f 6e 20 33 2e 34 2e 36 2e 0a 0a 20 20 20 20 20 43 6f h-Editor.version.3.4.6........Co
110e0 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 2d 32 30 32 35 20 4a 6f 6e 61 73 20 42 65 72 6e pyright.(C).2015-2025.Jonas.Bern
11100 6f 75 6c 6c 69 0a 20 20 20 20 20 3c 65 6d 61 63 73 2e 77 69 74 68 2d 65 64 69 74 6f 72 40 6a 6f oulli......<emacs.with-editor@jo
11120 6e 61 73 2e 62 65 72 6e 6f 75 6c 6c 69 2e 64 65 76 3e 0a 0a 20 20 20 20 20 59 6f 75 20 63 61 6e nas.bernoulli.dev>.......You.can
11140 20 72 65 64 69 73 74 72 69 62 75 74 65 20 74 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 61 6e 64 2f .redistribute.this.document.and/
11160 6f 72 20 6d 6f 64 69 66 79 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 0a 20 20 20 or.modify.it.under.the.terms....
11180 20 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 ..of.the.GNU.General.Public.Lice
111a0 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 nse.as.published.by.the.Free.Sof
111c0 74 77 61 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 tware......Foundation,.either.ve
111e0 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 20 28 61 74 20 79 rsion.3.of.the.License,.or.(at.y
11200 6f 75 72 20 6f 70 74 69 6f 6e 29 0a 20 20 20 20 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 our.option)......any.later.versi
11220 6f 6e 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 64 6f 63 75 6d 65 6e 74 20 69 73 20 64 69 73 74 72 on........This.document.is.distr
11240 69 62 75 74 65 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 ibuted.in.the.hope.that.it.will.
11260 62 65 20 75 73 65 66 75 6c 2c 0a 20 20 20 20 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 be.useful,......but.WITHOUT.ANY.
11280 57 41 52 52 41 4e 54 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 WARRANTY;.without.even.the.impli
112a0 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 20 20 20 20 20 4d 45 52 43 48 41 4e 54 41 42 49 4c ed.warranty.of......MERCHANTABIL
112c0 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 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
112e0 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 20 47 4e 55 0a 20 20 20 20 20 47 65 6e 65 72 PURPOSE...See.the.GNU......Gener
11300 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 65 74 61 69 al.Public.License.for.more.detai
11320 6c 73 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 55 73 69 6e 67 20 74 68 65 20 57 69 74 68 2d 45 ls...*.Menu:..*.Using.the.With-E
11340 64 69 74 6f 72 20 70 61 63 6b 61 67 65 3a 3a 0a 2a 20 55 73 69 6e 67 20 57 69 74 68 2d 45 64 69 ditor.package::.*.Using.With-Edi
11360 74 6f 72 20 61 73 20 61 20 6c 69 62 72 61 72 79 3a 3a 0a 2a 20 44 65 62 75 67 67 69 6e 67 3a 3a tor.as.a.library::.*.Debugging::
11380 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 61 6e 64 20 43 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 3a 3a 0a .*.Function.and.Command.Index::.
113a0 2a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 3a 3a 0a 0a e2 80 94 20 54 68 65 20 44 65 74 61 *.Variable.Index::......The.Deta
113c0 69 6c 65 64 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 e2 80 94 0a 0a 55 73 69 6e 67 20 74 68 65 iled.Node.Listing......Using.the
113e0 20 57 69 74 68 2d 45 64 69 74 6f 72 20 70 61 63 6b 61 67 65 0a 0a 2a 20 43 6f 6e 66 69 67 75 72 .With-Editor.package..*.Configur
11400 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 3a 3a 0a 2a 20 55 73 69 6e 67 20 57 69 74 68 2d 45 ing.With-Editor::.*.Using.With-E
11420 64 69 74 6f 72 20 63 6f 6d 6d 61 6e 64 73 3a 3a 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 44 34 ditor.commands::.....File:.docD4
11440 75 61 6a 66 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 73 69 6e 67 20 74 68 65 20 57 69 74 68 uajf.info,..Node:.Using.the.With
11460 2d 45 64 69 74 6f 72 20 70 61 63 6b 61 67 65 2c 20 20 4e 65 78 74 3a 20 55 73 69 6e 67 20 57 69 -Editor.package,..Next:.Using.Wi
11480 74 68 2d 45 64 69 74 6f 72 20 61 73 20 61 20 6c 69 62 72 61 72 79 2c 20 20 50 72 65 76 3a 20 54 th-Editor.as.a.library,..Prev:.T
114a0 6f 70 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 31 20 55 73 69 6e 67 20 74 68 65 20 57 69 74 68 2d 45 op,..Up:.Top..1.Using.the.With-E
114c0 64 69 74 6f 72 20 70 61 63 6b 61 67 65 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ditor.package.******************
114e0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 65 20 e2 80 98 57 69 74 68 2d 45 64 69 74 6f *************..The....With-Edito
11500 72 e2 80 99 20 70 61 63 6b 61 67 65 20 69 73 20 75 73 65 64 20 69 6e 74 65 72 6e 61 6c 6c 79 20 r....package.is.used.internally.
11520 62 79 20 4d 61 67 69 74 20 77 68 65 6e 20 65 64 69 74 69 6e 67 0a 63 6f 6d 6d 69 74 20 6d 65 73 by.Magit.when.editing.commit.mes
11540 73 61 67 65 73 20 61 6e 64 20 72 65 62 61 73 65 20 73 65 71 75 65 6e 63 65 73 2e 20 20 49 74 20 sages.and.rebase.sequences...It.
11560 61 6c 73 6f 20 70 72 6f 76 69 64 65 73 20 73 6f 6d 65 20 63 6f 6d 6d 61 6e 64 73 0a 61 6e 64 20 also.provides.some.commands.and.
11580 66 65 61 74 75 72 65 73 20 77 68 69 63 68 20 61 72 65 20 75 73 65 66 75 6c 20 62 79 20 74 68 65 features.which.are.useful.by.the
115a0 6d 73 65 6c 76 65 73 2c 20 65 76 65 6e 20 69 66 20 79 6f 75 20 64 6f 6e e2 80 99 74 20 75 73 65 mselves,.even.if.you.don...t.use
115c0 0a 4d 61 67 69 74 2e 0a 0a 20 20 20 46 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 .Magit......For.information.abou
115e0 74 20 75 73 69 6e 67 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 69 6e 20 79 6f 75 72 20 6f 77 6e t.using.this.library.in.your.own
11600 20 70 61 63 6b 61 67 65 2c 20 73 65 65 0a 2a 6e 6f 74 65 20 55 73 69 6e 67 20 57 69 74 68 2d 45 .package,.see.*note.Using.With-E
11620 64 69 74 6f 72 20 61 73 20 61 20 6c 69 62 72 61 72 79 3a 3a 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a ditor.as.a.library::...*.Menu:..
11640 2a 20 43 6f 6e 66 69 67 75 72 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 3a 3a 0a 2a 20 55 73 *.Configuring.With-Editor::.*.Us
11660 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 63 6f 6d 6d 61 6e 64 73 3a 3a 0a 0a 1f 0a 46 69 ing.With-Editor.commands::....Fi
11680 6c 65 3a 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 43 6f 6e 66 69 le:.docD4uajf.info,..Node:.Confi
116a0 67 75 72 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 2c 20 20 4e 65 78 74 3a 20 55 73 69 6e 67 guring.With-Editor,..Next:.Using
116c0 20 57 69 74 68 2d 45 64 69 74 6f 72 20 63 6f 6d 6d 61 6e 64 73 2c 20 20 55 70 3a 20 55 73 69 6e .With-Editor.commands,..Up:.Usin
116e0 67 20 74 68 65 20 57 69 74 68 2d 45 64 69 74 6f 72 20 70 61 63 6b 61 67 65 0a 0a 31 2e 31 20 43 g.the.With-Editor.package..1.1.C
11700 6f 6e 66 69 67 75 72 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d onfiguring.With-Editor.=========
11720 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 57 69 74 68 2d 45 64 69 74 6f 72 20 ==================..With-Editor.
11740 74 72 69 65 73 20 76 65 72 79 20 68 61 72 64 20 74 6f 20 6c 6f 63 61 74 65 20 61 20 73 75 69 74 tries.very.hard.to.locate.a.suit
11760 61 62 6c 65 20 e2 80 98 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 99 0a 65 78 65 63 75 74 61 62 6c able....emacsclient....executabl
11780 65 2c 20 73 6f 20 69 64 65 61 6c 6c 79 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 68 e,.so.ideally.you.should.never.h
117a0 61 76 65 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 65 20 6f 70 74 69 6f 6e 0a e2 80 98 77 ave.to.customize.the.option....w
117c0 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c ith-editor-emacsclient-executabl
117e0 65 e2 80 99 2e 20 20 57 68 65 6e 20 69 74 20 66 61 69 6c 73 20 74 6f 20 64 6f 20 73 6f 2c 20 74 e......When.it.fails.to.do.so,.t
11800 68 65 6e 20 74 68 65 0a 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 72 65 61 73 6f 6e 20 69 73 20 74 68 hen.the.most.likely.reason.is.th
11820 61 74 20 73 6f 6d 65 6f 6e 65 20 66 6f 75 6e 64 20 79 65 74 20 61 6e 6f 74 68 65 72 20 77 61 79 at.someone.found.yet.another.way
11840 20 74 6f 20 70 61 63 6b 61 67 65 0a 45 6d 61 63 73 20 28 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 6f .to.package.Emacs.(most.likely.o
11860 6e 20 6d 61 63 4f 53 29 20 77 69 74 68 6f 75 74 20 70 75 74 74 69 6e 67 20 74 68 65 20 65 78 65 n.macOS).without.putting.the.exe
11880 63 75 74 61 62 6c 65 20 6f 6e 20 e2 80 98 24 50 41 54 48 e2 80 99 2c 0a 61 6e 64 20 77 65 20 68 cutable.on....$PATH...,.and.we.h
118a0 61 76 65 20 74 6f 20 61 64 64 20 61 6e 6f 74 68 65 72 20 6b 6c 75 64 67 65 20 74 6f 20 66 69 6e ave.to.add.another.kludge.to.fin
118c0 64 20 69 74 20 61 6e 79 77 61 79 2e 0a 0a 55 73 65 72 20 4f 70 74 69 6f 6e 3a 20 77 69 74 68 2d d.it.anyway...User.Option:.with-
118e0 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c 65 0a 20 20 editor-emacsclient-executable...
11900 20 20 20 54 68 65 20 e2 80 98 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 99 20 65 78 65 63 75 74 61 ...The....emacsclient....executa
11920 62 6c 65 20 75 73 65 64 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 20 62 79 20 63 68 69 6c 64 20 ble.used.as.the.editor.by.child.
11940 70 72 6f 63 65 73 73 65 73 0a 20 20 20 20 20 6f 66 20 74 68 69 73 20 45 6d 61 63 73 20 69 6e 73 processes......of.this.Emacs.ins
11960 74 61 6e 63 65 2e 20 20 42 79 20 75 73 69 6e 67 20 74 68 69 73 20 65 78 65 63 75 74 61 62 6c 65 tance...By.using.this.executable
11980 2c 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 0a 20 20 20 20 20 63 61 6e 20 63 61 6c 6c 20 ,.child.processes......can.call.
119a0 68 6f 6d 65 20 74 6f 20 74 68 65 69 72 20 70 61 72 65 6e 74 20 70 72 6f 63 65 73 73 2e 0a 0a 20 home.to.their.parent.process....
119c0 20 20 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 ....This.option.is.automatically
119e0 20 73 65 74 20 61 74 20 73 74 61 72 74 75 70 20 62 79 20 6c 6f 6f 6b 69 6e 67 20 69 6e 0a 20 20 .set.at.startup.by.looking.in...
11a00 20 20 20 e2 80 98 65 78 65 63 2d 70 61 74 68 e2 80 99 2c 20 61 6e 64 20 6f 74 68 65 72 20 70 6c ......exec-path...,.and.other.pl
11a20 61 63 65 73 20 77 68 65 72 65 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 63 6f 75 6c 64 20 aces.where.the.executable.could.
11a40 62 65 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 2c 20 74 6f 20 66 69 6e 64 20 74 68 65 20 e2 be......installed,.to.find.the..
11a60 80 98 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 99 20 65 78 65 63 75 74 61 62 6c 65 20 6d 6f 73 74 ..emacsclient....executable.most
11a80 20 73 75 69 74 61 62 6c 65 20 66 6f 72 0a 20 20 20 20 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 .suitable.for......the.current.E
11aa0 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 2e 0a 0a 20 20 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 macs.instance........You.should.
11ac0 2a 6e 6f 74 2a 20 63 75 73 74 6f 6d 69 7a 65 20 74 68 69 73 20 6f 70 74 69 6f 6e 20 70 65 72 6d *not*.customize.this.option.perm
11ae0 61 6e 65 6e 74 6c 79 2e 20 20 49 66 20 79 6f 75 20 68 61 76 65 20 74 6f 0a 20 20 20 20 20 64 6f anently...If.you.have.to......do
11b00 20 69 74 2c 20 74 68 65 6e 20 79 6f 75 20 73 68 6f 75 6c 64 20 63 6f 6e 73 69 64 65 72 20 74 68 .it,.then.you.should.consider.th
11b20 61 74 20 61 20 74 65 6d 70 6f 72 61 72 79 20 6b 6c 75 64 67 65 20 61 6e 64 20 69 6e 66 6f 72 6d at.a.temporary.kludge.and.inform
11b40 0a 20 20 20 20 20 74 68 65 20 4d 61 67 69 74 20 6d 61 69 6e 74 61 69 6e 65 72 20 61 73 20 64 65 ......the.Magit.maintainer.as.de
11b60 73 63 72 69 62 65 64 20 69 6e 20 2a 6e 6f 74 65 20 44 65 62 75 67 67 69 6e 67 3a 3a 2e 0a 0a 20 scribed.in.*note.Debugging::....
11b80 20 20 20 20 49 66 20 57 69 74 68 2d 45 64 69 74 6f 72 20 66 61 69 6c 73 20 74 6f 20 66 69 6e 64 ....If.With-Editor.fails.to.find
11ba0 20 61 20 73 75 69 74 61 62 6c 65 20 e2 80 98 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 99 20 6f 6e .a.suitable....emacsclient....on
11bc0 20 79 6f 75 72 0a 20 20 20 20 20 73 79 73 74 65 6d 2c 20 74 68 65 6e 20 74 68 69 73 20 73 68 6f .your......system,.then.this.sho
11be0 75 6c 64 20 62 65 20 66 69 78 65 64 20 66 6f 72 20 61 6c 6c 20 75 73 65 72 73 20 61 74 20 6f 6e uld.be.fixed.for.all.users.at.on
11c00 63 65 2c 20 62 79 0a 20 20 20 20 20 74 65 61 63 68 69 6e 67 20 e2 80 98 77 69 74 68 2d 65 64 69 ce,.by......teaching....with-edi
11c20 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 99 20 68 6f 77 20 74 6f tor-locate-emacsclient....how.to
11c40 20 64 6f 20 73 6f 20 6f 6e 20 79 6f 75 72 0a 20 20 20 20 20 73 79 73 74 65 6d 20 61 6e 64 20 73 .do.so.on.your......system.and.s
11c60 79 73 74 65 6d 73 20 6c 69 6b 65 20 79 6f 75 72 73 2e 20 20 44 6f 69 6e 67 20 69 74 20 74 68 69 ystems.like.yours...Doing.it.thi
11c80 73 20 77 61 79 20 68 61 73 20 74 68 65 0a 20 20 20 20 20 61 64 76 61 6e 74 61 67 65 2c 20 74 68 s.way.has.the......advantage,.th
11ca0 61 74 20 79 6f 75 20 77 6f 6e e2 80 99 74 20 68 61 76 65 20 64 6f 20 69 74 20 61 67 61 69 6e 20 at.you.won...t.have.do.it.again.
11cc0 65 76 65 72 79 20 74 69 6d 65 20 79 6f 75 20 75 70 64 61 74 65 0a 20 20 20 20 20 45 6d 61 63 73 every.time.you.update......Emacs
11ce0 2c 20 61 6e 64 20 74 68 61 74 20 6f 74 68 65 72 20 75 73 65 72 73 20 77 68 6f 20 68 61 76 65 20 ,.and.that.other.users.who.have.
11d00 69 6e 73 74 61 6c 6c 65 64 20 45 6d 61 63 73 20 74 68 65 20 73 61 6d 65 20 77 61 79 0a 20 20 20 installed.Emacs.the.same.way....
11d20 20 20 61 73 20 79 6f 75 20 68 61 76 65 2c 20 77 6f 6e e2 80 99 74 20 68 61 76 65 20 74 6f 20 67 ..as.you.have,.won...t.have.to.g
11d40 6f 20 74 68 72 6f 75 67 68 20 74 68 65 20 73 61 6d 65 20 74 72 6f 75 62 6c 65 2e 0a 0a 20 20 20 o.through.the.same.trouble......
11d60 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 72 65 20 61 6c 73 6f 20 69 73 20 61 20 6e 75 63 6c ..Note.that.there.also.is.a.nucl
11d80 65 61 72 20 6f 70 74 69 6f 6e 3b 20 73 65 74 74 69 6e 67 20 74 68 69 73 20 76 61 72 69 61 62 6c ear.option;.setting.this.variabl
11da0 65 20 74 6f 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 63 61 75 73 65 73 20 74 68 65 20 22 e.to.........nil....causes.the."
11dc0 73 6c 65 65 70 69 6e 67 20 65 64 69 74 6f 72 22 20 64 65 73 63 72 69 62 65 64 20 62 65 6c 6f 77 sleeping.editor".described.below
11de0 20 74 6f 20 62 65 20 75 73 65 64 20 65 76 65 6e 0a 20 20 20 20 20 66 6f 72 20 6c 6f 63 61 6c 20 .to.be.used.even......for.local.
11e00 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2e 20 20 4f 62 76 69 6f 75 73 6c 79 20 77 65 20 64 child.processes...Obviously.we.d
11e20 6f 6e e2 80 99 74 20 72 65 63 6f 6d 6d 65 6e 64 20 74 68 61 74 20 79 6f 75 0a 20 20 20 20 20 75 on...t.recommend.that.you......u
11e40 73 65 20 74 68 69 73 20 65 78 63 65 70 74 20 69 6e 20 22 65 6d 65 72 67 65 6e 63 69 65 73 22 2c se.this.except.in."emergencies",
11e60 20 69 2e 65 2e 2c 20 62 65 66 6f 72 65 20 77 65 20 68 61 64 20 61 20 63 68 61 6e 67 65 20 74 6f .i.e.,.before.we.had.a.change.to
11e80 0a 20 20 20 20 20 61 64 64 20 61 20 6b 6c 75 64 67 65 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 ......add.a.kludge.appropriate.f
11ea0 6f 72 20 79 6f 75 72 20 73 65 74 75 70 2e 0a 0a 46 75 6e 63 74 69 6f 6e 3a 20 77 69 74 68 2d 65 or.your.setup...Function:.with-e
11ec0 64 69 74 6f 72 2d 6c 6f 63 61 74 65 2d 65 6d 61 63 73 63 6c 69 65 6e 74 0a 20 20 20 20 20 54 68 ditor-locate-emacsclient......Th
11ee0 65 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 64 20 74 6f 20 73 65 74 20 74 68 65 20 69 6e 69 74 69 e.function.used.to.set.the.initi
11f00 61 6c 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 77 al.value.of.the.option.........w
11f20 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 75 74 61 62 6c ith-editor-emacsclient-executabl
11f40 65 e2 80 99 2e 20 20 54 68 65 72 65 e2 80 99 73 20 61 20 6c 6f 74 20 6f 66 20 76 6f 6f 64 6f 6f e......There...s.a.lot.of.voodoo
11f60 0a 20 20 20 20 20 68 65 72 65 2e 0a 0a 20 20 20 54 68 65 20 e2 80 98 65 6d 61 63 73 63 6c 69 65 ......here......The....emacsclie
11f80 6e 74 e2 80 99 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 77 68 65 6e 20 75 73 69 6e 67 20 nt....cannot.be.used.when.using.
11fa0 54 72 61 6d 70 20 74 6f 20 72 75 6e 20 61 20 70 72 6f 63 65 73 73 20 6f 6e 0a 61 20 72 65 6d 6f Tramp.to.run.a.process.on.a.remo
11fc0 74 65 20 6d 61 63 68 69 6e 65 2e 20 20 28 54 68 65 6f 72 65 74 69 63 61 6c 6c 79 20 69 74 20 63 te.machine...(Theoretically.it.c
11fe0 6f 75 6c 64 2c 20 62 75 74 20 74 68 61 74 20 77 6f 75 6c 64 20 62 65 20 68 61 72 64 20 74 6f 0a ould,.but.that.would.be.hard.to.
12000 73 65 74 75 70 2c 20 76 65 72 79 20 66 72 61 67 69 6c 65 2c 20 61 6e 64 20 72 61 74 68 65 72 20 setup,.very.fragile,.and.rather.
12020 69 6e 73 65 63 75 72 65 29 2e 0a 0a 20 20 20 57 69 74 68 2d 45 64 69 74 6f 72 20 70 72 6f 76 69 insecure)......With-Editor.provi
12040 64 65 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 20 22 65 64 69 74 6f 72 22 20 77 68 69 63 des.an.alternative."editor".whic
12060 68 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 79 0a 72 65 6d 6f 74 65 20 70 72 6f 63 65 73 73 65 h.can.be.used.by.remote.processe
12080 73 20 69 6e 20 6d 75 63 68 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 61 73 20 6c 6f 63 61 6c 20 s.in.much.the.same.way.as.local.
120a0 70 72 6f 63 65 73 73 65 73 20 75 73 65 20 61 6e 0a e2 80 98 65 6d 61 63 73 63 6c 69 65 6e 74 e2 processes.use.an....emacsclient.
120c0 80 99 20 65 78 65 63 75 74 61 62 6c 65 2e 20 20 54 68 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 ...executable...This.alternative
120e0 20 69 73 20 6b 6e 6f 77 6e 20 61 73 20 74 68 65 20 22 73 6c 65 65 70 69 6e 67 0a 65 64 69 74 6f .is.known.as.the."sleeping.edito
12100 72 22 20 62 65 63 61 75 73 65 20 69 74 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 61 73 20 r".because.it.is.implemented.as.
12120 61 20 73 68 65 6c 6c 20 73 63 72 69 70 74 20 77 68 69 63 68 20 73 6c 65 65 70 73 20 75 6e 74 69 a.shell.script.which.sleeps.unti
12140 6c 0a 69 74 20 72 65 63 65 69 76 65 73 20 61 20 73 69 67 6e 61 6c 2e 0a 0a 55 73 65 72 20 4f 70 l.it.receives.a.signal...User.Op
12160 74 69 6f 6e 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 6c 65 65 70 69 6e 67 2d 65 64 69 74 6f tion:.with-editor-sleeping-edito
12180 72 0a 20 20 20 20 20 54 68 65 20 73 6c 65 65 70 69 6e 67 20 65 64 69 74 6f 72 20 69 73 20 61 20 r......The.sleeping.editor.is.a.
121a0 73 68 65 6c 6c 20 73 63 72 69 70 74 20 75 73 65 64 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 20 shell.script.used.as.the.editor.
121c0 6f 66 20 63 68 69 6c 64 0a 20 20 20 20 20 70 72 6f 63 65 73 73 65 73 20 77 68 65 6e 20 74 68 65 of.child......processes.when.the
121e0 20 e2 80 98 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 99 20 65 78 65 63 75 74 61 62 6c 65 20 63 61 ....emacsclient....executable.ca
12200 6e 6e 6f 74 20 62 65 20 75 73 65 64 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 61 6c 6c 62 61 63 nnot.be.used........This.fallbac
12220 6b 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 20 70 72 6f 63 65 k.is.used.for.asynchronous.proce
12240 73 73 65 73 20 73 74 61 72 74 65 64 20 69 6e 73 69 64 65 20 74 68 65 0a 20 20 20 20 20 6d 61 63 sses.started.inside.the......mac
12260 72 6f 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 e2 80 99 2c 20 77 68 65 6e 20 74 68 65 20 70 ro....with-editor...,.when.the.p
12280 72 6f 63 65 73 73 20 72 75 6e 73 20 6f 6e 20 61 20 72 65 6d 6f 74 65 20 6d 61 63 68 69 6e 65 20 rocess.runs.on.a.remote.machine.
122a0 6f 72 0a 20 20 20 20 20 66 6f 72 20 6c 6f 63 61 6c 20 70 72 6f 63 65 73 73 65 73 20 77 68 65 6e or......for.local.processes.when
122c0 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 65 63 ....with-editor-emacsclient-exec
122e0 75 74 61 62 6c 65 e2 80 99 20 69 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 utable....is.........nil........
12300 20 20 20 57 68 65 72 65 20 74 68 65 20 6c 61 74 74 65 72 20 75 73 65 73 20 61 20 73 6f 63 6b 65 ...Where.the.latter.uses.a.socke
12320 74 20 74 6f 20 63 6f 6d 6d 75 6e 69 63 61 74 65 20 77 69 74 68 20 45 6d 61 63 73 e2 80 99 20 73 t.to.communicate.with.Emacs....s
12340 65 72 76 65 72 2c 0a 20 20 20 20 20 74 68 69 73 20 73 75 62 73 74 69 74 75 74 65 20 70 72 69 6e erver,......this.substitute.prin
12360 74 73 20 65 64 69 74 20 72 65 71 75 65 73 74 73 20 74 6f 20 69 74 73 20 73 74 61 6e 64 61 72 64 ts.edit.requests.to.its.standard
12380 20 6f 75 74 70 75 74 20 6f 6e 0a 20 20 20 20 20 77 68 69 63 68 20 61 20 70 72 6f 63 65 73 73 20 .output.on......which.a.process.
123a0 66 69 6c 74 65 72 20 6c 69 73 74 65 6e 73 20 66 6f 72 20 73 75 63 68 20 72 65 71 75 65 73 74 73 filter.listens.for.such.requests
123c0 2e 20 20 41 73 20 73 75 63 68 20 69 74 20 69 73 0a 20 20 20 20 20 6e 6f 74 20 61 20 63 6f 6d 70 ...As.such.it.is......not.a.comp
123e0 6c 65 74 65 20 73 75 62 73 74 69 74 75 74 65 20 66 6f 72 20 61 20 70 72 6f 70 65 72 20 e2 80 98 lete.substitute.for.a.proper....
12400 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 99 2c 20 69 74 20 63 61 6e 20 6f 6e 6c 79 0a 20 20 20 20 emacsclient...,.it.can.only.....
12420 20 62 65 20 75 73 65 64 20 61 73 20 e2 80 98 24 45 44 49 54 4f 52 e2 80 99 20 6f 66 20 63 68 69 .be.used.as....$EDITOR....of.chi
12440 6c 64 20 70 72 6f 63 65 73 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 0a ld.process.of.the.current.Emacs.
12460 20 20 20 20 20 69 6e 73 74 61 6e 63 65 2e 0a 0a 20 20 20 20 20 53 6f 6d 65 20 73 68 65 6c 6c 73 .....instance........Some.shells
12480 20 64 6f 20 6e 6f 74 20 65 78 65 63 75 74 65 20 74 72 61 70 73 20 69 6d 6d 65 64 69 61 74 65 6c .do.not.execute.traps.immediatel
124a0 79 20 77 68 65 6e 20 77 61 69 74 69 6e 67 20 66 6f 72 20 61 0a 20 20 20 20 20 63 68 69 6c 64 20 y.when.waiting.for.a......child.
124c0 70 72 6f 63 65 73 73 2c 20 62 75 74 20 62 79 20 64 65 66 61 75 6c 74 20 77 65 20 64 6f 20 75 73 process,.but.by.default.we.do.us
124e0 65 20 73 75 63 68 20 61 20 62 6c 6f 63 6b 69 6e 67 20 63 68 69 6c 64 0a 20 20 20 20 20 70 72 6f e.such.a.blocking.child......pro
12500 63 65 73 73 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 75 73 65 20 73 75 63 68 20 61 20 73 68 cess........If.you.use.such.a.sh
12520 65 6c 6c 20 28 65 2e 67 2e 2c 20 e2 80 98 63 73 68 e2 80 99 20 6f 6e 20 46 72 65 65 42 53 44 2c ell.(e.g.,....csh....on.FreeBSD,
12540 20 62 75 74 20 6e 6f 74 20 44 65 62 69 61 6e 29 2c 0a 20 20 20 20 20 74 68 65 6e 20 79 6f 75 20 .but.not.Debian),......then.you.
12560 68 61 76 65 20 74 6f 20 65 64 69 74 20 74 68 69 73 20 6f 70 74 69 6f 6e 2e 20 20 59 6f 75 20 63 have.to.edit.this.option...You.c
12580 61 6e 20 65 69 74 68 65 72 20 72 65 70 6c 61 63 65 20 e2 80 98 73 68 e2 80 99 0a 20 20 20 20 20 an.either.replace....sh.........
125a0 77 69 74 68 20 e2 80 98 62 61 73 68 e2 80 99 20 28 61 6e 64 20 69 6e 73 74 61 6c 6c 20 74 68 61 with....bash....(and.install.tha
125c0 74 29 2c 20 6f 72 20 79 6f 75 20 63 61 6e 20 75 73 65 20 74 68 65 20 6f 6c 64 65 72 2c 20 6c 65 t),.or.you.can.use.the.older,.le
125e0 73 73 0a 20 20 20 20 20 70 65 72 66 6f 72 6d 61 6e 74 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f ss......performant.implementatio
12600 6e 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 22 73 68 20 2d 63 20 27 5c 0a 20 20 20 20 20 20 20 20 n:............"sh.-c.'\.........
12620 20 20 65 63 68 6f 20 5c 22 57 49 54 48 2d 45 44 49 54 4f 52 3a 20 24 24 20 4f 50 45 4e 20 24 30 ..echo.\"WITH-EDITOR:.$$.OPEN.$0
12640 1f 24 31 1f 20 49 4e 20 24 28 70 77 64 29 5c 22 3b 20 5c 0a 20 20 20 20 20 20 20 20 20 20 74 72 .$1..IN.$(pwd)\";.\...........tr
12660 61 70 20 5c 22 65 78 69 74 20 30 5c 22 20 55 53 52 31 3b 20 5c 0a 20 20 20 20 20 20 20 20 20 20 ap.\"exit.0\".USR1;.\...........
12680 74 72 61 70 20 5c 22 65 78 69 74 20 31 5c 22 20 55 53 52 32 3b 20 5c 0a 20 20 20 20 20 20 20 20 trap.\"exit.1\".USR2;.\.........
126a0 20 20 77 68 69 6c 65 20 74 72 75 65 3b 20 64 6f 20 73 6c 65 65 70 20 31 3b 20 64 6f 6e 65 27 22 ..while.true;.do.sleep.1;.done'"
126c0 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 75 6e 69 74 20 73 65 70 61 72 61 .......Note.that.the.unit.separa
126e0 74 6f 72 20 63 68 61 72 61 63 74 65 72 20 28 1f 29 20 72 69 67 68 74 20 61 66 74 65 72 20 74 68 tor.character.(.).right.after.th
12700 65 20 66 69 6c 65 20 6e 61 6d 65 0a 20 20 20 20 20 28 24 30 29 20 69 73 20 72 65 71 75 69 72 65 e.file.name......($0).is.require
12720 64 2e 0a 0a 20 20 20 20 20 41 6c 73 6f 20 6e 6f 74 65 20 74 68 61 74 20 75 73 69 6e 67 20 74 68 d........Also.note.that.using.th
12740 69 73 20 61 6c 74 65 72 6e 61 74 69 76 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6c 65 is.alternative.implementation.le
12760 61 64 73 20 74 6f 20 61 0a 20 20 20 20 20 64 65 6c 61 79 20 6f 66 20 75 70 20 74 6f 20 61 20 73 ads.to.a......delay.of.up.to.a.s
12780 65 63 6f 6e 64 2e 20 20 54 68 65 20 64 65 6c 61 79 20 63 61 6e 20 62 65 20 73 68 6f 72 74 65 6e econd...The.delay.can.be.shorten
127a0 65 64 20 62 79 20 72 65 70 6c 61 63 69 6e 67 0a 20 20 20 20 20 e2 80 98 73 6c 65 65 70 20 31 e2 ed.by.replacing.........sleep.1.
127c0 80 99 20 77 69 74 68 20 e2 80 98 73 6c 65 65 70 20 30 2e 30 31 e2 80 99 2c 20 6f 72 20 69 66 20 ...with....sleep.0.01...,.or.if.
127e0 79 6f 75 72 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 your.implementation.does.not....
12800 20 20 73 75 70 70 6f 72 74 20 66 6c 6f 61 74 73 2c 20 74 68 65 6e 20 62 79 20 75 73 69 6e 67 20 ..support.floats,.then.by.using.
12820 e2 80 98 6e 61 6e 6f 73 6c 65 65 70 e2 80 99 20 69 6e 73 74 65 61 64 2e 0a 0a 1f 0a 46 69 6c 65 ...nanosleep....instead.....File
12840 3a 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 55 73 69 6e 67 20 57 :.docD4uajf.info,..Node:.Using.W
12860 69 74 68 2d 45 64 69 74 6f 72 20 63 6f 6d 6d 61 6e 64 73 2c 20 20 50 72 65 76 3a 20 43 6f 6e 66 ith-Editor.commands,..Prev:.Conf
12880 69 67 75 72 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 2c 20 20 55 70 3a 20 55 73 69 6e 67 20 iguring.With-Editor,..Up:.Using.
128a0 74 68 65 20 57 69 74 68 2d 45 64 69 74 6f 72 20 70 61 63 6b 61 67 65 0a 0a 31 2e 32 20 55 73 69 the.With-Editor.package..1.2.Usi
128c0 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 63 6f 6d 6d 61 6e 64 73 0a 3d 3d 3d 3d 3d 3d 3d 3d ng.With-Editor.commands.========
128e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 69 73 20 73 65 63 ======================..This.sec
12900 74 69 6f 6e 20 64 65 73 63 72 69 62 65 73 20 68 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20 e2 80 tion.describes.how.to.use.the...
12920 98 77 69 74 68 2d 65 64 69 74 6f 72 e2 80 99 20 6c 69 62 72 61 72 79 20 5f 6f 75 74 73 69 64 65 .with-editor....library._outside
12940 5f 20 6f 66 0a 4d 61 67 69 74 2e 20 20 59 6f 75 20 64 6f 6e e2 80 99 74 20 6e 65 65 64 20 74 6f _.of.Magit...You.don...t.need.to
12960 20 6b 6e 6f 77 20 61 6e 79 20 6f 66 20 74 68 69 73 20 6a 75 73 74 20 74 6f 20 63 72 65 61 74 65 .know.any.of.this.just.to.create
12980 20 63 6f 6d 6d 69 74 73 20 75 73 69 6e 67 0a 4d 61 67 69 74 2e 0a 0a 20 20 20 54 68 65 20 63 6f .commits.using.Magit......The.co
129a0 6d 6d 61 6e 64 73 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c mmands....with-editor-async-shel
129c0 6c 2d 63 6f 6d 6d 61 6e 64 e2 80 99 20 61 6e 64 0a e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 2d l-command....and....with-editor-
129e0 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 e2 80 99 20 61 72 65 20 69 6e 74 65 6e 64 65 64 20 61 73 shell-command....are.intended.as
12a00 20 64 72 6f 70 20 69 6e 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 66 6f 72 0a e2 80 98 61 73 79 .drop.in.replacements.for....asy
12a20 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 e2 80 99 20 61 6e 64 20 e2 80 98 73 68 65 6c 6c nc-shell-command....and....shell
12a40 2d 63 6f 6d 6d 61 6e 64 e2 80 99 2e 20 20 54 68 65 79 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 -command......They.automatically
12a60 20 65 78 70 6f 72 74 0a e2 80 98 24 45 44 49 54 4f 52 e2 80 99 20 6d 61 6b 69 6e 67 20 73 75 72 .export....$EDITOR....making.sur
12a80 65 20 74 68 65 20 65 78 65 63 75 74 65 64 20 63 6f 6d 6d 61 6e 64 20 75 73 65 73 20 74 68 65 20 e.the.executed.command.uses.the.
12aa0 63 75 72 72 65 6e 74 20 45 6d 61 63 73 0a 69 6e 73 74 61 6e 63 65 20 61 73 20 22 74 68 65 20 65 current.Emacs.instance.as."the.e
12ac0 64 69 74 6f 72 22 2e 20 20 57 69 74 68 20 61 20 70 72 65 66 69 78 20 61 72 67 75 6d 65 6e 74 20 ditor"...With.a.prefix.argument.
12ae0 74 68 65 73 65 20 63 6f 6d 6d 61 6e 64 73 20 70 72 6f 6d 70 74 0a 66 6f 72 20 61 6e 20 61 6c 74 these.commands.prompt.for.an.alt
12b00 65 72 6e 61 74 69 76 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 73 75 ernative.environment.variable.su
12b20 63 68 20 61 73 20 e2 80 98 24 47 49 54 5f 45 44 49 54 4f 52 e2 80 99 2e 0a 0a 43 6f 6d 6d 61 6e ch.as....$GIT_EDITOR......Comman
12b40 64 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 d:.with-editor-async-shell-comma
12b60 6e 64 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6c 69 6b 65 20 e2 80 98 nd......This.command.is.like....
12b80 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 e2 80 99 2c 20 62 75 74 20 69 74 20 72 async-shell-command...,.but.it.r
12ba0 75 6e 73 20 74 68 65 20 73 68 65 6c 6c 0a 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 77 69 74 68 20 uns.the.shell......command.with.
12bc0 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 65 78 70 6f 72 the.current.Emacs.instance.expor
12be0 74 65 64 20 61 73 20 e2 80 98 24 45 44 49 54 4f 52 e2 80 99 2e 0a 0a 43 6f 6d 6d 61 6e 64 3a 20 ted.as....$EDITOR......Command:.
12c00 77 69 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 54 with-editor-shell-command......T
12c20 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6c 69 6b 65 20 e2 80 98 73 68 65 6c 6c 2d 63 6f 6d his.command.is.like....shell-com
12c40 6d 61 6e 64 e2 80 99 2c 20 62 75 74 20 69 66 20 74 68 65 20 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e mand...,.but.if.the.shell.comman
12c60 64 20 65 6e 64 73 0a 20 20 20 20 20 77 69 74 68 20 e2 80 98 26 e2 80 99 20 61 6e 64 20 69 73 20 d.ends......with....&....and.is.
12c80 74 68 65 72 65 66 6f 72 65 20 72 75 6e 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 2c 20 74 68 therefore.run.asynchronously,.th
12ca0 65 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 20 45 6d 61 63 73 20 69 6e 73 74 61 6e en.the.current......Emacs.instan
12cc0 63 65 20 69 73 20 65 78 70 6f 72 74 65 64 20 61 73 20 e2 80 98 24 45 44 49 54 4f 52 e2 80 99 2e ce.is.exported.as....$EDITOR....
12ce0 0a 0a 20 20 20 54 6f 20 61 6c 77 61 79 73 20 75 73 65 20 74 68 65 73 65 20 76 61 72 69 61 6e 74 .....To.always.use.these.variant
12d00 73 20 61 64 64 20 74 68 69 73 20 74 6f 20 79 6f 75 72 20 69 6e 69 74 20 66 69 6c 65 3a 0a 0a 20 s.add.this.to.your.init.file:...
12d20 20 20 20 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 6d 61 70 3e 20 ....(keymap-global-set."<remap>.
12d40 3c 61 73 79 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 3e 22 0a 20 20 20 20 20 20 20 20 20 <async-shell-command>"..........
12d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 61 73 79 ...............#'with-editor-asy
12d80 6e 63 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 67 nc-shell-command)......(keymap-g
12da0 6c 6f 62 61 6c 2d 73 65 74 20 22 3c 72 65 6d 61 70 3e 20 3c 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e lobal-set."<remap>.<shell-comman
12dc0 64 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 23 27 77 69 d>".........................#'wi
12de0 74 68 2d 65 64 69 74 6f 72 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 29 0a 0a 20 20 20 41 6c 74 th-editor-shell-command).....Alt
12e00 65 72 6e 61 74 69 76 65 6c 79 20 75 73 65 20 74 68 65 20 67 6c 6f 62 61 6c 20 e2 80 98 73 68 65 ernatively.use.the.global....she
12e20 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f 72 2d 6d 6f 64 65 e2 80 99 2e 0a ll-command-with-editor-mode.....
12e40 0a 56 61 72 69 61 62 6c 65 3a 20 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 .Variable:.shell-command-with-ed
12e60 69 74 6f 72 2d 6d 6f 64 65 0a 20 20 20 20 20 57 68 65 6e 20 74 68 69 73 20 6d 6f 64 65 20 69 73 itor-mode......When.this.mode.is
12e80 20 61 63 74 69 76 65 2c 20 74 68 65 6e 20 e2 80 98 24 45 44 49 54 4f 52 e2 80 99 20 69 73 20 65 .active,.then....$EDITOR....is.e
12ea0 78 70 6f 72 74 65 64 20 77 68 65 6e 65 76 65 72 0a 20 20 20 20 20 75 6c 74 69 6d 61 74 65 6c 79 xported.whenever......ultimately
12ec0 20 e2 80 98 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 e2 80 99 20 69 73 20 63 61 6c 6c 65 64 20 74 ....shell-command....is.called.t
12ee0 6f 20 61 73 79 6e 63 68 72 6f 6e 6f 75 73 6c 79 20 72 75 6e 20 73 6f 6d 65 0a 20 20 20 20 20 73 o.asynchronously.run.some......s
12f00 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 2e 20 20 54 68 69 73 20 61 66 66 65 63 74 73 20 6d 6f 73 74 hell.command...This.affects.most
12f20 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 61 74 20 63 6f 6d 6d 61 6e 64 2c 20 77 68 65 74 68 .variants.of.that.command,.wheth
12f40 65 72 0a 20 20 20 20 20 74 68 65 79 20 61 72 65 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 er......they.are.defined.in.Emac
12f60 73 20 6f 72 20 69 6e 20 73 6f 6d 65 20 74 68 69 72 64 2d 70 61 72 74 79 20 70 61 63 6b 61 67 65 s.or.in.some.third-party.package
12f80 2e 0a 0a 20 20 20 54 68 65 20 63 6f 6d 6d 61 6e 64 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 ......The.command....with-editor
12fa0 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 e2 80 99 20 65 78 70 6f 72 74 73 20 e2 80 98 24 45 44 -export-editor....exports....$ED
12fc0 49 54 4f 52 e2 80 99 20 6f 72 20 61 6e 6f 74 68 65 72 0a 73 75 63 68 20 65 6e 76 69 72 6f 6e 6d ITOR....or.another.such.environm
12fe0 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 6e 20 e2 80 98 73 68 65 6c 6c 2d 6d 6f 64 65 e2 80 99 ent.variable.in....shell-mode...
13000 2c 20 e2 80 98 65 73 68 65 6c 6c 2d 6d 6f 64 65 e2 80 99 2c 20 e2 80 98 74 65 72 6d 2d 6d 6f 64 ,....eshell-mode...,....term-mod
13020 65 e2 80 99 0a 61 6e 64 20 e2 80 98 76 74 65 72 6d 2d 6d 6f 64 65 e2 80 99 20 62 75 66 66 65 72 e....and....vterm-mode....buffer
13040 73 2e 20 20 55 73 65 20 74 68 69 73 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 20 62 65 66 6f 72 s...Use.this.Emacs.command.befor
13060 65 20 65 78 65 63 75 74 69 6e 67 20 61 0a 73 68 65 6c 6c 20 63 6f 6d 6d 61 6e 64 20 77 68 69 63 e.executing.a.shell.command.whic
13080 68 20 6e 65 65 64 73 20 74 68 65 20 65 64 69 74 6f 72 20 73 65 74 2c 20 6f 72 20 61 6c 77 61 79 h.needs.the.editor.set,.or.alway
130a0 73 20 61 72 72 61 6e 67 65 20 66 6f 72 20 74 68 65 0a 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 s.arrange.for.the.current.Emacs.
130c0 69 6e 73 74 61 6e 63 65 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 65 64 69 74 6f 72 20 62 79 instance.to.be.used.as.editor.by
130e0 20 61 64 64 69 6e 67 20 69 74 20 74 6f 20 74 68 65 0a 61 70 70 72 6f 70 72 69 61 74 65 20 6d 6f .adding.it.to.the.appropriate.mo
13100 64 65 20 68 6f 6f 6b 73 3a 0a 0a 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c de.hooks:.......(add-hook.'shell
13120 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d -mode-hook..'with-editor-export-
13140 65 64 69 74 6f 72 29 0a 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 65 73 68 65 6c 6c 2d 6d editor)......(add-hook.'eshell-m
13160 6f 64 65 2d 68 6f 6f 6b 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 ode-hook.'with-editor-export-edi
13180 74 6f 72 29 0a 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 74 65 72 6d 2d 65 78 65 63 2d 68 tor)......(add-hook.'term-exec-h
131a0 6f 6f 6b 20 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 ook...'with-editor-export-editor
131c0 29 0a 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 76 74 65 72 6d 2d 6d 6f 64 65 2d 68 6f 6f )......(add-hook.'vterm-mode-hoo
131e0 6b 20 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 29 0a 0a k..'with-editor-export-editor)..
13200 20 20 20 53 6f 6d 65 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f ...Some.variants.of.this.functio
13220 6e 20 65 78 69 73 74 3b 20 74 68 65 73 65 20 74 77 6f 20 66 6f 72 6d 73 20 61 72 65 20 65 71 75 n.exist;.these.two.forms.are.equ
13240 69 76 61 6c 65 6e 74 3a 0a 0a 20 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 73 68 65 6c 6c 2d ivalent:.......(add-hook.'shell-
13260 6d 6f 64 65 2d 68 6f 6f 6b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 2d mode-hook................(apply-
13280 70 61 72 74 69 61 6c 6c 79 20 27 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 partially.'with-editor-export-ed
132a0 69 74 6f 72 20 22 47 49 54 5f 45 44 49 54 4f 52 22 29 29 0a 20 20 20 20 20 28 61 64 64 2d 68 6f itor."GIT_EDITOR"))......(add-ho
132c0 6f 6b 20 27 73 68 65 6c 6c 2d 6d 6f 64 65 2d 68 6f 6f 6b 20 27 77 69 74 68 2d 65 64 69 74 6f 72 ok.'shell-mode-hook.'with-editor
132e0 2d 65 78 70 6f 72 74 2d 67 69 74 2d 65 64 69 74 6f 72 29 0a 0a 43 6f 6d 6d 61 6e 64 3a 20 77 69 -export-git-editor)..Command:.wi
13300 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 0a 20 20 20 20 20 57 68 65 th-editor-export-editor......Whe
13320 6e 20 69 6e 76 6f 6b 65 64 20 69 6e 20 61 20 e2 80 98 73 68 65 6c 6c 2d 6d 6f 64 65 e2 80 99 2c n.invoked.in.a....shell-mode...,
13340 20 e2 80 98 65 73 68 65 6c 6c 2d 6d 6f 64 65 e2 80 99 2c 20 e2 80 98 74 65 72 6d 2d 6d 6f 64 65 ....eshell-mode...,....term-mode
13360 e2 80 99 20 6f 72 0a 20 20 20 20 20 e2 80 98 76 74 65 72 6d 2d 6d 6f 64 65 e2 80 99 20 62 75 66 ....or.........vterm-mode....buf
13380 66 65 72 2c 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 74 65 61 63 68 65 73 20 73 68 65 6c 6c 20 fer,.this.command.teaches.shell.
133a0 63 6f 6d 6d 61 6e 64 73 20 74 6f 20 75 73 65 20 74 68 65 0a 20 20 20 20 20 63 75 72 72 65 6e 74 commands.to.use.the......current
133c0 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 2c 20 62 .Emacs.instance.as.the.editor,.b
133e0 79 20 65 78 70 6f 72 74 69 6e 67 20 e2 80 98 24 45 44 49 54 4f 52 e2 80 99 2e 0a 0a 43 6f 6d 6d y.exporting....$EDITOR......Comm
13400 61 6e 64 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 67 69 74 2d 65 64 69 74 and:.with-editor-export-git-edit
13420 6f 72 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6c 69 6b 65 20 e2 80 98 or......This.command.is.like....
13440 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 e2 80 99 20 62 75 74 with-editor-export-editor....but
13460 20 65 78 70 6f 72 74 73 0a 20 20 20 20 20 e2 80 98 24 47 49 54 5f 45 44 49 54 4f 52 e2 80 99 2e .exports.........$GIT_EDITOR....
13480 0a 0a 43 6f 6d 6d 61 6e 64 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 68 67 ..Command:.with-editor-export-hg
134a0 2d 65 64 69 74 6f 72 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 6c 69 6b -editor......This.command.is.lik
134c0 65 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 72 e2 80 e....with-editor-export-editor..
134e0 99 20 62 75 74 20 65 78 70 6f 72 74 73 0a 20 20 20 20 20 e2 80 98 24 48 47 5f 45 44 49 54 4f 52 ..but.exports.........$HG_EDITOR
13500 e2 80 99 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 20 4e ........File:.docD4uajf.info,..N
13520 6f 64 65 3a 20 55 73 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 61 73 20 61 20 6c 69 62 72 ode:.Using.With-Editor.as.a.libr
13540 61 72 79 2c 20 20 4e 65 78 74 3a 20 44 65 62 75 67 67 69 6e 67 2c 20 20 50 72 65 76 3a 20 55 73 ary,..Next:.Debugging,..Prev:.Us
13560 69 6e 67 20 74 68 65 20 57 69 74 68 2d 45 64 69 74 6f 72 20 70 61 63 6b 61 67 65 2c 20 20 55 70 ing.the.With-Editor.package,..Up
13580 3a 20 54 6f 70 0a 0a 32 20 55 73 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 61 73 20 61 20 :.Top..2.Using.With-Editor.as.a.
135a0 6c 69 62 72 61 72 79 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a library.************************
135c0 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 64 65 73 63 72 69 62 65 73 ********..This.section.describes
135e0 20 68 6f 77 20 74 6f 20 75 73 65 20 74 68 65 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 e2 80 .how.to.use.the....with-editor..
13600 99 20 6c 69 62 72 61 72 79 20 5f 6f 75 74 73 69 64 65 5f 20 6f 66 0a 4d 61 67 69 74 20 74 6f 20 ..library._outside_.of.Magit.to.
13620 74 65 61 63 68 20 61 6e 6f 74 68 65 72 20 70 61 63 6b 61 67 65 20 68 6f 77 20 74 6f 20 68 61 76 teach.another.package.how.to.hav
13640 65 20 69 74 73 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 20 63 61 6c 6c 0a 68 6f 6d 65 2c e.its.child.processes.call.home,
13660 20 6a 75 73 74 20 6c 69 6b 65 20 4d 61 67 69 74 20 64 6f 65 73 2e 20 20 59 6f 75 20 64 6f 6e e2 .just.like.Magit.does...You.don.
13680 80 99 74 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 61 6e 79 20 6f 66 20 74 68 69 73 20 6a 75 73 ..t.need.to.know.any.of.this.jus
136a0 74 20 74 6f 0a 63 72 65 61 74 65 20 63 6f 6d 6d 69 74 73 20 75 73 69 6e 67 20 4d 61 67 69 74 2e t.to.create.commits.using.Magit.
136c0 20 20 59 6f 75 20 63 61 6e 20 61 6c 73 6f 20 69 67 6e 6f 72 65 20 74 68 69 73 20 69 66 20 79 6f ..You.can.also.ignore.this.if.yo
136e0 75 20 75 73 65 0a e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 e2 80 99 20 6f 75 74 73 69 64 65 20 u.use....with-editor....outside.
13700 6f 66 20 4d 61 67 69 74 2c 20 62 75 74 20 6f 6e 6c 79 20 61 73 20 61 6e 20 65 6e 64 2d 75 73 65 of.Magit,.but.only.as.an.end-use
13720 72 2e 0a 0a 20 20 20 46 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 6f 75 74 20 69 6e 74 r......For.information.about.int
13740 65 72 61 63 74 69 76 65 20 75 73 65 20 61 6e 64 20 6f 70 74 69 6f 6e 73 20 74 68 61 74 20 61 66 eractive.use.and.options.that.af
13760 66 65 63 74 20 62 6f 74 68 0a 69 6e 74 65 72 61 63 74 69 76 65 20 61 6e 64 20 6e 6f 6e 2d 69 6e fect.both.interactive.and.non-in
13780 74 65 72 61 63 74 69 76 65 20 75 73 65 2c 20 73 65 65 20 2a 6e 6f 74 65 20 55 73 69 6e 67 20 74 teractive.use,.see.*note.Using.t
137a0 68 65 20 57 69 74 68 2d 45 64 69 74 6f 72 0a 70 61 63 6b 61 67 65 3a 3a 2e 0a 0a 4d 61 63 72 6f he.With-Editor.package::...Macro
137c0 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 54 68 :.with-editor.&rest.body......Th
137e0 69 73 20 6d 61 63 72 6f 20 61 72 72 61 6e 67 65 73 20 66 6f 72 20 74 68 65 20 e2 80 98 65 6d 61 is.macro.arranges.for.the....ema
13800 63 73 63 6c 69 65 6e 74 e2 80 99 20 6f 72 20 74 68 65 20 73 6c 65 65 70 69 6e 67 20 65 64 69 74 csclient....or.the.sleeping.edit
13820 6f 72 20 74 6f 0a 20 20 20 20 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 20 65 64 69 74 6f 72 or.to......be.used.as.the.editor
13840 20 6f 66 20 63 68 69 6c 64 20 70 72 6f 63 65 73 73 65 73 2c 20 65 66 66 65 63 74 69 76 65 6c 79 .of.child.processes,.effectively
13860 20 74 65 61 63 68 69 6e 67 20 74 68 65 6d 0a 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 68 6f 6d 65 .teaching.them......to.call.home
13880 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 69 6e 73 74 61 6e 63 65 20 77 .to.the.current.Emacs.instance.w
138a0 68 65 6e 20 74 68 65 79 20 72 65 71 75 69 72 65 20 74 68 61 74 0a 20 20 20 20 20 74 68 65 20 75 hen.they.require.that......the.u
138c0 73 65 72 20 65 64 69 74 73 20 61 20 66 69 6c 65 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 ser.edits.a.file........This.is.
138e0 64 6f 6e 65 20 62 79 20 65 73 74 61 62 6c 69 73 68 69 6e 67 20 61 20 6c 6f 63 61 6c 20 62 69 6e done.by.establishing.a.local.bin
13900 64 69 6e 67 20 66 6f 72 0a 20 20 20 20 20 e2 80 98 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e ding.for.........process-environ
13920 6d 65 6e 74 e2 80 99 20 61 6e 64 20 63 68 61 6e 67 69 6e 67 20 74 68 65 20 76 61 6c 75 65 20 6f ment....and.changing.the.value.o
13940 66 20 74 68 65 20 e2 80 98 45 44 49 54 4f 52 e2 80 99 0a 20 20 20 20 20 65 6e 76 69 72 6f 6e 6d f.the....EDITOR.........environm
13960 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 6e 20 74 68 61 74 20 73 63 6f 70 65 2e 20 20 54 68 69 ent.variable.in.that.scope...Thi
13980 73 20 61 66 66 65 63 74 73 20 61 6c 6c 0a 20 20 20 20 20 28 61 73 79 6e 63 68 72 6f 6e 6f 75 73 s.affects.all......(asynchronous
139a0 29 20 70 72 6f 63 65 73 73 65 73 20 73 74 61 72 74 65 64 20 62 79 20 66 6f 72 6d 73 20 28 64 79 ).processes.started.by.forms.(dy
139c0 6e 61 6d 69 63 61 6c 6c 79 29 20 69 6e 73 69 64 65 0a 20 20 20 20 20 42 4f 44 59 2e 0a 0a 20 20 namically).inside......BODY.....
139e0 20 20 20 49 66 20 42 4f 44 59 20 62 65 67 69 6e 73 20 77 69 74 68 20 61 20 6c 69 74 65 72 61 6c ...If.BODY.begins.with.a.literal
13a00 20 73 74 72 69 6e 67 2c 20 74 68 65 6e 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 .string,.then.that.variable.is.s
13a20 65 74 0a 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 e2 80 98 45 44 49 54 4f 52 e2 80 99 2e et......instead.of....EDITOR....
13a40 0a 0a 4d 61 63 72 6f 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 2a 20 65 6e 76 76 61 72 20 26 72 65 ..Macro:.with-editor*.envvar.&re
13a60 73 74 20 62 6f 64 79 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 st.body......This.macro.is.like.
13a80 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 e2 80 99 2c 20 65 78 63 65 70 74 20 74 68 61 74 20 74 ...with-editor...,.except.that.t
13aa0 68 65 20 45 4e 56 56 41 52 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 69 73 20 72 65 71 75 69 he.ENVVAR.argument......is.requi
13ac0 72 65 64 20 61 6e 64 20 74 68 61 74 20 69 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 74 20 red.and.that.it.is.evaluated.at.
13ae0 72 75 6e 2d 74 69 6d 65 2e 0a 0a 46 75 6e 63 74 69 6f 6e 3a 20 77 69 74 68 2d 65 64 69 74 6f 72 run-time...Function:.with-editor
13b00 2d 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 20 70 72 6f 63 65 73 73 20 66 69 6c 74 -set-process-filter.process.filt
13b20 65 72 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 er......This.function.is.like...
13b40 98 73 65 74 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 e2 80 99 20 62 75 74 20 65 6e 73 75 72 .set-process-filter....but.ensur
13b60 65 73 20 74 68 61 74 20 61 64 64 69 6e 67 0a 20 20 20 20 20 74 68 65 20 6e 65 77 20 46 49 4c 54 es.that.adding......the.new.FILT
13b80 45 52 20 64 6f 65 73 20 6e 6f 74 20 72 65 6d 6f 76 65 20 74 68 65 20 e2 80 98 77 69 74 68 2d 65 ER.does.not.remove.the....with-e
13ba0 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 e2 80 99 2e 0a 20 20 20 20 20 54 68 ditor-process-filter..........Th
13bc0 69 73 20 69 73 20 64 6f 6e 65 20 62 79 20 77 72 61 70 70 69 6e 67 20 74 68 65 20 74 77 6f 20 66 is.is.done.by.wrapping.the.two.f
13be0 69 6c 74 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 75 73 69 6e 67 20 61 20 6c 61 6d 62 64 61 2c 0a ilter.functions.using.a.lambda,.
13c00 20 20 20 20 20 77 68 69 63 68 20 62 65 63 6f 6d 65 73 20 74 68 65 20 61 63 74 75 61 6c 20 66 69 .....which.becomes.the.actual.fi
13c20 6c 74 65 72 2e 20 20 49 74 20 63 61 6c 6c 73 20 46 49 4c 54 45 52 20 66 69 72 73 74 2c 20 77 68 lter...It.calls.FILTER.first,.wh
13c40 69 63 68 20 6d 61 79 0a 20 20 20 20 20 6f 72 20 6d 61 79 20 6e 6f 74 20 69 6e 73 65 72 74 20 74 ich.may......or.may.not.insert.t
13c60 68 65 20 74 65 78 74 20 69 6e 74 6f 20 74 68 65 20 50 52 4f 43 45 53 53 e2 80 99 73 20 62 75 66 he.text.into.the.PROCESS...s.buf
13c80 66 65 72 2e 20 20 54 68 65 6e 20 69 74 0a 20 20 20 20 20 63 61 6c 6c 73 20 e2 80 98 77 69 74 68 fer...Then.it......calls....with
13ca0 2d 65 64 69 74 6f 72 2d 70 72 6f 63 65 73 73 2d 66 69 6c 74 65 72 e2 80 99 2c 20 70 61 73 73 69 -editor-process-filter...,.passi
13cc0 6e 67 20 e2 80 98 74 e2 80 99 20 61 73 0a 20 20 20 20 20 4e 4f 2d 53 54 41 4e 44 41 52 44 2d 46 ng....t....as......NO-STANDARD-F
13ce0 49 4c 54 45 52 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 ILTER.....File:.docD4uajf.info,.
13d00 20 4e 6f 64 65 3a 20 44 65 62 75 67 67 69 6e 67 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f .Node:.Debugging,..Next:.Functio
13d20 6e 20 61 6e 64 20 43 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 55 73 69 6e n.and.Command.Index,..Prev:.Usin
13d40 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 61 73 20 61 20 6c 69 62 72 61 72 79 2c 20 20 55 70 3a g.With-Editor.as.a.library,..Up:
13d60 20 54 6f 70 0a 0a 33 20 44 65 62 75 67 67 69 6e 67 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 57 .Top..3.Debugging.***********..W
13d80 69 74 68 2d 45 64 69 74 6f 72 20 74 72 69 65 73 20 76 65 72 79 20 68 61 72 64 20 74 6f 20 6c 6f ith-Editor.tries.very.hard.to.lo
13da0 63 61 74 65 20 61 20 73 75 69 74 61 62 6c 65 20 e2 80 98 65 6d 61 63 73 63 6c 69 65 6e 74 e2 80 cate.a.suitable....emacsclient..
13dc0 99 0a 65 78 65 63 75 74 61 62 6c 65 2c 20 61 6e 64 20 74 68 65 6e 20 73 65 74 73 20 6f 70 74 69 ..executable,.and.then.sets.opti
13de0 6f 6e 20 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 65 78 on....with-editor-emacsclient-ex
13e00 65 63 75 74 61 62 6c 65 e2 80 99 0a 61 63 63 6f 72 64 69 6e 67 6c 79 2e 20 20 49 6e 20 76 65 72 ecutable....accordingly...In.ver
13e20 79 20 72 61 72 65 20 63 61 73 65 73 20 74 68 69 73 20 66 61 69 6c 73 2e 20 20 57 68 65 6e 20 69 y.rare.cases.this.fails...When.i
13e40 74 20 64 6f 65 73 20 66 61 69 6c 2c 20 74 68 65 6e 0a 74 68 65 20 6d 6f 73 74 20 6c 69 6b 65 6c t.does.fail,.then.the.most.likel
13e60 79 20 72 65 61 73 6f 6e 20 69 73 20 74 68 61 74 20 73 6f 6d 65 6f 6e 65 20 66 6f 75 6e 64 20 79 y.reason.is.that.someone.found.y
13e80 65 74 20 61 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 70 61 63 6b 61 67 65 0a 45 6d 61 63 73 20 et.another.way.to.package.Emacs.
13ea0 28 6d 6f 73 74 20 6c 69 6b 65 6c 79 20 6f 6e 20 6d 61 63 4f 53 29 20 77 69 74 68 6f 75 74 20 70 (most.likely.on.macOS).without.p
13ec0 75 74 74 69 6e 67 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 6f 6e 20 e2 80 98 24 50 41 54 utting.the.executable.on....$PAT
13ee0 48 e2 80 99 2c 0a 61 6e 64 20 77 65 20 68 61 76 65 20 74 6f 20 61 64 64 20 61 6e 6f 74 68 65 72 H...,.and.we.have.to.add.another
13f00 20 6b 6c 75 64 67 65 20 74 6f 20 66 69 6e 64 20 69 74 20 61 6e 79 77 61 79 2e 0a 0a 20 20 20 49 .kludge.to.find.it.anyway......I
13f20 66 20 79 6f 75 20 61 72 65 20 68 61 76 69 6e 67 20 70 72 6f 62 6c 65 6d 73 20 75 73 69 6e 67 20 f.you.are.having.problems.using.
13f40 e2 80 98 77 69 74 68 2d 65 64 69 74 6f 72 e2 80 99 2c 20 65 2e 67 2e 2c 20 79 6f 75 20 63 61 6e ...with-editor...,.e.g.,.you.can
13f60 6e 6f 74 0a 63 6f 6d 6d 69 74 20 69 6e 20 4d 61 67 69 74 2c 20 74 68 65 6e 20 70 6c 65 61 73 65 not.commit.in.Magit,.then.please
13f80 20 6f 70 65 6e 20 61 20 6e 65 77 20 69 73 73 75 65 20 61 74 0a 3c 68 74 74 70 73 3a 2f 2f 67 69 .open.a.new.issue.at.<https://gi
13fa0 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 77 69 74 68 2d 65 64 69 74 6f 72 2f 69 73 73 75 65 thub.com/magit/with-editor/issue
13fc0 73 3e 20 61 6e 64 20 70 72 6f 76 69 64 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0a 61 62 6f 75 74 s>.and.provide.information.about
13fe0 20 79 6f 75 72 20 45 6d 61 63 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 2e 20 20 4d 6f 73 74 20 .your.Emacs.installation...Most.
14000 69 6d 70 6f 72 74 61 6e 74 6c 79 20 68 6f 77 20 64 69 64 20 79 6f 75 20 69 6e 73 74 61 6c 6c 0a importantly.how.did.you.install.
14020 45 6d 61 63 73 20 61 6e 64 20 77 68 61 74 20 69 73 20 74 68 65 20 6f 75 74 70 75 74 20 6f 66 20 Emacs.and.what.is.the.output.of.
14040 e2 80 98 4d 2d 78 20 77 69 74 68 2d 65 64 69 74 6f 72 2d 64 65 62 75 67 20 52 45 54 e2 80 99 2e ...M-x.with-editor-debug.RET....
14060 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a ....File:.docD4uajf.info,..Node:
14080 20 46 75 6e 63 74 69 6f 6e 20 61 6e 64 20 43 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 2c 20 20 4e 65 .Function.and.Command.Index,..Ne
140a0 78 74 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 44 65 62 75 67 xt:.Variable.Index,..Prev:.Debug
140c0 67 69 6e 67 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 69 78 20 41 20 46 75 6e 63 74 ging,..Up:.Top..Appendix.A.Funct
140e0 69 6f 6e 20 61 6e 64 20 43 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ion.and.Command.Index.**********
14100 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 1f 0a 46 ***************************....F
14120 69 6c 65 3a 20 64 6f 63 44 34 75 61 6a 66 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 56 61 72 69 ile:.docD4uajf.info,..Node:.Vari
14140 61 62 6c 65 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 46 75 6e 63 74 69 6f 6e 20 61 6e 64 20 able.Index,..Prev:.Function.and.
14160 43 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 69 Command.Index,..Up:.Top..Appendi
14180 78 20 42 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a x.B.Variable.Index.*************
141a0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 ************.....Tag.Table:.Node
141c0 3a 20 54 6f 70 7f 37 39 37 0a 4e 6f 64 65 3a 20 55 73 69 6e 67 20 74 68 65 20 57 69 74 68 2d 45 :.Top.797.Node:.Using.the.With-E
141e0 64 69 74 6f 72 20 70 61 63 6b 61 67 65 7f 32 36 31 31 0a 4e 6f 64 65 3a 20 43 6f 6e 66 69 67 75 ditor.package.2611.Node:.Configu
14200 72 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 7f 33 31 39 36 0a 4e 6f 64 65 3a 20 55 73 69 6e ring.With-Editor.3196.Node:.Usin
14220 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 63 6f 6d 6d 61 6e 64 73 7f 37 37 33 38 0a 4e 6f 64 65 g.With-Editor.commands.7738.Node
14240 3a 20 55 73 69 6e 67 20 57 69 74 68 2d 45 64 69 74 6f 72 20 61 73 20 61 20 6c 69 62 72 61 72 79 :.Using.With-Editor.as.a.library
14260 7f 31 31 30 31 34 0a 4e 6f 64 65 3a 20 44 65 62 75 67 67 69 6e 67 7f 31 33 30 33 32 0a 4e 6f 64 .11014.Node:.Debugging.13032.Nod
14280 65 3a 20 46 75 6e 63 74 69 6f 6e 20 61 6e 64 20 43 6f 6d 6d 61 6e 64 20 49 6e 64 65 78 7f 31 33 e:.Function.and.Command.Index.13
142a0 39 32 32 0a 4e 6f 64 65 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 7f 31 34 31 30 39 0a 1f 922.Node:.Variable.Index.14109..
142c0 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 .End.Tag.Table....Local.Variable
142e0 73 3a 0a 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 s:.coding:.utf-8.End:...........
14300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14400 77 69 74 68 2d 65 64 69 74 6f 72 2d 33 2e 34 2e 36 2f 43 48 41 4e 47 45 4c 4f 47 00 00 00 00 00 with-editor-3.4.6/CHANGELOG.....
14420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14460 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
14480 30 30 30 31 30 31 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 36 33 33 00 20 30 00 00 00 0001017.00000000000.013633..0...
144a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
144c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
144e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14500 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...................
14520 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...................
14540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
145e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14600 23 20 2d 2a 2d 20 6d 6f 64 65 3a 20 6f 72 67 20 2d 2a 2d 0a 2a 20 76 33 2e 34 2e 36 20 20 20 20 #.-*-.mode:.org.-*-.*.v3.4.6....
14620 32 30 32 35 2d 30 39 2d 30 31 0a 0a 2d 20 54 68 6f 75 67 68 74 73 20 61 6e 64 20 77 68 69 74 65 2025-09-01..-.Thoughts.and.white
14640 73 70 61 63 65 2e 0a 0a 2a 20 76 33 2e 34 2e 35 20 20 20 20 32 30 32 35 2d 30 38 2d 30 31 0a 0a space...*.v3.4.5....2025-08-01..
14660 2d 20 4e 6f 20 6c 6f 6e 67 65 72 20 61 64 64 20 22 63 6c 65 61 72 22 20 74 6f 20 74 68 65 20 73 -.No.longer.add."clear".to.the.s
14680 68 65 6c 6c 27 73 20 68 69 73 74 6f 72 79 20 77 68 65 6e 20 75 73 69 6e 67 20 76 74 65 72 6d 2e hell's.history.when.using.vterm.
146a0 20 23 31 33 35 0a 0a 2a 20 76 33 2e 34 2e 34 20 20 20 20 32 30 32 35 2d 30 36 2d 30 31 0a 0a 2d .#135..*.v3.4.4....2025-06-01..-
146c0 20 41 64 64 65 64 20 6b 6c 75 64 67 65 20 66 6f 72 20 4e 69 78 20 6f 6e 20 6d 61 63 4f 53 2e 20 .Added.kludge.for.Nix.on.macOS..
146e0 20 23 31 33 34 0a 0a 2a 20 76 33 2e 34 2e 33 20 20 20 20 32 30 32 34 2d 31 32 2d 30 31 0a 0a 2d .#134..*.v3.4.3....2024-12-01..-
14700 20 41 64 64 65 64 20 6e 65 77 20 76 61 72 69 61 62 6c 65 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 .Added.new.variable.~with-editor
14720 2d 65 6d 61 63 73 63 6c 69 65 6e 74 2d 70 72 6f 67 72 61 6d 2d 73 75 66 66 69 78 65 73 7e 2e 20 -emacsclient-program-suffixes~..
14740 20 23 31 33 32 0a 0a 2a 20 76 33 2e 34 2e 32 20 20 20 20 32 30 32 34 2d 30 39 2d 30 31 0a 0a 2d .#132..*.v3.4.2....2024-09-01..-
14760 20 46 69 78 65 64 20 7e 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 2d 77 69 74 68 2d 65 64 69 74 6f .Fixed.~shell-command-with-edito
14780 72 2d 6d 6f 64 65 7e 20 66 6f 72 20 72 65 6d 6f 74 65 20 70 72 6f 63 65 73 73 65 73 2e 20 20 23 r-mode~.for.remote.processes...#
147a0 31 32 39 0a 0a 2d 20 7e 77 69 74 68 2d 65 64 69 74 6f 72 2d 65 78 70 6f 72 74 2d 65 64 69 74 6f 129..-.~with-editor-export-edito
147c0 72 7e 20 6e 6f 77 20 77 61 69 74 73 20 6c 6f 6e 67 65 72 20 66 6f 72 20 74 68 65 20 74 65 72 6d r~.now.waits.longer.for.the.term
147e0 69 6e 61 6c 20 74 6f 20 67 65 74 0a 20 20 72 65 61 64 79 2e 20 20 23 31 33 30 0a 0a 2d 20 55 70 inal.to.get...ready...#130..-.Up
14800 64 61 74 65 64 20 74 6f 6f 6c 69 6e 67 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dated.tooling...................
14820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
148e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................