Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: Sourcing .zshrc from .zprofile causes problems

On Thu, 12 Aug 2004, lists wrote:

> if [[ -f ~/.zshrc ]]; then . ~/.zshrc ; fi
> in my .zprofile

That shouldn't be necessary.  The ~/.zshrc is read by all interactive 
shells, and the ~/.zprofile by all login shells.  Although it's possible
to create a non-interactive login shell, it's rather unlikely.

So the problem here ...

> .zshrc:unalias:181: no such hash table element: run-help

... is that the ~/.zshrc is read _twice_, once when you source it and then 
again when zsh normally would read it, and the second time run-help has
already been unaliased.

> The error message goes away when in don't source .zshrc in my .zprofile.


> However, at that point the following zstyle from my .zshrc file
> zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
> doesn't work

There must be some kind of order-dependency involved.  The normal sequence
of file reads (where you fail to see colored listings) would be (ignoring
zshenv and zlogin for now)

To make colored listings work, you've changed the order to
	~/.zprofile + ~/.zshrc

When you "exec zsh" chances are it's no longer a login shell, so the two
zprofile files are not sourced in that case ... since coloring works then,
that would tend to indicate that something in the ~/.zprofile is causing
the problem, and it would have to be something that comes after the point
where you inserted the sourcing of ~/.zshrc.

Does ~/.zprofile perhaps change the value of $LS_COLORS ?

Messages sorted by: Reverse Date, Date, Thread, Author