Philipp Stephani <p.stephani2@gmail.com> schrieb am Fr., 3. März 2017 um 14:58 Uhr:

Assuming /tmp/[ab].py are existing files.

emacs -Q -f server-start /:/tmp/a.py

Then:

emacsclient --create-frame --eval '(ediff "/tmp/a.py" "/tmp/b.py")'

will result un an error:

*ERROR*: Wrong type argument: arrayp, nil

Backtrace is

Debugger entered--Lisp error: (wrong-type-argument arrayp nil)
  file-name-non-special(verify-visited-file-modtime #<buffer a.py>)
  verify-visited-file-modtime(#<buffer a.py>)
  apply(verify-visited-file-modtime #<buffer a.py>)
  tramp-run-real-handler(verify-visited-file-modtime (#<buffer a.py>))
  tramp-file-name-handler(verify-visited-file-modtime #<buffer a.py>)
  verify-visited-file-modtime(#<buffer a.py>)
  find-file-noselect("/tmp/a.py")
  ediff-find-file(file-A buf-A ediff-last-dir-A startup-hooks)
  ediff-files-internal("/tmp/a.py" "/tmp/b.py" nil nil ediff-files)
  ediff("/tmp/a.py" "/tmp/b.py")
  eval((ediff "/tmp/a.py" "/tmp/b.py"))
  server-eval-and-print("(ediff \"/tmp/a.py\" \"/tmp/b.py\")" #<process server <3>>)
  (more uninteresting frames)


Patch is attached.