chiark / gitweb /
dot/*: Major shake-up of shell configuration.
Split out the major logic of session startup and shell configuration
into shell-neutral files `dot/profile' and `dot/shell-rc'. There's a
little support now for pleasant `dash' sessions, but since `dash'
doesn't have a line editor or any way of varying the prompt dynamically,
it's still not marvellous.
Various things which have also been changed:
* The prompt setup has been heavily refactored. There's now a piece
which calculates most of the major pieces, and another piece spliced
into the shell's command-loop machinery to insert stuff like the Git
status and previous exit code. This also takes care of setting and
clearing the Screen status, so that's much cleaner now. (In
particular, this means that Screen doesn't say that it's running
Bash when it isn't really.)
* Many of the shell functions have been revised to improve
portability. The old hack behind Solaris man(1) has gone
because (a) it's hard to write portably, and (b) I don't use Solaris
any more anyway.