[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Asynchronous commands with eshell-command
From: |
Thierry Volpiatto |
Subject: |
Re: Asynchronous commands with eshell-command |
Date: |
Tue, 27 Jan 2009 20:51:26 +0100 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/23.0.60 (gnu/linux) |
Sebastian Tennant <sebyte@smolny.plus.com> writes:
> Quoth Thierry Volpiatto <thierry.volpiatto@gmail.com>:
>> Sebastian Tennant <sebyte@smolny.plus.com> writes:
>>
>>> Quoth Michael Heerdegen <michaelh@minet.uni-jena.de>:
>>>> Does anybody know how to start external commands asynchronously with
>>>> `eshell-command'? I tried `xterm &' for example, which works but also
>>>> raises an error.
>>>>
>>>> The source code seems to support the asynchronous case, but I don't
>>>> know what to type.
>>>
>>> Where's Thierry Volpiatto when you need him :)
>>
>> I am here again!
>
> Great :)
>
>> But i am not a specialist of eshell, just a user that use always
>> eshell-command instead of shell-command (M-!) because it's much more
>> powerful: It accept elisp code, shell code, the both mixed, alias, all
>> completion and more.
>
> The fact it is so powerful is what puts me off. I can sees days, and
> even weeks, disappearing as I get more and more into it :)
>
>> But if you want to make more complex async commands, why not creating
>> a specialized function using start-process/start-process-shell-command
>> with another sentinel-function that use set-process-sentinel ?
>
> Hmm... like interactive-asynchronous-shell-command? :)
Yes i saw you wrote something about async shell-command ;)
I will have a look.
> http://article.gmane.org/gmane.emacs.sources/3147
>
> I suspect Michael knows all about these kinds of methods and is being a
> little braver than I am in starting to explore the capabilities of
> eshell.
Some simple thing like that can call any external process async:
,----
| (defun tv-async-process (process &rest args)
| (apply #'start-process process nil process
| args))
`----
==> (tv-async-process "xterm" "-e" "lynx")
#<process xterm>
or
==> (tv-async-process "firefox" "http://www.emacswiki.org/cgi-bin/wiki")
#<process firefox>
--
A + Thierry Volpiatto
Location: Saint-Cyr-Sur-Mer - France