--
Boyan Penkov
www.boyanpenkov.com

> On Jan 12, 2017, at 1:05 AM, kamaraju kusumanchi 
> <raju.mailingli...@gmail.com> wrote:
> 
> On Wed, Jan 11, 2017 at 11:53 PM, David Wright <deb...@lionunicorn.co.uk> 
> wrote:
>> On Wed 11 Jan 2017 at 22:38:48 (-0500), kamaraju kusumanchi wrote:
>> 
>>> Just unalias the alias corresponding to edit (the one you set up in
>>> ~/.zshrc) before launching reportbug. After that set it back. IIUC
>>> there is no need to launch a bash subshell to do this. You can do
>>> everything while you are in zsh.
>>> 
>>> So the sequence of commands would be
>>> 
>>> % unalias edit
>>> % reportbug &
>>> % alias edit='emacsclient -c -s /tmp/emacs1000/server'
>> 
>> If you're going to do it that way, you've really got to
>> interrogate the old value and restore it afterwards, rather
>> than having edit defined in two places. Otherwise, how do
>> you keep them in sync.
>> 
>> Most people wouldn't run reportbug often enough to worry
>> about a subshell, would they?
> 
> There are always multiple ways to solve a problem often with different
> advantages/disadvantages. I do not have a problem with subshell per
> se. My point is that the previously proposed solution requires OP to
> start a different shell (i.e. zsh users starting bash). What is to
> assume that there is no such alias defined in ~/.bashrc?

Good catch — since this is a single-user setup, I know it’s not in this case.  
But the method you have is more elegant.

> 
> Little bit of a side note: I work on systems where my home directory
> is mounted across multiple machines. On different machines I use
> different shells. To keep my aliases synced across all these machines,
> I place all my aliases in a separate file and source that file in
> ~/.zshrc, ~/.bashrc etc.,
> 
> raju
> -- 
> Kamaraju S Kusumanchi | http://raju.shoutwiki.com/wiki/Blog
> 

Reply via email to