tg
c021aa4cad
• use a flag for determining here strings, don’t parse delimiter every time
...
• don’t leak memory parsing possible I/O redirection tokens
• get rid of volatile by using more const (also helps codegen, methinks)
• support empty here document markers (mksh extension)
• pimp the manpage
2011-05-05 00:05:01 +00:00
tg
4345dd1fb8
+= support for variables and arrays
2011-05-04 23:16:05 +00:00
tg
0d6e622b14
return EOS on EOS just to be on the safe side
2011-05-04 22:38:27 +00:00
tg
1a316664ef
RCS Id sync with oksh (no change; their diff is bogus with nroff and gnroff)
2011-05-02 22:57:22 +00:00
tg
69f98bca9a
• fix wtf(1) by keeping the paren in ${foo#\(} properly escaped in COMSUB
...
• merge tputS and wdstrip_internal
⇒ net save: 604 .text 0 .data 0 .bss (MirBSD/i386)
2011-05-02 22:52:54 +00:00
tg
d69ffbf9e0
elaborate on 「${arrname[*]}」 and 「"${arrname[@]}"」 for wbx@
2011-04-23 10:40:27 +00:00
tg
8bc51681b1
sync clog
2011-04-22 21:44:35 +00:00
tg
45cd3a340b
this is about the amount -Wl,--gc-sections can help me to eliminate
2011-04-22 12:21:55 +00:00
tg
d72669c66b
this one is trickier
2011-04-22 12:16:38 +00:00
tg
6c0255ecb2
more static initialisers (verified using nm comparision between mksh
...
built with/-out "-ffunction-sections -fdata-sections -Wl,--gc-sections"
2011-04-22 12:15:42 +00:00
tg
c0e1e7645a
static initialisers implicitly null out a variable (I think)
...
so take care of that (for global variables) to avoid them
moving from .bss to .data
2011-04-22 12:10:14 +00:00
tg
51607e17b2
funnily enough “typeset -ft” description already was “correct” as to
...
the today’s behaviour (and AT&T ksh’s) but the general function overview
(and description) wasn’t…
2011-04-17 15:43:12 +00:00
tg
fb93c5e225
by prodding of wbx@ let functions inherit a global xtrace
...
(also since all other shells seem to do it, save posh which doesn’t trace‽)
2011-04-17 15:40:35 +00:00
tg
61a8888213
always catch SIGALRM even in non-interactive shells to make sleep work
2011-04-17 12:24:44 +00:00
tg
6c45e3e764
avoid namespace conflicts with __attribute__(…)
2011-04-09 21:01:03 +00:00
tg
e39dea490f
sync… various things
2011-04-09 18:47:14 +00:00
tg
8c46637835
cnuke says Haiku is like GNU in that it has no /usr whatsoever
2011-04-09 15:39:50 +00:00
tg
cd9f846852
missed one FKSH use
2011-04-09 15:21:36 +00:00
tg
d57a033057
• no longer use <stdbool.h> even if it’s available
...
• ensure that bool/true/false are cpp macros, overriding any pre-defined
• document the requirement that tobool(x) must map any-type 'x' into bool
• document the requirement that a bool must only be true or false, and
that it (tobool() rather) must have an identity mapping to 'short'
• possibly fix ksh_func for/and fpFUNCTf – maybe spotted by cnuke@
2011-04-09 15:14:55 +00:00
tg
2dbf82a737
no // style comments in my source code!
2011-04-09 15:05:44 +00:00
tg
63a08586be
easier debugging with HAVE_STDBOOL_H=0 for if bool is indeed built-in
2011-04-09 14:58:53 +00:00
tg
e4e5229513
shut up valgrind, thanks wbx@ for prodding
2011-04-02 13:55:35 +00:00
tg
7d3643d7b4
skip the UTF-8 BOM early, then check the magic (ELF, a.out, COFF, …)
2011-04-02 10:30:11 +00:00
tg
a7091123aa
Add “-C regress:no-ctty” option to test.sh for Fedora chroots
...
STRONGLY DISCOURAGED
2011-03-28 21:58:06 +00:00
tg
b91b037e6a
we got a decision on pathnames with exactly two leading slashes
...
thanks, Eric and David!
2011-03-28 21:31:01 +00:00
tg
6fddfc009b
I made a mistake in the tests; this stuff works always (and can be tested)
...
but triggers only for /bin/sh if MKSH_BINSHREDUCED (otherwise needs -o sh)
2011-03-28 21:18:00 +00:00
tg
6784af6dbd
• use mksh getopts to parse options in test.sh, collapse multiple -C args
...
• sort arguments
2011-03-28 21:15:05 +00:00
tg
19e128c4e1
add testcases, bump vsn
2011-03-28 08:40:42 +00:00
tg
e19d8612ad
another Debian workaround for /bin/sh: don’t pattern in trims
2011-03-28 08:27:09 +00:00
tg
e8ea9954aa
• Implement http://austingroupbugs.net/view.php?id=367 and align things
...
a bit more with POSIX and the other shells
I considered http://austingroupbugs.net/view.php?id=253 but the use
of bi_errorf() is interesting, especially as it’s often enough a
noreturn function, and funnily enough, 'cd -P /foo' returns 0 while
'chdir -P /foo' fails (so idk where to put -e)…
2011-03-27 18:50:06 +00:00
tg
ad3707d17d
don’t leak memory (pdksh did), and forgot a hunk
2011-03-27 01:30:38 +00:00
tg
5f31b8c97a
• bring back test -H ifdef S_ISCDF (for HP-UX)
...
• whitespace, etc.
• bump version for tonight, I’m not gonna hack on c_cd,
all this pathname stuff is mind-boggling…
2011-03-26 21:46:06 +00:00
tg
a55de5f840
• rewrite simplify_path() to keep more in line with do_realpath()
...
• add regression test to ensure that //foo pathnames are never simplified
2011-03-26 21:09:09 +00:00
tg
7d86eaba8c
simplify code to use existing $PWD
2011-03-26 19:43:49 +00:00
tg
e3ed074981
use existing code
2011-03-26 19:35:35 +00:00
tg
c2333a7dbd
simplify_path: we CANNOT simplify pathnames beginning with //
...
since they’re implementation-defined and *not absolute*!
2011-03-26 19:29:41 +00:00
tg
79862cc1f4
one more from Austin ML
2011-03-26 16:19:29 +00:00
tg
84f7055f8f
special-case another bizarre POSIX corner case
...
after david korn agreed to change ksh93 to match
2011-03-26 16:11:43 +00:00
tg
b1d97ea44e
temporary patch for Cygwin against cd breaking UNC pathnames
...
from Chris “ironhead” Sutcliffe
2011-03-26 15:37:19 +00:00
tg
2dffc771ac
new (some possible) testcases from Austin ML, and one fix
2011-03-26 15:32:37 +00:00
tg
803c51914b
• move funcs.c:do_realpath() to misc.c and make it global
...
⇒ consider merging simplify_path()
• move funcs.c:c_cd() to misc.c
• make misc.c:make_path() static, c_cd() is its only user
⇒ mark as obsolete
• tweak misc.c:set_current_wd() to drop ksh_get_wd() argument
should be no code change, but the entire path stuff is a mess…
so expect actual implementation changes or even rewrites shortly
2011-03-24 19:05:49 +00:00
tg
8d8ee0cc6a
ironhead reported in IRC that some Cygwin guys (not he, he’s just the
...
packager) complain that mksh collapses two leading slashes; IIRC POSIX
has a clause for UNC pathnames, so stop doing that, plus add a test
2011-03-23 18:47:07 +00:00
tg
bc4c3b9af0
• save/restore here document pointer during yyrecursive(), fixes crash
...
• add mirbsd/openbsd (omalloc rules!) specific testcase for the above
• $__progname must be used quoted, fix in comsub-torture testcase (my bad)
2011-03-21 21:57:35 +00:00
tg
3c41d2b063
fix cast; bump version
2011-03-17 22:09:23 +00:00
tg
2f2fe89157
• write a pattern optimiser and call it before invoking do_gmatch(),
...
to catch several very slow cases (especially “*@(*foo)” busy-loops
– spotted by Jb_boin as usual these days ☺) by converting all @(…)
with one case to drop the enclosing MAGIC(…), and in a second pass
collapsing adjacent asterisk (‘*’) wildcards
2011-03-17 22:00:45 +00:00
tg
a1a5922fc6
• make misc.c(gmatch.c):pat_scan() static and fix int → bool
2011-03-17 21:59:30 +00:00
tg
d4e19b6624
• make DEBUG:dumpchar() not static (consider rolling into shf?)
2011-03-17 21:58:40 +00:00
tg
d07bacd44a
• fix check for empty pattern in ${foo/bar/baz} expansion: the
...
character anchoring the pattern (‘#’ or ‘%’) must be skipped
if one was used; fixes “BLA="#test"; echo "${BLA//#/}"” busy
looping (due to null pattern) found by Jb_boin
2011-03-17 21:57:50 +00:00
tg
5239e8ea4c
actually, we need the android lsmod to be a builtin not an alias…
2011-03-16 20:56:33 +00:00
tg
1c22b3cc48
oops
2011-03-16 20:43:34 +00:00