summaryrefslogtreecommitdiff
path: root/src/dot.mkshrc
diff options
context:
space:
mode:
authorElliott Hughes <enh@google.com>2015-04-21 13:39:18 -0700
committerElliott Hughes <enh@google.com>2015-04-21 13:39:18 -0700
commitb27ce95e41e941ad22b3dc392d8328251d3a057e (patch)
tree7cf80a0457be3e2dd1d98f8fddfa80e3b63f1174 /src/dot.mkshrc
parentd978a9edb72c818ae3aa2527496ce987f9ef555d (diff)
downloadmksh-b27ce95e41e941ad22b3dc392d8328251d3a057e.tar.gz
Upgrade to mksh 50f.
Bug: http://b/20101805 Change-Id: Ic311851b31217517f6c201b5ec68a0668577eddf
Diffstat (limited to 'src/dot.mkshrc')
-rw-r--r--src/dot.mkshrc41
1 files changed, 24 insertions, 17 deletions
diff --git a/src/dot.mkshrc b/src/dot.mkshrc
index 4878fd7..f65eaa7 100644
--- a/src/dot.mkshrc
+++ b/src/dot.mkshrc
@@ -1,5 +1,5 @@
# $Id$
-# $MirOS: src/bin/mksh/dot.mkshrc,v 1.89.2.1 2015/01/11 22:39:44 tg Exp $
+# $MirOS: src/bin/mksh/dot.mkshrc,v 1.89.2.3 2015/04/12 22:32:22 tg Exp $
#-
# Copyright (c) 2002, 2003, 2004, 2006, 2007, 2008, 2009, 2010,
# 2011, 2012, 2013, 2014, 2015
@@ -22,21 +22,23 @@
#-
# ${ENV:-~/.mkshrc}: mksh initialisation file for interactive shells
-# catch non-mksh (including lksh) trying to shell this file
-case $KSH_VERSION in
+# catch non-mksh (including lksh) trying to run this file
+case ${KSH_VERSION:-} in
*MIRBSD\ KSH*) ;;
*) return 0 ;;
esac
-PS1='#'; (( USER_ID )) && PS1='$'; [[ ${HOSTNAME:=$(ulimit -c 0; hostname -s \
- 2>/dev/null)} = *([ ]|localhost) ]] && HOSTNAME=$(ulimit -c 0; hostname \
- 2>/dev/null); : ${EDITOR:=/bin/ed} ${HOSTNAME:=nil} ${TERM:=vt100}
-: ${MKSH:=$(whence -p mksh)}; PS4='[$EPOCHREALTIME] '; PS1=$'\001\r''${|
+PS1='#'; (( USER_ID )) && PS1='$'; : "${TERM:=vt100}${HOSTNAME:=$(ulimit -c \
+ 0; hostname 2>/dev/null)}${EDITOR:=/bin/ed}${USER:=$(ulimit -c 0; id -un \
+ 2>/dev/null || echo \?)}${MKSH:=$(whence -p mksh)}"
+HOSTNAME=${HOSTNAME%%*([ ]).*}; HOSTNAME=${HOSTNAME##*([ ])}
+[[ $HOSTNAME = ?(ip6-)localhost?(6) ]] && HOSTNAME=
+: "${HOSTNAME:=nil}${MKSH:=/bin/mksh}"; export EDITOR HOSTNAME MKSH TERM USER
+PS4='[$EPOCHREALTIME] '; PS1=$'\001\r''${|
local e=$?
(( e )) && REPLY+="$e|"
- REPLY+=${USER:=$(ulimit -c 0; id -un 2>/dev/null || echo \?)}
- REPLY+=@${HOSTNAME%%.*}:
+ REPLY+=${USER}@${HOSTNAME%%.*}:
local d=${PWD:-?} p=~; [[ $p = ?(*/) ]] || d=${d/#$p/~}
local m=${%d} n p=...; (( m > 0 )) || m=${#d}
@@ -44,7 +46,7 @@ PS1='#'; (( USER_ID )) && PS1='$'; [[ ${HOSTNAME:=$(ulimit -c 0; hostname -s \
REPLY+=$p$d
return $e
-} '"$PS1 "; export EDITOR HOSTNAME MKSH TERM USER
+} '"$PS1 "
alias ls=ls
unalias ls
alias l='ls -F'
@@ -52,10 +54,10 @@ alias la='l -a'
alias ll='l -l'
alias lo='l -alo'
alias doch='sudo mksh -c "$(fc -ln -1)"'
-whence -p rot13 >/dev/null || alias rot13='tr \
+command -v rot13 >/dev/null || alias rot13='tr \
abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ \
nopqrstuvwxyzabcdefghijklmNOPQRSTUVWXYZABCDEFGHIJKLM'
-if whence -p hd >/dev/null; then :; elif whence -p hexdump >/dev/null; then
+if command -v hd >/dev/null; then :; elif command -v hexdump >/dev/null; then
function hd {
hexdump -e '"%08.8_ax " 8/1 "%02X " " - " 8/1 "%02X "' \
-e '" |" "%_p"' -e '"|\n"' "$@"
@@ -72,7 +74,8 @@ else
while (( i < ${#line[*]} )); do
hv=${line[i++]}
if (( (pos & 15) == 0 )); then
- (( pos )) && print -r -- "$dasc|"
+ (( pos )) && \
+ print -r -- "$dasc|"
print -n "${pos#16#} "
dasc=' |'
fi
@@ -82,11 +85,13 @@ else
else
dasc+=${line[i-1]#1#}
fi
- (( (pos++ & 15) == 7 )) && print -n -- '- '
+ (( (pos++ & 15) == 7 )) && \
+ print -n -- '- '
done
while (( pos & 15 )); do
print -n ' '
- (( (pos++ & 15) == 7 )) && print -n -- '- '
+ (( (pos++ & 15) == 7 )) && \
+ print -n -- '- '
done
(( hv == 2147483647 )) || print -r -- "$dasc|"
fi; }
@@ -95,10 +100,12 @@ fi
# Berkeley C shell compatible dirs, popd, and pushd functions
# Z shell compatible chpwd() hook, used to update DIRSTACK[0]
-DIRSTACKBASE=$(realpath ~/. 2>/dev/null || print -nr -- "${HOME:-/}")
+DIRSTACKBASE=$(realpath ~/. 2>/dev/null || \
+ print -nr -- "${HOME:-/}")
set -A DIRSTACK
function chpwd {
- DIRSTACK[0]=$(realpath . 2>/dev/null || print -r -- "$PWD")
+ DIRSTACK[0]=$(realpath . 2>/dev/null || \
+ print -r -- "$PWD")
[[ $DIRSTACKBASE = ?(*/) ]] || \
DIRSTACK[0]=${DIRSTACK[0]/#$DIRSTACKBASE/~}
: