help-gnu-emacs
[Top][All Lists]
Advanced

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

Re: shell-command, its relatives, and aliases


From: Bill Rising
Subject: Re: shell-command, its relatives, and aliases
Date: Fri, 21 Nov 2008 07:44:38 -0600

On Nov 14, 2008, at 7:22 , Kevin Rodgers wrote:

Bill Rising wrote:
I would like to use aliases in (shell-command ...) or (call-process region ...). Even if I tell the latter to behave as a login shell, and make sure that the aliases are available to the login shell, I cannot get them to execute. The shell can see the aliases without any problem, because I can send the -alias- command and get the list of aliases. It seems to me that elisp is trying to see if the command is defined before running it, instead of simply letting the shell chew on whatever was sent to it. This could be a grave misconception. In any case, is there are way to be able to use aliases within any of the 'execute this line/region without starting a buffer with a shell' commands?

call-process-region does not invoke the shell at all.  If you want to
use any shell features (e.g. redirection, aliases) you need to use
shell-command-on-region.

OK.

There are several ways to make aliases available in the shell invoked
by Emacs.  I would just explicitly read the shell definitions e.g.

        M-| . ~/my_aliases.bash && alias_1 arg_1

Or you could create the ~/.emacs_bash file and read the shell
definitions there (automatically) -- see the Interactive Shell
node of the Emacs manual.

I created the ~/.emacs_bash file, and it sources the ~/.bash_aliases I have defined.

I'll go back and fiddle with (shell-commmand-on-region ...) again.

Thanks,

Bill




reply via email to

[Prev in Thread] Current Thread [Next in Thread]