Commit Graph

523 Commits

Author SHA1 Message Date
tg fc87ecb1dd add a little portability 2006-06-23 15:05:39 +00:00
tg ab231f3595 new conditional: HAVE_ARC4RANDOM_PUSH 2006-06-21 19:35:38 +00:00
tg 569cf64ff1 * process ~/.mksrc only if FTALKING (i.e. interactive shell)
From: hondza <miscreant@tiscali.cz>
* document that in the manual page myself
* add regression test for that myself
2006-06-21 19:27:35 +00:00
tg 51d6772800 move -D_FILE_OFFSET_BITS=64 (not on interix tho, sadly) - XXX where else?
and -DNEED_COMPAT
2006-05-27 20:33:01 +00:00
tg 7bc318156c we only need to check for error, not for 'error code 1',
that's sufficient for make; Solaris 10 gives us an exit
code of 255 (exit status 65280) here according to Tonnerre
2006-05-27 11:36:50 +00:00
tg ea102ef66e fix build under Solaris 10
From: Tonnerre LOMBARD <tonnerre@bsdprojects.net>

doesn't break Solaris 8 on stinky.trash.net (tested)
2006-05-27 11:30:07 +00:00
tg daa40b4e45 this is mksh R27, tested on
* MirOS HEAD (i386, gcc 3.4)
* Debian GNU/Linux 3.1 (i386, gcc 3.3)
* Interix 3.5 (i386, gcc 3.3) - perl too old for regression tests
* GNU/Cygwin 2006-03-* (i386, gcc 3.4) - no perl installed
* Solaris 8 (sparc64, gcc 3.4)

no testing been done on
* Mac
* other BSDs
* gcc 4.1.1
* Solaris 10
because I asked for community feedback but...
2006-05-26 23:36:19 +00:00
tg 576e19b39e need confstr proto on Debian 2006-05-26 22:24:20 +00:00
tg 14a65d55e6 pull in last OpenBSD diff - I must admit I neither fully understand
the diff nor the commit message, but they're probably knowing what
they're doing

on an unrelated side note, mksh-beta.cpio.gz didn't get tested by
many people... so mksh R27 will be released without much more...

Set the index of item[0], since it might not have been set before
(A=0; A[1]=1) and do not use a static buffer in str_val, since the
results might be used in a loop. Report from jared r r spiegel; help
from Matthias Kilian; ok beck@
2006-05-26 22:17:21 +00:00
tg f4ea190e65 why do I suddenly need -D_BSD_SOURCE on GNU where I didn't before? 2006-05-10 20:34:28 +00:00
tg 8297ca20c8 * this is almost mksh R27, bump
* add the O'Reilly books as references
2006-05-10 19:30:33 +00:00
tg 7672b9b346 apply some fixes from OpenBSD and don't apply some others
but sync RCS IDs for easier future adaption:
* Simplify savefd() by removing the "noclose" flag and make noclose
  behavior the default. Almost all uses of savefd() are followed
  by an implicit or explicit close.
* fix typos
* might as well make ksh_getopt() match real getopt(), ie. get rid of that
  stupid EOF concept that was never true. adobriyan@gmail
* use SEEK_* for lseek()
* fix lint comments, no functional changes
* remove excessive optimization; from adobriyan@gmail
* only santa checks things twice; from adobriyan@gmail
* Interpret zero-filled numbers as decimal; PR 4213; from Alexey Dobriyan
2006-05-10 18:54:13 +00:00
tg 301066165b auto-test check.t:mkshrc-1 as well (verified to work) 2006-05-08 12:18:49 +00:00
tg e28549e4ff illustrate creative use of $PS1
requested by Jari Aalto
2006-05-08 12:12:36 +00:00
tg b0eb8f5b5e * check.t: add two mkshrc-tests (turn on, turn off)
* check.pl, check.t: add mkshrc-test whether "real" $HOME/.mkshrc interfers
* mksh.1: sync with reality: $ENV unset isn't needed, $ENV='' is enough
  to turn on ~/.mkshrc processing
2006-05-08 11:59:41 +00:00
tg c4ef5b801a New feature: read ~/.mkshrc during startup, after the profiles
have been read, for non-priviledgued shells only. If $ENV is
set, ~/.mkshrc is ignored (even if the file pointed to by $ENV
does not exist in the first place).
Feature requested by Jari Aalto for portable mksh because some
operating systems' vendors do not allow touching the profile.

Initial diff and manual page addition by Jari Aalto <jari.aalto@cante.net>
Code changes and manual page correctness by me.
2006-05-08 11:42:36 +00:00
tg 41f310751e un-tabulate function declaration (style) 2006-05-08 11:07:38 +00:00
tg 5726a50ab9 * shuffle around _*_SOURCE definitions (sh.h -> Build.sh), per OS
* Tonnerre Lombard reports that Solaris 10 needs _BSD_SOURCE
2006-03-19 18:06:32 +00:00
tg 9e838e765c * convert most of the interna of edit.c to unsigned where it's
important for the signedness of the target, to enable using
  high-bit7 characters on the command line (eg. in UTF-8 locales)
* make emacs-usemeta and vi-show8 equivalent and document that
  in the manual page (i.e. beware if you're in a latin1 locale)
* do not reference SUSv3 (helps GNU groff), write \&" out instead
2006-02-16 11:48:32 +00:00
tg 9d6fc21153 better style 2006-01-30 12:39:14 +00:00
tg 3f2912d717 * update to mksh R26c
* there is no comma in front of "which" in English, I was taught
2006-01-30 12:37:24 +00:00
tg eb33e02f8e this can be released as mksh-R26c, works on Solaris, Interix (whose Perl
is too old for the testsuite), Debian and of course MirOS
2006-01-29 20:56:55 +00:00
tg e7f1c2c8c1 forgot one use_rand, found on Solaris 2006-01-29 20:16:51 +00:00
tg a09f40cacd optimise the non-arc4random case while not touching the default case 2006-01-29 20:10:16 +00:00
tg 94ee3b388a sync with OpenBSD: remove unused code and vars; name clash with libc
compiles under MirBSD
2006-01-29 20:04:54 +00:00
tg 7ca34b3b12 mirbsd 2006-01-27 10:59:30 +00:00
tg 18265d10f5 * add a few handy tricks (IFS, -r, -p and co-processes) to the description
of the 'read' builtin (it's not exactly where they belong, but hey, this
  man page is already better than the O'Reilly book)
* replace all | with \*(Ba
2006-01-27 10:58:36 +00:00
tg 8301a9bd51 flesh out regression test into an on-the-fly-generated ./Test.sh
so that the user doesn't have to copy and paste a super-long line

idea by Han Boetes and others
2006-01-27 00:50:12 +00:00
tg 0addfc1c92 * replace /*...*/ form of licence with easier # form (no practical change)
* bump to 2006
2006-01-27 00:44:16 +00:00
tg 67ce90703e sync licence 2005-12-06 18:14:27 +00:00
tg d347cdc4d8 sync with reality 2005-11-24 19:42:38 +00:00
tg 8226efa566 use \t not \n for separating RCS IDs
ident(1) finds both similarily, and as doesn't bitch
2005-11-24 19:39:10 +00:00
tg 95cfad6339 * only have one $MirOS RCS ID per file to shrink source size
(this is an exception from normal use)
* bump to R26
2005-11-22 18:40:44 +00:00
tg f38d8299f9 Change interpretation of '\"' in here documents with substitution
according to SUSv3 and other modern shells (POSIX allows both).
Idea for the patch (add another lex state) from OpenBSD, but the
implementation differs slightly (and is better in quality).

Also add two testcases (/bin/sh passes both, old mksh only one),
and document the change in the manual page. Sync RCS IDs with OBSD.
2005-11-22 18:36:20 +00:00
tg 1d6032acda merge OpenBSD (sort order) fix but don't document any kshrc,
we got rid of them some time ago
2005-11-22 18:09:18 +00:00
tg 987bfa3b22 not all MirOS BSD revisions have had arc4random_push()
for example, good old #7-stable on my sparc
2005-10-29 07:55:51 +00:00
tg a0e618395e only add /bin/mksh to /etc/shells once, hint from Han Boetes 2005-10-26 08:47:19 +00:00
tg 66575644fc bump to mksh R25 2005-10-25 21:11:26 +00:00
tg dba27d6ef4 this commentary is no longer needed 2005-10-25 21:07:21 +00:00
tg 3e688e426e Solaris and GNU/Linux have fucked up PAM, so no -static there 2005-10-25 20:59:00 +00:00
tg 7d5d3d8440 no LDSTATIC on Darwin 2005-10-25 20:54:29 +00:00
tg 871fcf8ed6 update licencing information 2005-10-25 19:56:43 +00:00
tg 9b97d72d5e * move _all_ #include stuff into sh.h
* sort out #include stuff which isn't necessary on MirOS into compat.h
2005-10-25 19:53:29 +00:00
tg 91303fe9d1 if we have some C shell, use /bin/sh instead 2005-10-25 19:46:52 +00:00
tg df22a0fb1b Shuffle some stuff around to the compat functions and add glue 2005-10-25 19:46:11 +00:00
tg 181463f990 another Slowlaris speciality... 2005-10-25 19:35:14 +00:00
tg 2f9687c58a follow OpenBSD and add mknod as mksh builtin (mknod <file> p acts as mkfifo)
but write a good chunk of that code myself (better structured, better error
handling, more gotos, less function calls, int -> bool)

passes all tests on mirbsd; this will become mksh R25 once tested on other
supported OSes
2005-10-21 12:41:56 +00:00
tg 4e37f85975 Tell user which value of index is out of bounds. ok deraadt@
From otto@obsd
2005-10-21 11:55:23 +00:00
tg 0b85dc1e81 remove USE_PRINTF hooks, it never worked anyway, and probably nobody
is going to fix it...
2005-10-21 11:44:25 +00:00
tg 30aed785bc fix up DEBUGLIBS and DEBUGPROGS 2005-10-20 12:47:49 +00:00