all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Kai Grossjohann <kai@emptydomain.de>
Subject: Re: Setting gdb to use eshell buffer
Date: Sat, 31 Jan 2004 21:14:31 +0100	[thread overview]
Message-ID: <87ektfswns.fsf@emptyhost.emptydomain.de> (raw)
In-Reply-To: 40159F4E.8000703@yahoo.com

Kevin Rodgers <ihs_4664@yahoo.com> writes:

> Kai Grossjohann wrote:
>
>> ncohen@ucsd.edu writes:
>>>Hi I'm using tramp to successfully transparently edit remote files
>>>however I also want to compile and debug them from inside emacs.
>>>How do I do this?
>> With difficulty :-/
>> Tramp comes with a file tramp-util.el which contains a function that
>> allows you to do remote compiles.  It is, however, a fake, because it
>> doesn't show any output until the remote compile is finished.  (M-x
>> compile RET shows you output as it is arriving.)  And what's more,
>> Emacs is frozen while it is waiting for the compile to finish.
>
>  From that, I infer that Tramp has the connection write its output to a
> local temporary file that it then inserts into a compilation buffer.  If
> that's the case, why can't the compilation buffer be set up with a process
> that tail's the temp file as its written?

Remember that Tramp uses a shell connection, the *tramp/foo* buffer,
for most of its stuff.  (For all of it, except file transfer in the
case of out-of-band methods.)

The Tramp compilation function sends the compile command to the remote
host, waits for the next shell prompt to appear, then extracts what's
in *tramp/foo* and copies it to another buffer which it calls a
*compilation* buffer.

One *could* temporarily rename the *tramp/foo* buffer to *compilation*
and show it to the user, then when the compilation is finished, revert
the renaming and do the copying thing.  Down that path lies madness,
though.

Or one could install a process filter that fishes things from the
*tramp/foo* buffer and copies them into the *compilation* buffer as
they arrive.  But in that case, we need to prohibit users from
invoking Tramp in the meantime, as the *tramp/foo* buffer is already
busy.

>> I'm thinking about extending Tramp to allow background processes.  I
>> think that Tramp needs to open multiple connections to the remote host
>> to do that.  (If somebody has other ideas, please speak up.)  And if
>> you open multiple connections to a host, then password caching becomes
>> interesting.  And password caching is potentially very dangerous.
>> Also, it would make sense to reuse connections, instead of opening a
>> new connection whenever you issue a new compile command.
>
> I don't know.  If caching passwords is so dangerous, maybe it is worth
> the overhead to establish a new connection for each background command.

Hm?  That means that the poor user will have to type their password
for every background command...  (In the case of multi-hop methods,
multiple passwords.)

Kai

  reply	other threads:[~2004-01-31 20:14 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.426.1069464439.399.help-gnu-emacs@gnu.org>
2003-12-17 20:17 ` Setting gdb to use eshell buffer Kai Grossjohann
2004-01-25 14:08   ` Ulrich Herbst
2004-01-31 20:15     ` Kai Grossjohann
2004-01-26 23:14   ` Kevin Rodgers
2004-01-31 20:14     ` Kai Grossjohann [this message]
2004-02-02 22:45       ` Kevin Rodgers
2004-02-03  8:26         ` Kai Grossjohann
2004-02-03 16:23           ` Stefan Monnier
2004-02-05  7:53             ` Kai Grossjohann
2003-11-22  0:24 ncohen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87ektfswns.fsf@emptyhost.emptydomain.de \
    --to=kai@emptydomain.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.