emacs, dot-emacs: Support debian-changelog-mode after fast startup.
[profile] / bashrc
diff --git a/bashrc b/bashrc
index e7eb9c3..7f4cd74 100644 (file)
--- a/bashrc
+++ b/bashrc
@@ -1,7 +1,5 @@
 # -*- mode: sh; coding: utf-8 -*-
 #
-# $Id: .bashrc,v 1.6 1996/12/08 20:33:42 mdw Exp $
-#
 # Bash session things
 #
 
@@ -16,50 +14,49 @@ __mdw_bashrc=done
 
 if [ -t 0 ]; then
 
-  if [ "$TERM" = "dumb" ]; then
-    if (( EUID == 0 )); then PS1="# "; else PS1="\$ "; fi
-    PS2="> "
-    PS4="+ "
-  else
+  case "$TERM" in
+    linux*|screen*|xterm*|vt100*|eterm*)
+      bold="\[$(tput bold)\]" unbold="\[$(tput sgr0)\]" nl="\[\r\]" ;;
+    *)
+      bold='' unbold='' nl='' ;;
+  esac
 
-    case "$TERM" in
-      linux*|screen*|xterm*|vt100*)
-       bold='\[\e[1m\]' unbold='\[\e[m\]' nl='\[\r\]' ;;
+  if (( EUID == 0 )); then
+    left=`echo « | iconv -f utf8 -t //translit`
+    right=`echo » | iconv -f utf8 -t //translit`
+  else
+    case $USER in
+      mdw|mwooding)
+       u="" left="[" right="]"
+       ;;
       *)
-       bold='' unbold='' nl='' ;;
+       u="\\u@" left="{" right="}"
+       ;;
     esac
-
-    if (( EUID == 0 )); then
-      left=`echo « | iconv -f utf8 -t //translit`
-      right=`echo » | iconv -f utf8 -t //translit`
+    if [ "$__mdw_tty" = "`tty`" ]; then
+      left="<" right=">"
     else
-      case $USER in
-       mdw|mwooding)
-         u="" left="[" right="]"
-         ;;
-       *)
-         u="\\u@" left="{" right="}"
-         ;;
-      esac
-      if [ "$__mdw_tty" = "`tty`" ]; then
-       left="<" right=">"
-      else
-       export __mdw_tty="`tty`"
-      fi
-    fi
-
-    if [ -z "$SSH_CLIENT" ] &&
-      [ "$__mdw_sechost" != "`hostname`" ]
-      then
-      sec_l='(' sec_r=')'
+      export __mdw_tty="`tty`"
     fi
+  fi
 
-    PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$right$unbold"
-    PS2="$PS1 $bold>$unbold "
+  if [ -z "$SSH_CLIENT" ] &&
+    [ "$__mdw_sechost" != "`hostname`" ]
+    then
+    sec_l='(' sec_r=')'
   fi
 
+  PS1="$nl$bold$left$sec_l$u\\h$sec_r \\w$right$unbold"
+  PS2="$PS1 $bold>$unbold "
+
 fi # is stdin a tty?
 
+# --- Pagers are less useful within Emacs ---
+
+case "$INSIDE_EMACS" in
+  22.*,comint) export PAGER=cat ;;
+esac
+
 # --- Little preferences ---
 
 notify=1
@@ -101,8 +98,7 @@ shopt -s sourcepath
 # --- Some colour `ls' support ---
 
 [ "${TMPDIR+yes}" ] || eval `tmpdir -b`
-if [ -x /usr/bin/dircolors -o -x /usr/local/bin/dircolors ] &&
-   [ "$TERM" != "dumb" ]; then
+if [ -x /usr/bin/dircolors -o -x /usr/local/bin/dircolors ]; then
   eval `dircolors -b ~/.dircolors`
 else
   unset LS_COLORS
@@ -116,6 +112,22 @@ ls () {
   fi
 }
 
+# --- Some colour `grep' support ---
+
+export GREP_COLORS="mt=01;31:ms=01;31:mc=031;31:fn=36:ln=36:bn=36:se=34"
+
+greplike () {
+  declare grep=$1; shift
+  if [ -t 1 ]; then
+    command $grep ${GREP_COLORS+--color=auto} "$@"
+  else
+    command $grep "$@"
+  fi
+}
+alias grep="greplike grep"
+alias egrep="greplike egrep"
+alias fgrep="greplike fgrep"
+
 # --- Set up some simple aliases ---
 
 alias cx='chmod a+x'
@@ -124,7 +136,7 @@ alias ssync="rsync -e ssh"
 alias rootly=$__MDW_ROOTLY
 alias r=rootly
 alias re="rootly $EDITOR"
-alias pstree="pstree -Ghl"
+alias pstree="pstree -hl"
 alias cdtmp='cd ${TMPDIR-/tmp}'
 alias pushtmp='pushd ${TMPDIR-/tmp}'
 alias e="$EDITOR"