Commit Graph

99 Commits

Author SHA1 Message Date
tg 35b30679c7 since so many internal things hardcode 'C' locale anyway,
use own is{digit,lower,upper} macros that go via byte ranges

doesn't affect utf-8 hack because these only operate on single bytes anyway
saves 224t
2006-11-10 06:53:27 +00:00
tg 251243b253 use strcasestr not strcasecmp, oops
costs 55t 4d 1i
2006-11-10 06:31:47 +00:00
tg a199d23dfa use setresuid(2) and friends instead, saves 88t 4d 1i
XXX revisit this if we encounter systems without at least
XXX one of setresuid, setresgid, setgroups - only tested on BSD
2006-11-10 06:27:09 +00:00
tg 27443bc0c8 skip on cesu-8, we think nl_langinfo(CODESET) at least will
always return utf-8 for it (on wchar_t=16bit systems); 68t
2006-11-10 05:27:43 +00:00
tg 493ad928e3 if MKSH_SMALL, disable persistent history code as well (like on Solaris,
where it can't work anyway), and fix that code to shrink
saves 2071t 20d 5i
2006-11-10 05:23:14 +00:00
tg f8e7fdbb71 use qsort(3) instead of rolling our own
saves 284 in .text, no added import since we already use qsort(3) once
2006-11-10 03:23:50 +00:00
tg 273ca89019 * check.t: add new regression test "typeset-padding-1" according to TFM
* edit.c: remove debug stuff again; next time better use shl.c functions ;)
* sh.h: add format attributes to a few shf functions
* histrap.c, var.c: fix format string mistakes
* main.c, sh.h: error_prefix and warningf take bool not int
* misc.c: make chvt() stuff use shf_* functions
* misc.c: rewrite the TIOCSTTY stuff to be better integrated in mksh,
  since it originally was an external patch
* misc.c: chvt() no longer fails if e.g. chown fails due to e.g. R/O / fs
* var.c: fix typeset padding for right-justified zero-filled
2006-11-10 01:13:52 +00:00
tg d4ca2c9141 simplify getconf and confstr stuff 2006-11-09 22:08:08 +00:00
tg 11fbdb4378 implement autoconf tests for langstuff; sync date 2006-11-08 23:45:47 +00:00
tg 1547b04e66 add new "set -o utf8-hack", currently no effect
set automatically on startup if we have locale functions (on MirOS)
2006-11-05 12:11:14 +00:00
tg 7ae68e335c * avoid unaligned memory access causing SIGBUS on IA-64 (Itanic)
(incidentally, the information xor'd now is more random)
  only affects non-arc4random targets
* bump version
2006-09-30 02:13:21 +00:00
tg c81966621a merge non-Plan9-specific stuff from the branch, add KNF, etc. 2006-08-24 20:32:53 +00:00
tg 4fac7ec24b * remove redundancy
* integrate compat.h, version.h into sh.h (dependency trick didn't work anyway)
* mention #ksh in mksh(1) since the founder (twkm) said it's on topic too
  (don't remove mention of #mksh despite it's usually empty because of control)
2006-08-22 22:49:38 +00:00
tg 5ee451f98c restrict RANDOM to a positive 31-bit integer number, for use with modulo op 2006-08-18 18:48:26 +00:00
tg b131ca909d as long as we're using arc4random(3) to generate $RANDOM,
let it be an uint32_t, like nbsh(1)
2006-08-18 13:40:16 +00:00
tg 5e619e1ef3 style(9) 2006-08-01 13:43:28 +00:00
tg 711496f6fb move version definition into extra file 2006-08-01 12:22:26 +00:00
tg 80c579a758 dates 2006-07-23 14:35:44 +00:00
tg 64598758fb * TNF needs more to silence char subscript warnings (on 3.0-stable)
* bump vsn
2006-07-11 14:51:01 +00:00
tg bc93d1c90d fix the "char subscripts" issue, bump version 2006-07-03 12:16:31 +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 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 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 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 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 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 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 66575644fc bump to mksh R25 2005-10-25 21:11:26 +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 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 1b081938fb * bump version
* disable DEBUGPROGS
2005-10-08 18:53:10 +00:00
tg 8d305cd1e3 revert to R24b since we don't printf ATM 2005-09-11 00:32:30 +00:00
tg 6c5d08ea6f * add printf(1) as mksh(1) builtin on MirOS
(or, more general, all systems using Makefile
  instead of Build.sh)
* document this fact
2005-08-26 22:03:56 +00:00
tg 309b8d635f * make 64-bit clean on GNU/Linux by default
* clean up and remove some .Xr from the man page
* bump version
2005-08-21 13:02:17 +00:00
tg 0651ba008e ^V now is quote, not version, even in emacs mode. (From OpenBSD.)
Also, the "version" command got removed in its entirety.
Shaves off another global variable, even.
2005-08-02 12:35:27 +00:00
tg 3506838417 undo fix for Debian PR #71256 which turned to be bogus and break make(1) 2005-07-07 22:00:45 +00:00
tg fb64668227 remove Korn's bizarre /dev/fd hack
(only affects Interix!)

Tests on /dev/fd are now officially unsupported in mksh too.
2005-07-06 00:02:06 +00:00
tg f11d5ff712 clean up code 2005-07-04 12:47:13 +00:00
tg 76c700b3a6 get rid of $PGRP
get rid of special bourne-shell emulating mode
2005-07-04 12:34:24 +00:00
tg e392a30930 get rid of special "POSIX"ish mode 2005-07-04 12:27:28 +00:00
tg bfc5b81602 mksh no longer looks at its own called name or $SHELL
to determine if it should be a restricted shell
2005-07-04 11:57:55 +00:00
tg 29d0a88111 date of today 2005-06-24 15:42:03 +00:00
tg 37d4f1e874 first step for GNU/Cygwin support 2005-06-24 15:36:57 +00:00
tg efebc38662 miRbsdkSH is now a restricted shell again, because this
shell is the mksh
2005-06-08 22:35:45 +00:00
tg a21be8d676 some lint cleanup 2005-06-08 22:34:03 +00:00
tg d518ab0023 run a bit of indent over it
not really suitable tho
2005-06-08 22:22:24 +00:00
tg 521da70fc8 * major revamp of build system
* whitespace cleanup; junk comment removal
* syndicate debian/copyright file from my port (shrinks sh.h)
* bump to R23
2005-06-08 21:51:22 +00:00
tg 0df992276b mksh R22d 2005-06-05 16:38:20 +00:00