bash: fix config in emacs’s ansi-term and GNU Screen
authorAmin Bandali <bandali@gnu.org>
Sun, 12 May 2019 00:04:37 +0000 (20:04 -0400)
committerAmin Bandali <bandali@gnu.org>
Sun, 12 May 2019 00:04:37 +0000 (20:04 -0400)
The issue seems to be that ~/.bash_profile isn’t sourced for
interactive non-login shells.  So, might want to try detecting
non-login shells in general rather than fixing only for ansi-term and
screen.

.bash_profile
.bashrc

index f41056d..d65bb56 100644 (file)
@@ -4,4 +4,4 @@ include () {
 
 include ~/.profile
 include ~/.nix-profile/etc/profile.d/nix.sh
 
 include ~/.profile
 include ~/.nix-profile/etc/profile.d/nix.sh
-include ~/.bashrc
+[[ $TERM = "eterm-color" || $TERM = "screen" ]] || include ~/.bashrc
diff --git a/.bashrc b/.bashrc
index 7b7d7f8..dded17c 100644 (file)
--- a/.bashrc
+++ b/.bashrc
@@ -1,6 +1,8 @@
 # If not running interactively, don't do anything else
 [[ $- != *i* ]] && return
 
 # If not running interactively, don't do anything else
 [[ $- != *i* ]] && return
 
+[[ $TERM = "eterm-color" || $TERM = "screen" ]] && source ~/.bash_profile
+
 # from https://unix.stackexchange.com/a/55935
 a_prompt() {
     cwd=$(sed -e "s:$HOME:~:" -e "s:\(\.\?[^/]\)[^/]*/:\1/:g" <<<$PWD)
 # from https://unix.stackexchange.com/a/55935
 a_prompt() {
     cwd=$(sed -e "s:$HOME:~:" -e "s:\(\.\?[^/]\)[^/]*/:\1/:g" <<<$PWD)