306 Commits

Author SHA1 Message Date
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