Subject: 24.4.50; (process-file) erroneously raises its buffer when running with TRAMP
From: Dima Kogan <[email-masked]>
To: [email-masked]
Date: Fri, 20 Jun 2014 01:09:28 -0700
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi.

The documentation is a bit unclear, so I'm not 100% sure this is a bug;
it's definitely a surprising behavior, though.

I have a bit of elisp to create a temporary buffer and to run a process,
sending its output to this buffer:

 (let ((output-buffer (get-buffer-create "*test-buf*")))
   (with-current-buffer output-buffer
     (erase-buffer)
     (let ((default-directory "/tmp"))
       (process-file "whoami" nil output-buffer t))))

Note that I do not ask for this buffer to be raised. On my machine
(Debian/sid amd64) this indeed does not raise the *test-buf* buffer, and
I do not even see it if I don't explicitly switch to it. This is good.

If I change the directory from "/tmp" to any TRAMP path (for instance
"/sudo::/tmp") then this elisp DOES raise *test-buf*. This difference
between normal and TRAMP behavior sounds like a bug to me.

Note that I have (process-file ... ... ... t). Changing this to nil
resolves the issue. The documentation says

 Fourth arg DISPLAY non-nil means redisplay buffer as output is
 inserted.

I don't know if "redisplay" includes "raise", but I do think the
behavior should be the same, TRAMP or not.

Thanks