diff options
author | Thorsten Glaser <tg@mirbsd.org> | 2013-02-18 23:02:51 +0000 |
---|---|---|
committer | Thorsten Glaser <tg@mirbsd.org> | 2013-02-19 19:58:27 +0000 |
commit | c2dc5def5e2273bb1d78b4ba032a3903dd0f980c (patch) | |
tree | 32cb4338ee886111bcd79ac27db285afc1ba6251 /mkshrc | |
parent | 93bd42c789325fdd5f8c9ba8f000abd65281f241 (diff) | |
download | mksh-c2dc5def5e2273bb1d78b4ba032a3903dd0f980c.tar.gz |
Update mksh to R43 (formal release, from tarball)
The files in src/ are just the unmodified mksh release .tgz
and is Not a Contribution to Android, it’s the upstream code
project. ChangeLog: https://www.mirbsd.org/mksh.htm#clog
Changes, other than upstream mksh code:
• update Copyright years
• sync with moving to a different AOSP project and other AOSP changes
• mkmf.sh: add test compilation mode
• be conservative in filedescriptor usage
• don’t compile the $MirOS$ RCS IDs into the binary to save space
• enable UTF-8 mode, to match reality
• help memory leak debugging by adding -DDEBUG_LEAKS
• update rest of mkmf.sh to work with updated AOSP and mksh
• use ro.product.device property as default hostname in mkshrc
(originally submitted by John Michelau <john.michelau@motorola.com>)
• do not export PS1 in mkshrc (cross-shell developers agreed on this)
• add “more” function to mkshrc to get a simplistic pager
• add “hd” and “setenv” functions to mkshrc for better UX
• mention Launchpad as upstream bugtracker as comment in mkshrc
• change TMPDIR to /data/local/tmp for now, as /sqlite_stmt_journals is gone
(although this is still no full replacement, it’s better than before)
• address the segfaults seen by DONG-DONG YANG
Change-Id: I2d4d175bc5163b3d6f5098024f98f316fe812e55
Diffstat (limited to 'mkshrc')
-rw-r--r-- | mkshrc | 37 |
1 files changed, 32 insertions, 5 deletions
@@ -1,11 +1,13 @@ -# Copyright (c) 2010 -# Thorsten Glaser <t.glaser@tarent.de> +# Copyright (c) 2010, 2012, 2013 +# Thorsten Glaser <tg@mirbsd.org> # This file is provided under the same terms as mksh. #- # Minimal /system/etc/mkshrc for Android +# +# Support: https://launchpad.net/mksh -: ${TERM:=vt100} ${HOME:=/data} ${MKSH:=/system/bin/sh} ${HOSTNAME:=android} -: ${SHELL:=$MKSH} ${USER:=$(typeset x=$(id); x=${x#*\(}; print -r -- ${x%%\)*})} +: ${TERM:=vt100} ${HOME:=/data} ${MKSH:=/system/bin/sh} ${HOSTNAME:=$(getprop ro.product.device)} +: ${SHELL:=$MKSH} ${USER:=$(typeset x=$(id); x=${x#*\(}; print -r -- ${x%%\)*})} ${HOSTNAME:=android} if (( USER_ID )); then PS1='$'; else PS1='#'; fi function precmd { typeset e=$? @@ -13,12 +15,37 @@ function precmd { (( e )) && print -n "$e|" } PS1='$(precmd)$USER@$HOSTNAME:${PWD:-?} '"$PS1 " -export HOME HOSTNAME MKSH PS1 SHELL TERM USER +export HOME HOSTNAME MKSH SHELL TERM USER alias l='ls' alias la='l -a' alias ll='l -l' alias lo='l -a -l' +function hd { + cat "$@" | command hd /proc/self/fd/0 +} + +function more { + local dummy line llen curlin=0 + + cat "$@" | while IFS= read -r line; do + llen=${%line} + (( llen == -1 )) && llen=${#line} + (( llen = llen ? (llen + COLUMNS - 1) / COLUMNS : 1 )) + if (( (curlin += llen) >= LINES )); then + print -n -- '\033[7m--more--\033[0m' + read -u1 dummy + [[ $dummy = [Qq]* ]] && return 0 + curlin=$llen + fi + print -r -- "$line" + done +} + +function setenv { + eval export "\"$1\""'="$2"' +} + for p in ~/.bin; do [[ -d $p/. ]] || continue [[ :$PATH: = *:$p:* ]] || PATH=$p:$PATH |