Commit graph

139 commits

Author SHA1 Message Date
Elliott Hughes
caf111e450 Merge "Upgrade to mksh R40."
am: ceb0b57de2

Change-Id: Ib164451b87d9653f15c276c8ecd441a05ff6253e
2016-12-09 02:10:35 +00:00
Treehugger Robot
ceb0b57de2 Merge "Upgrade to mksh R40." 2016-12-09 02:06:26 +00:00
Elliott Hughes
966dd55b23 Upgrade to mksh R40.
From the release notes...

R54 is a bugfix release with moderate new features:

[tg] Simplify and improve code and manual page
[tg] Try GCC 5’s new -malign-data=abi
[tg] Allow interrupting builtin cat even on fast devices (LP#1616692)
[tg] Update to Unicode 9.0.0
[Andreas Buschka] Correct English spelling
[tg] Handle set -e-related error propagation in || and && constructs correctly
[tg] Initialise memory for RNG even when not targeting Valgrind
[tg] Shrink binary size
[Brian Callahan] Improve support for the contemporary pcc compiler
[tg] Fix side effects with lazy evaluation; spotted by ormaaj
[tg] New flags -c (columnise), -l, -N for the print builtin
[Larry Hynes] Fix English, spelling mistakes, typos in the manpage
[tg, ormaah] Return 128+SIGALRM if read -t times out, like GNU bash
[Martijn Dekker] Install both manpages from Build.sh
[Martijn Dekker] Document case changes are ASCII-only
[Ronald G. Minnich, Elbing Miss, Álvaro Jurado, tg] Begin porting to Harvey-OS and APEX (similar to Plan 9 and APE)
[KO Myung-Hun] More infrastructure for the OS/2 (EMX, KLIBC) port

I've continued to disable the cat, realpath, and sleep builtins,
and added print to the list (now I've realized it's unrelated to
the print on the desktop).

Bug: N/A
Test: manual
Change-Id: Iead4c1b572c6f288b2ab2b884125dcb606f1e356
2016-12-08 15:59:56 -08:00
Elliott Hughes
caf9a1dc45 Merge "Restore some of the mksh builtins." am: cd79a34d28 am: b48d5773d8 am: 10787a6eee
am: ff0f07eb15

Change-Id: Ie3e81fdba2724ab3a1551819c2a34f1414267b87
2016-08-27 03:20:39 +00:00
Elliott Hughes
ff0f07eb15 Merge "Restore some of the mksh builtins." am: cd79a34d28 am: b48d5773d8
am: 10787a6eee

Change-Id: I49b1c553ffc8749c9c3e15e73cf036b08a3d18dd
2016-08-27 02:50:44 +00:00
Elliott Hughes
10787a6eee Merge "Restore some of the mksh builtins." am: cd79a34d28
am: b48d5773d8

Change-Id: I8c6a2f2b317fda8699b33990eb33af61d8e48211
2016-08-27 02:47:14 +00:00
Elliott Hughes
b48d5773d8 Merge "Restore some of the mksh builtins."
am: cd79a34d28

Change-Id: I4916f190dc300a629f7266d0409d34a8bbfd3bf4
2016-08-27 02:44:16 +00:00
Treehugger Robot
cd79a34d28 Merge "Restore some of the mksh builtins." 2016-08-27 02:36:56 +00:00
Elliott Hughes
520cf3e8ac Restore some of the mksh builtins.
This makes us match bash in terms of what is/isn't a builtin.

Bug: http://b/20720875
Change-Id: Id90aeb115cf5e5217084bc1c5f382e14033b7d49
2016-08-26 18:10:18 -07:00
Elliott Hughes
77b30fef08 Merge "Disable various mksh builtins." am: bf92a24781 am: 28c041f5a3 am: b894dff617
am: 93d7921fa0

Change-Id: I6a1e5bb6c469d96a31a42f16969e264ecf4a012c
2016-08-25 20:16:55 +00:00
Elliott Hughes
93d7921fa0 Merge "Disable various mksh builtins." am: bf92a24781 am: 28c041f5a3
am: b894dff617

Change-Id: Ia9862beb35b52782b4e77d48bac80d038e500ad7
2016-08-25 19:56:30 +00:00
Elliott Hughes
b894dff617 Merge "Disable various mksh builtins." am: bf92a24781
am: 28c041f5a3

Change-Id: I4ba944ff459b419d316f0a97f901fa1290428036
2016-08-25 19:53:29 +00:00
Elliott Hughes
28c041f5a3 Merge "Disable various mksh builtins."
am: bf92a24781

Change-Id: I8de5f26b5b9c7fe338c9402bc5b39eb00bee90a7
2016-08-25 19:50:31 +00:00
Treehugger Robot
bf92a24781 Merge "Disable various mksh builtins." 2016-08-25 19:41:32 +00:00
Elliott Hughes
bd2d15844c Disable various mksh builtins.
They're buggy and/or lacking in functionality. Disable them and use toybox
instead.

Bug: http://b/27064311
Bug: http://b/20720875
Change-Id: Ie57efffd7b98f172eafe9d4bd5ddf723811b6f29
2016-08-24 17:18:10 -07:00
Elliott Hughes
883ac9e337 Merge "Upgrade to mksh R53a." am: c19d20531c am: 8b302a0123 am: c8ed698e56
am: 0ff4e75810

Change-Id: I6dfd2d1ae1cde2c5d9d556ba9d18904bf9794dc0
2016-08-13 18:37:04 +00:00
Elliott Hughes
0ff4e75810 Merge "Upgrade to mksh R53a." am: c19d20531c am: 8b302a0123
am: c8ed698e56

Change-Id: Iabb58f30fb722bf021f8f164780a8422403299de
2016-08-13 18:32:27 +00:00
Elliott Hughes
c8ed698e56 Merge "Upgrade to mksh R53a." am: c19d20531c
am: 8b302a0123

Change-Id: I7316be74d3aeb694790612601aef692d3663545e
2016-08-13 18:28:26 +00:00
Elliott Hughes
8b302a0123 Merge "Upgrade to mksh R53a."
am: c19d20531c

Change-Id: I999ef9dd8ef426549886c70ea8757ff3b89c28c5
2016-08-13 18:25:00 +00:00
Elliott Hughes
c19d20531c Merge "Upgrade to mksh R53a." 2016-08-13 18:19:55 +00:00
Elliott Hughes
77740fcd3d Upgrade to mksh R53a.
Note that we skipped R52c because it wouldn't build with clang (thanks to
the "Shave 200 bytes off .text by revisiting string pooling" change).

From the release notes:

R53a is a snapshot/feature release:

[lintian] Fix spelling
[tg] Unbreak multi-line command history broken by history flush
[tg] Fix redefining POSIX functions that were Korn functions before
[tg, TNF] Fix bounds checks in Vi editing mode
[tg] Handle combining characters at end of string or output correctly
[tg] Fix ${!#} ${!?} ${!-} (POSIX, prompted by izabera)
[tg] Fix shf.c-internal buffer overread on printing digits
[J�rg] Fix a typo in the testsuite
[arekm] Increase default edit line size (unless MKSH_SMALL)
[tg] Improve description of Emacs mode keybindings, especially ^U
[tg, arekm, jilles] Abort read builtin in case of read(2) errors
[tg, izabera, carstenh] Fix most of the ambiguous corner cases related to ${[pfx]var[op[word]]} (${@:-1} still unsupported)
[carstenh] Contribute some more testsuite coverage
[tg] WDS_TPUTS now emits QCHAR newline reentrant-safe
[tg] Fix var=<< implementation (LP#1380389)
[tg, FreeBSD] Make XSI test(1) extensions behave as if they were POSIX
[tg, izabera] Add $(<<<x) and $(<<EOF…) implementation
[tg] Lower minimum screen size accepted as “sane” from the OS to 4×2
[tg, Torsten Sillke] Simplify tilde-expanded parameters
[tg, Torsten Sillke] Fix default PS1 for substring matches
[tg] Apply defer-builtin-with-arguments logic to realpath builtin
[tg] Rework string pooling (own vs. compiler’s) (LP#1580348)
[tg] Feature: print -A, prints arguments as characters
[tg, izabera] Replace <<< and >>> as ROL and ROR operators with their new ^< and ^> spelling as per this proposal
[tg, slagtc] Clear-to-EOL under tmux to work around its anti-feature
[tg, p120ph37] Remove support for using file descriptors with more than a single digit, in preparation for named file descriptors
[tg] Correct, but simplify (at the potential cost of more tty I/O than strictly necessary, though never redundant and (probably) not more than before when it was miscalculated), line clearing and redrawing
[slagtc, tg] Implement new evaluate-region editing command Esc+Ctrl-E
[tg] Prefer external rename utility over the recovery builtin
[tg] Remove redundant full-line redraws
[tg, Natureshadow] Fix errorlevel of ‘.’ (“dot” special builtin) when the sourced script does not run any commands, for POSIX compliance
[tg] Refactor op tokens and edchars to shave off some more bytes
[tg] Fix some bugs in the manpage and some occasional/minor code bugs
[tg, Brian Callahan] Mark tests requiring new perl as !need-pass
[tg, slagtc] Add $KSH_MATCH and, to make it usable, ${foo@/bar/baz}
[tg, Score_Under] Fix bogus patch from OpenBSD: only NULL the global source in unwind when actually reclaiming its Area
[izabera] Mention in the manpage that integer bases go up to 36
[Natureshadow] Fix /= operator broken during refactoring

R52c is a bugfix-only release:

[tg] Shave 200 bytes off .text by revisiting string pooling
[tg, J�rg] Fix manpage for ditroff on Schillix
[tg, wbx] Use sed 1q instead of unportable head(1)
[tg] Implement underrun debugging tool for area-based memory allocator
[tg] Fix history underrun when first interactive command is entered
[tg, bef0rd] Do not misinterpret “${0/}” as “${0//”, fixes segfault
[tg, Stéphane Chazelas] Fix display problems with special parameters
[tg, Stéphane Chazelas] Catch attempt to trim $* and $@ with ?, fixes segfault (Todd Miller did this in 2004 for ${x[*]} already, so just sync)
[Martijn Dekker] Fix “command -p” with -Vv to behave as POSIX requires
[tg, jilles, Oleg Bulatov] Fix recusive parser with active heredocs
[tg] Flush even syntax-failing or interrupted commands to history
[tg, fmunozs] Fix invalid memory access for “'\0'” in arithmetics
[tg] Explicitly reserve SIGEXIT and SIGERR for ksh
[tg, izabera] Catch missing here documents at EOF even under “set -n”
[kre, tg] Document Austin#1015 handling (not considered a violation)
[tg, fmunozs] Fix buffer overread for empty nameref targets
[tg] Fix warnings pointed out by latest Debian gcc-snapshot
[tg, Martijn Dekker] Document upcoming set +o changes
[Martijn Dekker] Expand testsuite for command/whence

Change-Id: Ife475b25acae5a85277757cfe9f14c6575eac0cd
2016-08-12 15:06:53 -07:00
Elliott Hughes
b394f11bc4 Merge "Upgrade to mksh R52b." 2016-02-03 01:14:56 +00:00
Elliott Hughes
fc0307d88e Upgrade to mksh R52b.
From the release notes:

R52b is a strongly recommended bugfix-only release:

[tg] Recognise ksh93 compiled scripts and LZIP compressed files as binary (i.e. to not run as mksh plaintext script)
[tg] Document that we will implement locale tracking later
[tg] Add EEXIST to failback strerror(3)
[jilles] Make set -C; :>foo race-free
[tg] Don’t use unset in portable build script
[tg] Plug warning on GNU/kFreeBSD, GNU/Hurd
[tg] Document read -a resets the integer base
[J�rg] Fix manpage: time is not a builtin but a reserved word
[J�rg, tg] Make exit (and return) eat -1
[tg] parse “$( (( … ) … ) … )” correctly (LP#1532621), Jan Palus
[tg] reduce memory footprint by free(3)ing more aggressively
[tg] fix buffer overrun (LP#1533394), bugreport by izabera
[tg] correctly handle nested ADELIM parsing (LP#1453827), Teckids
[tg] permit “read -A/-a arr[idx]” as long as only one element is read; fix corruption of array indicēs with this construct (LP#1533396), izabera
[tg] Sanitise OS-provided signal number in even more places
[tg] As requested by J�rg, be clear manpage advice is for mksh
[tg] Revert (as it was a regression) POSIX bugfix from R52/2005 related to accent gravis-style command substitution until POSIX decides either way
[tg] Handle export et al. after command (Austin#351)
[tg] Catch EPIPE in built-in cat and return as SIGPIPE (LP#1532621)
[tg] Fix errno in print/echo builtin; optimise that and unbksl
[tg] Update documentation, point out POSIX violation (Austin#1015)

R52 is a strongly recommended bugfix release:

[_0bitcount] Move moving external link from mksh(1) to the #ksh channel homepage linked therein
[tg] Make setenv “set -u”-safe and fix when invoked with no args
[tg] Make “typeset -f” output reentrant if name is a reserved word
[oksh] Zero-pad seconds in “time” output to align columns
[tg] Check signals and errorlevels from OS to be within bounds
[komh, tg] Quote and document ‘;’ as PATH separator in some places
[oksh, tg] Simplify code to call afree() even if arg is NULL
[tg] Fix tree-printing and reentrancy of multiple here documents
[tg] Work around LP#1030581 by permitting exactly one space after
[tg, oksh] Code quality work, cleanups
[tg] New code for here documents/strings with several bugfixes
[tg] Stop using issetugid(2) for ±p checks, wrong tool for the job
[tg] Reintroduce some -o posix changes lost in 2005, plus fixes
[tg] Make “source” into a built-in command
[tg] Drop “stop” alias, lksh(1) functionality to auto-unalias
[tg] Fix \u0000 ignored in $'…' and print
[tg] Improve portability of Build.sh
[Jilles Tjoelker] Improve portability of testsuite
[tg] Fix tilde expansion for some substitutions (izabera, Chet, Geoff)
[tg] Improve reparsing of ((…) |…) as ( (…) |…)
[Martijn Dekker] Fix test(1) not returning evaluation errors
[tg] Fix ${*:+x} constructs (carstenh)
[tg] Make (( … )) into a compound command (ormaaj)
[tg] Repair a few parameter substitution expansion mistakes

Change-Id: I3d875b5c648c60cc6203c964f11d8cbd42648d9c
2016-02-02 15:26:47 -08:00
Elliott Hughes
f688e8a1ab Merge "adbd sets $TERM now." 2015-11-16 23:42:01 +00:00
Elliott Hughes
4ad1394a3c adbd sets $TERM now.
Bug: http://b/25601436
Change-Id: I532233a1cf349ac0117bdfb898ef050c42357178
2015-11-16 11:09:40 -08:00
Elliott Hughes
f254c87fb7 Merge "adbd sets HOME/LOGNAME/SHELL/USER now." 2015-11-02 22:45:42 +00:00
Elliott Hughes
d45dd20c43 adbd sets HOME/LOGNAME/SHELL/USER now.
We also don't need to export variables we inherited --- they're
automatically exported.

Bug: http://b/19635681
Change-Id: Ie8e8480e7487ddc0fb9e984235b8b5ea0c587686
2015-11-02 14:40:16 -08:00
Elliott Hughes
19107cc387 Merge "Remove hd." 2015-09-25 15:15:02 +00:00
Elliott Hughes
dfe721ad49 Merge "Remove setenv." 2015-09-25 15:14:36 +00:00
Elliott Hughes
7c84572312 Merge "Remove auto addition of ~/bin subdirectories to the path." 2015-09-25 15:14:14 +00:00
Elliott Hughes
a888b29057 Remove hd.
hd was only usable from interactive shells. xxd is more functional and usable
from interactive and non-interactive shells.

Change-Id: I294acea221e20ca46b6bc7e8e34906bd5d1b6dad
2015-09-25 08:12:29 -07:00
Elliott Hughes
7cad83fe64 Remove setenv.
No one is expecting the C shell any more.

Change-Id: Iff9422d254a51c988f2a6157379660b4ddaa617f
2015-09-25 08:11:32 -07:00
Elliott Hughes
91528bac84 Remove auto addition of ~/bin subdirectories to the path.
Change-Id: Icde133fb21fa93ba3909b40da62da81654be1bab
2015-09-25 08:11:32 -07:00
Elliott Hughes
e006687723 Merge "Upgrade to mksh 51." 2015-07-17 20:07:15 +00:00
Elliott Hughes
96b43632c2 Upgrade to mksh 51.
Bug: http://b/22413333
Change-Id: Id86d5bf463af540b84d03a7b8fe092d23702f414
2015-07-17 11:44:21 -07:00
Elliott Hughes
c87de5d027 Merge "Upgrade to mksh 50f." 2015-04-22 19:51:33 +00:00
Elliott Hughes
b27ce95e41 Upgrade to mksh 50f.
Bug: http://b/20101805
Change-Id: Ic311851b31217517f6c201b5ec68a0668577eddf
2015-04-21 13:39:18 -07:00
Elliott Hughes
d978a9edb7 Merge "Apparently not all our toolchains have -fstack-protector-strong yet." 2015-03-11 17:29:33 +00:00
Elliott Hughes
a64e43f4eb Apparently not all our toolchains have -fstack-protector-strong yet.
Change-Id: Ieaf13c9d402a6f1bc13c393de9aa965a4e7a845d
2015-03-11 10:27:23 -07:00
Elliott Hughes
74cae37f5f Merge "Upgrade to mksh 50e." 2015-03-11 16:58:18 +00:00
Elliott Hughes
50012061ca Upgrade to mksh 50e.
Change-Id: I341673d83c67f83761aa02c8372da6bbc419286f
2015-03-10 22:22:24 -07:00
Elliott Hughes
2638cbd9a1 am 948ca12d: Merge "Set to /data/local/tmp, and use id -un to get the user\'s name."
* commit '948ca12d46512a832fe53ee24fd580e7addaf28d':
  Set $TMPDIR to /data/local/tmp, and use `id -un` to get the user's name.
2015-02-10 16:52:45 +00:00
Elliott Hughes
948ca12d46 Merge "Set $TMPDIR to /data/local/tmp, and use id -un to get the user's name." 2015-02-09 22:02:37 +00:00
Elliott Hughes
417ccf4906 Set $TMPDIR to /data/local/tmp, and use id -un to get the user's name.
Needed to make various command-line tools work out of the box, since we
don't have /tmp, which is what they'd naturally fall back to.

Change-Id: I3091d5ec9235f977de4a698a34f1f147a69e8a33
2015-02-09 12:25:41 -08:00
Elliott Hughes
17de28817a am 508b5747: Merge "Default to xterm, remove some cruft."
* commit '508b57470e9910e8c3be448ec4428ea02182c473':
  Default to xterm, remove some cruft.
2014-12-12 01:51:27 +00:00
Elliott Hughes
508b57470e Merge "Default to xterm, remove some cruft." 2014-12-12 01:22:00 +00:00
Elliott Hughes
11ed7f9d7c Default to xterm, remove some cruft.
gtest won't color its output unless TERM is an xterm, and that seems as
reasonable a default as vt100. More reasonable, in fact. This only fixes
things for login shells, so we still need to fix adb to pass $TERM
through to make yabinc happy...

We can get a better more(1) from toybox, and the aliases seem inappropriate.

Change-Id: Id73035d69ab421b179b9beb575d4e1607fbcce62
2014-12-11 17:13:19 -08:00
Elliott Hughes
1e1ca3f978 am a1c1f910: am 319a679f: Merge "Upgrade to mksh 50d."
* commit 'a1c1f910f501fd658f7b2bea133bd47cb8d2395d':
2014-10-26 22:48:07 +00:00
Elliott Hughes
e3d656aa22 am fd0e00a2: am 1f487419: Merge "Upgrade to mksh 50c."
* commit 'fd0e00a245aa73ac85e5af7ba5191a999ff7bda3':
2014-10-26 22:48:07 +00:00
Elliott Hughes
94d772d0c4 am a0a78c0a: am 049d9caa: Merge "Make mksh\'s mkmf.sh target-agnostic."
* commit 'a0a78c0a155ec954a8a67e155348e7424dd63237':
2014-10-26 22:48:07 +00:00