Commit Graph

1474 Commits

Author SHA1 Message Date
tg
548a415fa9 these are expected failures if -DMKSH_ASSUME_UTF8=0 that cannot be
expressed as check.pl categories
2009-06-07 22:43:46 +00:00
tg
848e237b76 new feature: -DMKSH_ASSUME_UTF8=0 assumes utf-8 is *not* set and skips
environment inspection; useful for initrd and the likes
2009-06-07 22:28:05 +00:00
tg
f4ed74a610 allow HAVE_REALPATH=x in the environment if MKSH_SMALL to enable the
feature if possible, like HAVE_MKNOD does. same for revoke.
2009-06-07 22:26:00 +00:00
tg
72c8f3c70d MKSH_BINSHREDUCED is independent from MKSH_SMALL, has been for a while
this is to accomodate e.g. Debian
2009-06-07 22:21:39 +00:00
tg
d5d8fb0d40 naaina provided me with a patch from Sean Boudreau, QNX Software Systems,
which I applied slightly tuned: QNX 6.4.2 ed(1) is said to fix the issues
that made it unusable by our regression test suite
2009-06-07 14:50:58 +00:00
tg
1794287528 fix event-subst-* regression tests on Cygwin, which insists on a shebang 2009-06-06 14:23:17 +00:00
tg
63c56000f7 sync with oksh:
Revision 1.129: [7]download - view: [8]text, [9]markup, [10]annotated - [11]select for diffs
   Thu May 28 06:09:06 2009 UTC (3 days, 11 hours ago) by jmc
   Branches: [12]MAIN
   CVS tags: [13]HEAD
   Diff to: previous 1.128: [14]preferred, [15]coloured
   Changes since revision 1.128: +6 -6 lines
fix missing bracket by slightly rewriting; from Alan R. S. Bueno
2009-05-31 17:41:09 +00:00
tg
804fe16118 add base64 decoder and encoder in mksh 2009-05-31 17:17:33 +00:00
tg
16c47bbe91 fix bug exhibited by t0000-basic.sh introduced in R38 shortly before the
release: sometimes, a “cd -P” would cause memory corruption because lalloc
internal data was overwritten due to accidentally losing a “continue;”
2009-05-31 15:10:07 +00:00
tg
cda3cc93f1 From André “naaina” Wösten via IRC:
QNX 6.4 is out, which has a different waitfor() in <libutil.h>, which
we by definition of __NO_EXT_QNX do not want to use. They are in the
process of porting the NetBSD® pkgsrc® repository to it.

The /bin/ed situation hasn’t improved yet though.
2009-05-29 14:41:37 +00:00
tg
da5dc48cd0 implement an extension that an interactive mode input line, when
starting with an ‘!’ exclamation mark at the beginning of a com-
mand (PS1 not PS2), shall have the same effect as the predefined
“r” alias, to be compatible with csh and GNU bash’s “!string” to
«Execute last used command starting with string» – documentation
and feature request provided by wbx@ (Waldemar Brodkorb)
2009-05-27 19:52:38 +00:00
tg
b90007d784 • Build.sh, strlcpy.c: gcc-current conversion &c. warnings cleanup
• histrap.c, lex.c, misc.c: get average stack frame size to <= 768 bytes
• check.t, sh.h: bump version
2009-05-27 09:58:24 +00:00
tg
9179c10119 pgas mentioned ksh93 does [[ $foo ]] (ipv forced [[ -n $foo ]])
and it actually REDUCES code size to allow it as well; mention
in the manpage that it’s merely unportable (and of course exe-
cution time differs); sync clog
2009-05-21 14:28:35 +00:00
tg
b051f52dd4 we’re getting closer, but even a jobless mksh behaves the same 2009-05-20 10:10:35 +00:00
tg
ae8d54284a commit Syllable-related improvement: simplify p_time 2009-05-20 10:10:02 +00:00
tg
361dee04f3 laffer1 agreed they will need -DMKSH_MIDNIGHTBSD01ASH_COMPAT in the
short term, but only for /bin/sh – thus recommend to also define
-DMKSH_BINSHREDUCED and make it dependent on FPOSIX
2009-05-16 21:00:52 +00:00
tg
8a2557f846 pcc cought a bad programming idiom I accidentally used
(without realising that it’s a macro expansion, that is)
2009-05-16 19:34:07 +00:00
tg
6744d2be1b provide upstream version 2009-05-16 18:57:54 +00:00
tg
b6ce748064 • remove “#if 0” and “#ifdef notdef” style old debugging code
• expose “#ifdef MKSH_MIDNIGHTBSD01ASH_COMPAT” just in case they decide to
  require it and show it in the ksh version automatically
• sync the use of non-ASCII characters over files (unification)
2009-05-16 18:40:09 +00:00
tg
cde2f02986 apply most of OpenBSD’s
│ Fix usage string for mknod builtin.
but don’t do a binary change as it doesn’t actually change anything

XXX fix all these usages anyway
XXX cd: cd: /home/tg/... - No such file or directory
XXX /bin/mksh: mknod: usage: mknod [-m mode] name [b | c] major minor
XXX /bin/mksh: mknod: mknod: No such file or directory
XXX etc. – but find out what POSuX demands ☹
2009-05-16 17:33:10 +00:00
tg
b145ca5c9f • sync distrib/special/mksh/Makefile with bin/mksh/Build.sh and
fix the regression test’s results while here, which have been
  broken since cid 10049D9BE5254CE65B8
• get rid of separate copyright file which was intended for De-
  bian; track down commits in all files of oksh-mirbsd and mksh
  to get correct copyright years per-file, as is BSD custom
2009-05-16 16:59:42 +00:00
tg
7641ea6d07 optimise the “regression test” ☺ 2009-05-16 16:03:41 +00:00
tg
cc783807d3 this began as a one-word change to the spec (manpage): that
${foo:1:2} operates on characters ipv bytes – which means:
‣ set +U: octets
‣ set -U: MirOS OPTU-8 characters

for consistency I also adapted ${#stringname} to deliver the
length in characters ipv bytes; more may follow; for example
I’d like a way to expose the string width.

you can already get the MirOS OPTU-16 of a character in the
WTF-8 (「set -U」) mode with something like
│ typeset -Uui16 -Z7 x=1#${stringname:position:1}
which will correctly use the PUA EF80‥EFFF mapping for octets.

due to this being an incompatible change, bump to R38

also change the unicode-hexdump sample regression test and
add two news for ${x:1:2} and ${#x} checks in A/W mode ☺
2009-05-16 15:53:02 +00:00
tg
8a7223d4cd split utf_ptradjx into utf_ptradj function (to save space) and
self-assignment macro; remove some uses of the macro in favour
of foo += utf_ptradj(foo)
2009-05-16 15:09:07 +00:00
tg
36f737f5cb bind new search-history-{up,down} to ANSI PgUp and PgDn keys
“because we can”
2009-05-16 14:45:40 +00:00
tg
e7c565b2aa document currently bound ANSI cursor keys (↑↓←→ Home End Del) 2009-05-16 14:44:37 +00:00
tg
1535151525 fix typo 2009-05-16 14:34:58 +00:00
tg
2ebd816d63 bind new search-history-{up,down} to ANSI PgUp and PgDn keys
“because we can”
2009-05-16 14:34:57 +00:00
tg
747cc12184 Add search-history-up and search-history-down keybindings (both unbound
by default) to the Emacs command line editing mode; patch originally by
James Butler <sweetnavelorange@gmail.com> but slightly modified

10x
2009-05-16 14:19:23 +00:00
tg
eb3f3d584f move pdksh and contributor dedication into TFM, preparation for things
to come
2009-05-16 14:17:39 +00:00
tg
1e6f3605b5 sync rcsid with openbsd; we did it in misc.c,v 1.95 already
what they kludged in now
2009-04-22 16:46:11 +00:00
tg
4cd9361b1b amend regression tests with expected-fail COMSUB parse bug 2009-04-22 16:43:18 +00:00
tg
3765851432 address RedHat BZ#496791: fix currently not possible, because the code
which escapes $(…) content does not know if an imbedded ‘#’ is a comment
leader or something else like “16#foo”, “${#bla[*]}”, “${foo#bar}”, &c.
and the comment skip code does not know about nesting beforehand
⇒ document this problem in the place where it already documents that
  the current code does not properly handle nested $($(…)) expressions

patches welcome
2009-04-22 16:25:12 +00:00
tg
b122cd2b74 since <libutil.h> needs <sys/types.h> e.g. on mnbsd, use it later too
when checking for revoke()
2009-04-10 16:09:53 +00:00
tg
31c96f9d9d make UTF related regression tests more clear 2009-04-08 18:00:53 +00:00
tg
7463e5daa7 fix an oversight 2009-04-07 21:23:28 +00:00
tg
94acf23391 tabs, bools 2009-04-07 19:51:47 +00:00
tg
ecef21a50a switch mail address to .org domain 2009-04-07 19:46:55 +00:00
tg
8cc7fdb834 "evil" workaround to the alignment issues: embed an ALLOC_ITEM into
struct env (other structures defined have no "foreign type with pos-
sible alignment constraints" members) and take care of it while dea-
ling in a struct env instance
2009-04-07 19:43:28 +00:00
tg
48ee59ffd0 rename env variable to denv
I'm fgrep-w'ing for struct env right now
2009-04-07 19:27:49 +00:00
tg
c841d1513d of *course* I had to introduce an inverse-logic error
d'oh. the XOR check's result needs to be reversed, as it tests for validity
2009-04-07 19:25:41 +00:00
tg
a3cfe7d2cf this is no longer shared code 2009-04-07 19:15:48 +00:00
tg
d2b5538f55 some int->bool, KNF, ... 2009-04-07 19:13:11 +00:00
tg
31d2796169 simplify
if ((flags & (1 | 2) == 0) || (flags & (1 | 2) == (1 | 2)))
to
	if (!(flags & 1) ^ !(flags & 2))
which works because ! returns 1 or 0, making the ^ an ^^, and
because XOR survives NOTting its arguments
2009-04-07 19:08:25 +00:00
tg
edeb22fb96 tabs vs spaces 2009-04-07 19:06:44 +00:00
tg
d43f4efe60 employ some "nice" constants and comment lalloc.c 2009-04-07 18:56:51 +00:00
tg
4de58fe6fa globalise SIZE_MAX definition 2009-04-07 18:46:07 +00:00
tg
18199e20fd pass LOCPATH environment variable too, might be needed on glibc systems 2009-04-07 18:45:19 +00:00
tg
9e83002841 try to do some optimum struct packing except for struct env
(pointers, longs, size_t first; time_t next; int etc. then enum, bool)
2009-04-07 18:41:37 +00:00
tg
c7ccde864e apply workaround given to me in IRC yesternight, just define away the
const keyword to not trigger the famous ACK const bug (no chance it’ll
get fixed, not even in Minix 3’s ACK version)
2009-04-06 08:37:42 +00:00