[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#817085: unison: Cannot run emacs from merge tool



Package: unison
Version: 2.40.65-2
Severity: normal

Quoting the long and annoyingly flat reference manual:

>>
A large number of external merging programs are available. For
example, on Unix systems setting the merge preference to

   merge = Name *.txt -> diff3 -m CURRENT1 CURRENTARCH CURRENT2
                            > NEW || echo "differences detected"

will tell Unison to use the external diff3 program for merging.
Alternatively, users of emacs may find the following settings
convenient:

   merge = Name *.txt -> emacs -q --eval '(ediff-merge-files-with-ancestor
                             "CURRENT1" "CURRENT2" "CURRENTARCH" nil "NEW")'
<<

Yea, they may; if, presumably like the author, they never run emacs in
its text mode aspect.  Then they'll find out it doesn't work, because
unison runs the merge tool (just like any other external program) with
stdin connected to an empty pipe, and emacs expects the terminal there.

unison should leave the stdin alone when forking external programs, even
if it would take a bit more coding due to deficiency of the ocaml
standard library.

-- System Information:
Debian Release: 7.9
  APT prefers oldstable-updates
  APT policy: (500, 'oldstable-updates'), (500, 'oldstable')
Architecture: amd64 (x86_64)

Kernel: Linux 3.12.55.2 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages unison depends on:
ii  libc6  2.13-38+deb7u10

Versions of packages unison recommends:
ii  openssh-client [ssh-client]  1:6.6p1-4~bpo70+1

Versions of packages unison suggests:
pn  unison-all  <none>


Reply to: