tg
f7ef916ed9
* fix CR-LF accident
...
* fix gcc4 warnings in autoconf tests
* Debian needs <grp.h> for setgroups, which seems fairly POSIX
Testsuite succeeds on Debian testing/unstable (i386)
2006-11-12 13:35:29 +00:00
tg
a799f50fea
scan for setresuid/setresgid and setgroups
...
no alternative implementation yet
2006-11-12 12:56:10 +00:00
tg
742b9c6725
not being able to get current working directory shan't yield SIGSEGV, oops
2006-11-10 19:11:57 +00:00
tg
56ffbf7e70
hand-sorted ctypes/chtypes upgrade; use table-driven where they make
...
sense and preprocessored otherwise; unify the logic
saves 144t 1i and lots of cpp(1) time, as well as improves readability
2006-11-10 07:52:04 +00:00
tg
feb7dddd44
* use only macros for ctype stuff any more
...
XXX one of these uses a gcc extension, ok for now tho
* don't include <ctype.h> any more at all
* don't try nl_langinfo in small mode, just check locale
saves 171 .text, 4 .data, 256 .bss, 1 import
2006-11-10 07:18:58 +00:00
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
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
7c4f8d7e16
oops
2006-11-10 05:21:38 +00:00
tg
5dff5df5e5
get rid of the 'mksh -T' functionality (chvt) if MKSH_SMALL
...
848 text 12 data 3 imports
2006-11-10 04:07:59 +00:00
tg
a1ff719ba4
thanks to the nice property of my reimplementation of getn to also
...
return a value in case of an error (0 or the partial result, which
is the full result in case of trailing junk even), using it to rid
atoi() is possible, saving 9t 4d 1i
2006-11-10 04:03:59 +00:00
tg
d91d7feff0
exit not _exit, 50 text 4 data 1 import
2006-11-10 03:54:38 +00:00
tg
d10dd31b9a
correct a few protos and comments
...
saves 4 .text bytes and my nerves
2006-11-10 03:45:57 +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
f103c6b2a0
use errorf not bi_errorf if we want to abort
...
saves 16 .text ;)
2006-11-10 02:10:45 +00:00
tg
658dc2b407
rewrite getn() which is some kind of atoi with return code
...
costs 1 .text, saves 4 .data, 1 libc import
2006-11-10 02:05:06 +00:00
tg
242d2c086d
overhaul parse_args - don't use strlcpy and strlen when overkill
...
also fixes off-by-one
saves 48 .text
2006-11-10 01:52:23 +00:00
tg
c60dbdc6cb
* change EXECSHELL to /bin/sh (we can override it via environment anyway,
...
and this is a sensible choice instead of ourselves)
* move this stuff from sh.h into exec.c where it belongs
* simplify set -o stuff
saves 8 bytes
2006-11-10 01:44:40 +00:00
tg
ebf58f6b42
if !MKSH_SMALL, str_save() can be a macro
2006-11-10 01:19:17 +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
320f503391
get rid of ulton() - a joke
...
saves 32 bss, but adds 84 text oO
2006-11-09 23:55:52 +00:00
tg
88bf6422d9
shrink chtypes array down to 8 bit
...
saves 72 text and a lot bss
2006-11-09 23:39:16 +00:00
tg
35776a9d4d
using a function instead of a macro saves 896 bytes of .text
2006-11-09 20:53:42 +00:00
tg
a1bfc17aa0
optimise and, ahem… plug…
2006-11-09 14:19:31 +00:00
tg
5e2e209d51
make this R29(beta), mksh -U turn on (or setlocale), and document.
2006-11-05 17:01: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
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
a87ff74cbd
* version.h doesn't need an RCS ID
...
* compat.h does, add it to misc.c, always include it, move if NEED_COMPAT
* major whitespace cleanup in sh.h
2006-08-22 22:16:04 +00:00
tg
1100be9300
re-implement "set -o posix" which doesn't do much ;)
...
but turns off 'braceexpand' when turned on as side effect,
just like oksh/pdksh.
document "set -o sh" too.
2006-08-09 20:44:16 +00:00
tg
5e619e1ef3
style(9)
2006-08-01 13:43:28 +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
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
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
ee7992988b
* move <sys/param.h> include to sh.h
...
* fix compilation and invocation of test suite with whitespace in
the pathnames for real, this time
* clean up (especially whitespace)
2005-07-07 23:27:52 +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
d7c3f0a066
make setuid/setgid scripts and access() work again
...
by reverting some OpenBSD and applying some Debian diff
2005-05-25 13:46:02 +00:00
tg
3f570d7cc7
now passes on Solaris (-Wall -W -Wno-char-subscripts) too
2005-05-23 15:54:31 +00:00
tg
b8a06e0fbe
* Solaris misses sig_t
...
* our gmatch becomes gmatchx, it's extended against sh(C)
2005-05-23 15:18:17 +00:00
tg
cd7b8bd79b
Add mirbsdksh R21, which was developed in a temporary external CVS repo-
...
sitory whose ChangeLog follows. mksh R21 is licenced under the MirOS li-
cence, shown in "sh.h", and a two-clause UCB-style licence by Marc Espie
as shown in "alloc.c".
This executable is a fair bit smaller and shorter than our /bin/ksh that
it is designed to eventually replace (as /bin/sh hardlink), with the old
/bin/ksh to completely vanish. It is still in beta testing though, and I
don't think it will compile on other operating systems.
mksh R21 is a completely new port, bringing together the OpenBSD-current
/bin/ksh, the MirOS-current /bin/ksh and the older mksh R20 (which still
was portable, ocvs-based).
2005-05-23 03:06:10 +00:00
tg
d8d708aa45
* un-hook bin/ksh, usr.bin/xmlwf and lib/libexpat from the build
...
- expat as discussed with bsiegert@ today on the phone
- ksh as announced earlier on the lists
* un-hook lib/libexpat from make includes
* remove /usr/include/{,open}ssl upgrade workaround from includes/Makefile
* nuke old bin/ksh
* nuke libexpat and xmlwf
2005-10-21 11:33:15 +00:00
tg
a90702a5a1
Initial revision
2005-03-06 15:42:55 +00:00
tg
130367d617
further cleanup
2004-12-31 19:37:03 +00:00
tg
337bd6717f
unused
2004-12-28 22:33:21 +00:00
tg
0114af375d
Use stdbool.h instead of rolling our own bools.
...
From: Todd C. Miller <millert@cvs.openbsd.org>
XXX #ifndef HAVE_STDBOOL_H ?
2004-12-28 22:32:09 +00:00
tg
6354a66090
always BRACE_EXPAND
...
no binary change
2004-12-18 19:27:21 +00:00
tg
d5ff21ea1d
(anything *)0 -> NULL
2004-12-18 19:22:30 +00:00
tg
cbeac44097
* unifdef EDIT, VI, EMACS, HISTORY
...
* optimise away 0 ||
no binary changes
2004-12-18 19:17:10 +00:00
tg
4c4a9323f8
unifdef: KSH
...
no binary change
2004-12-18 18:58:32 +00:00
tg
c34add61ff
un-OS/2 (sorry)
...
no binary change
2004-12-13 19:05:09 +00:00
tg
978a1d53a1
* reduce amount of empty lines
...
* replace some spaces by tabs
* shuffle code around (shrink)
2004-12-13 18:53:25 +00:00
tg
97d9512149
bump to mksh R19
2004-12-10 18:12:32 +00:00
tg
7920708324
Initial revision
2004-12-10 18:12:29 +00:00
tg
8581802651
apparently fix coredumps
2004-10-31 23:01:18 +00:00
tg
582bb62b81
add to mksh the unique ability to spawn on a different VT
2004-10-31 22:28:43 +00:00
tg
b2de14e57c
run GNU protoize
...
protect header files
nuke some dead code
regenerate configure script
let silly code die
2004-10-28 11:53:44 +00:00
tg
75e25d6e50
de-register, de-inline, de-__P
2004-10-28 11:11:19 +00:00
tg
7ad780aa98
-Wall -Werror -W -pedantic clean
2004-10-28 11:03:24 +00:00
tg
ecdd4d5568
unify spacing of RCS IDs
2004-09-21 11:57:17 +00:00
tg
6c8eabf72e
polish, mop up whitespace, etc.
...
passes regressions on MirOS
2004-05-24 19:56:25 +00:00
tg
712a3cc064
overhaul the random stuff ;-)
2004-05-24 19:06:55 +00:00
tg
8d3634d008
throw out a bunch more of 0x60 characters throughout code and comments
2004-04-17 00:47:20 +00:00
tg
5be773aea6
* merge in OpenBSD
...
* rename cd34.iso to cdrom8.iso
XXX gzip/compress on ramdisk in MirOS should still
XXX be able to compress and not only decompress
XXX files. must be revisited
2003-12-23 13:41:51 +00:00
tg
434b10fb3c
Merge OpenBSD-current
2003-09-25 20:59:37 +00:00
tg
906c968df7
Merge OpenBSD
2003-08-16 15:19:49 +00:00
tg
f31bf084e3
new non-standard mode: -o emacs-usemeta (on by default)
...
from naddy@, thanks
2003-06-26 18:26:21 +00:00
tg
7ebc0530d6
Import OpenBSD source tree of short before 17:00 UTC today
2003-05-07 17:15:23 +00:00
tg
485fcb1158
Import OpenBSD cvs as of roughly 11:11 UTC today,
...
or CTM delta 3188/3189/3190.
2003-04-10 13:54:46 +00:00
tg
a34b05d2e6
Import OpenBSD 3.3 source repository from CTM 3132 the first time
...
This opens an OpenBSD-mirabile (aka MirBSD) repository.
### MirBSD is:
# Copyright (c) 1982-2003 by Thorsten "mirabile" Glaser <x86@ePost.de>
# Copyright © 1968-2003 The authors of And contributors to UNIX®, the
# C Language, BSD/Berkeley Unix; 386BSD, NetBSD 1.1 and OpenBSD.
#
# Anyone who obtained a copy of this work is hereby permitted to freely use,
# distribute, modify, merge, sublicence, give away or sell it as long as the
# authors are given due credit and the following notice is retained:
#
# This work is provided "as is", with no explicit or implicit warranty what-
# soever. Use it only at your own risk. In no event may an author or contri-
# butor be held liable for any damage, directly or indirectly, that origina-
# ted through or is caused by creation or modification of this work.
MirBSD is my private tree. MirBSD does not differ very much from OpenBSD
and intentionally tracks OpenBSD. That's why it _is_ OpenBSD, just not the
official one. It's like with DarrenBSD.
At time of this writing, no advertising for MirBSD must be done,
because the advertising clause has not yet been sorted out.
http://templeofhate.com/tglaser/MirBSD/index.php
2003-03-22 17:35:03 +00:00