Commit Graph

1830 Commits

Author SHA1 Message Date
tg a516ea5d89 fix another initialisation error caught by Valgrind 2010-07-04 18:29:40 +00:00
tg 30046ffcf2 implement “live” SIGWINCH handling in the Emacs editing mode
for winstonw from IRC #!/bin/mksh
2010-07-04 17:45:17 +00:00
tg e520cee572 sync 2010-07-04 17:41:39 +00:00
tg f878310b58 fix spelling 2010-07-04 17:35:16 +00:00
tg 4cbb5a9d46 to speed up mksh, get rid of arc4random(3) uses and use the LCG always;
depend on ASLR for seeding
2010-07-04 17:33:58 +00:00
tg 2d6b4acba1 simplify a bunch of things (no SIGWINCH handler, errno is saved for
an shtrap automatically) and gratitutous reformatting of comments
2010-07-04 13:36:43 +00:00
tg 747b27a846 apply diff from manuel giraud via oksh to keep track of LINENO in a trap 2010-05-22 12:49:16 +00:00
tg 2a72f0e2f0 RCSID sync with oksh, and apply a simplification of theirs, but WITH a
comment what/why added (to aid understanding this code)

I wonder, though, why their x_escape now almost¹ looks like ours… is
that a coïncidence, or do they steal again (without understanding why)?

① they’re missing the semicolon but falsely added the closing bracket
2010-05-22 12:37:49 +00:00
tg 549c510269 related to 1004BF041CB522EEEE3 ${foo[*]} is a vector too; add testcases 2010-05-16 19:17:42 +00:00
tg f24e2c80a9 disallow some more kinds to trim a vector; Debian #581867 2010-05-16 19:04:42 +00:00
tg 020ce07d14 document using $'…' to set $PS1 in an easier manner, after pressure 2010-05-13 18:47:50 +00:00
tg f872c5d941 sync with oksh (comments and docs only) 2010-05-13 18:44:10 +00:00
tg faaa517636 • deprecate¹ -longoptions in favour of short options
‣ -combine → -c combine
  ‣ -llvm → -c llvm -O
  ‣ -llvm=x → -c llvm -o x
  ‣ -valgrind → -g²
• new option -v (version)
• new options -c (compile mode³), -o (opt flags), -O (reset opt flags)
• opt flags default to -std-compile-opts (llvm) now
• support⁴ the LLVM dragonegg plugin for GCC
• sync list of removed files (*.bc, *.ll, add missing Rebuild.sh)

① old options still valid but emit a warning
② except this one
③ compile modes are:
  • normal
  • makefile (-M)
  • combine (old -combine, new -c combine)
  • dragonegg (new -c dragonegg)
  • llvm (old -llvm, old -llvm=*, new -c llvm)
  the first two are not settable via -c though…
④ sample use:
  tg@seduxbox:~/x$ export PATH=$PATH:/opt/llvm/bin
  tg@seduxbox:~/x$ CC='/opt/gcc-4.5.1/bin/gcc-4.5.1 -fplugin=/opt/llvm/lib/dragonegg.so' sh ../mksh/Build.sh -c dragonegg -r

Thanks to «dileX:#grml» for giving ssh access.
2010-05-13 18:41:13 +00:00
tg 01a0d1104a address two performance issues in do_realpath():
• avoid calling realloc twice in sequence, since the final
  size is known at the first call already
• do not lstat(2) the same path twice in the Hurd codepath
2010-04-27 21:39:09 +00:00
tg 5abce90817 add MKSH_DEFAULT_TMPDIR 2010-04-20 17:28:20 +00:00
tg 6e98fbe27b Fourth time’s a charm… another bugfix related to the commitids
1004BBDD84556472D84, 1004BBF77B81D30DA7C and 1004BBF7CD656308A1C
to unbreak kwalletcli
2010-04-20 09:10:07 +00:00
tg 14ea7e9038 draft a testcase to understand the problem fixed by cid 1004BBF77B81D30DA7C
and make it actually work: the OpenBSD fix failed since 1004BBDD84556472D84
2010-04-09 19:16:31 +00:00
tg 3fa79f3ea4 oksh merge 2010-04-09 18:59:30 +00:00
tg 3461fcdf20 apply oksh bugfix for my bugfix they applied in oksh… ugh…
from halex@o: modified to handle the case when the expr is quoted

no difference in check.t or ifs.sh though…
2010-04-09 18:53:29 +00:00
tg b2d317986d more tests (from Herbert Xu) and answers (from Geoff Clare) 2010-04-09 14:46:43 +00:00
tg ff9f89f22f Fix two more POSIX conformance bugs and minor documentation/comment issues 2010-04-08 13:21:08 +00:00
tg 2557cfbbe5 move label, see <Pine.BSM.4.64L.1003311156380.24549@herc.mirbsd.org> (my
first paragraph in that) for reason: to make it more clear from the code
2010-03-31 12:20:04 +00:00
tg d23b94aaa0 newer SUNWcc has different error messages ☹ 2010-03-30 13:29:03 +00:00
tg f41d5ba82f allow MKSHRC_PATH to change from 「"~/.mkshrc"」, for Android &c. 2010-03-27 20:36:26 +00:00
tg 401e262689 fix another expand-ugly SUSv4 bug 2010-03-27 16:53:17 +00:00
tg 98e43b0f7a rework ‘m’ and ‘v’ ulimits; add more (seen at zsh) 2010-03-27 16:51:39 +00:00
tg ab1af5bdaf disable BGNICE by default for MKSH_SMALL 2010-03-27 15:32:58 +00:00
tg 52e9469a82 make MKSH_DEFAULT_EXECSHELL (/bin/sh) configurable, for Android 2010-03-27 15:29:00 +00:00
tg c00f87bdb3 Let hi-bit7 characters be “motion characters” for the Emacs editing mode;
this fixes the asymmetry of Esc+b/Esc+f on 「ls ディレクトリ」 as well as
doing ^W on it
2010-03-27 15:26:19 +00:00
tg 2bb0ddb80d let’s just add more test cases
from Message-ID: <309618f38393fa1d57b69a67f1a6ce02@austingroupbugs.net>
2010-03-18 19:45:39 +00:00
tg 05fe209521 correct #39 (but leave #38 as-is and hope POSIX gets fixed instead)
cf. Message-ID: <20100316102753.GB26711@squonk.masqnet>
2010-03-16 21:32:47 +00:00
tg ffe1c04ee9 document ulimit -V (Haiku only) 2010-03-15 18:14:40 +00:00
tg 50f081c369 even better on Haiku:
* let ulimits work
* add a Haiku-specific ulimit
* always use UTF-8, they have no locales but a UTF-8 terminal
2010-03-14 11:58:33 +00:00
tg e0f952eeda work when there is no dirname(1), e.g. 4.3 BSD Quasijarus VAX 2010-03-14 11:56:07 +00:00
tg f21cd59f00 rcsid sync with oksh, no change 2010-03-06 20:08:18 +00:00
tg 251189868d another test (#39 is up for discussion on austin-group-l still) 2010-03-01 17:28:05 +00:00
tg 6f0892b3cc now, skip LDFLAGS and LIBS when using $CPP _for real_ this time 2010-03-01 08:57:45 +00:00
tg b17b0b8909 I: mksh: hyphen-used-as-minus-sign usr/share/man/man1/mksh.1.gz:1463 2010-02-28 14:06:56 +00:00
tg fa7f439290 sync with oksh:
get rid of overlapping blocks discouraged by [16]mdoc.samples(7);
found by and unbreaking the build with [17]mandoc(1);
"fine" jmc@ sobrado@
2010-02-25 21:05:00 +00:00
tg 0d484ffa65 some OSes pre-define $ENV; let this be another hint to their users 2010-02-25 20:48:10 +00:00
tg e5e6857c43 (hopefully) fix the substitution thing for good 2010-02-25 20:18:19 +00:00
tg 3ba694a00d more/improved test cases
• expand-unglob-{dblq,unq} are the same as dash, but with ‘\}’ → ‘}’ as
  per austin-group-l discussion, although this is not (yet) a standards
  requirement, just a “doesn’t make sense otherwise” thing
expand-ugly:
• printf '%s\n' "foo ${IFS+"b   c"} baz" → no field splitting, ksh93 is
  wrong here (§2.6.2)
• ‘\}’ vs. ‘}’ as above
• ksh93 dropping a ‘}’ is probably another ksh93 bug
2010-02-25 11:47:33 +00:00
tg 2b2b76d1f5 here no LDFLAGS, LIBS (for cpp) 2010-02-23 22:02:35 +00:00
tg 396ebbb675 (semi-tested) clean up removing; prevent accidental rm of mksh.1 2010-02-23 22:02:19 +00:00
tg ae2901146f begin fixing up ${foo+word}, see austin-group-l for discussion and DR 2010-02-23 21:51:49 +00:00
tg 150a35a02d x_bind cannot have the nonnull attribute
cought by Frank “enstein” Terbeck «ft:#grml» (efftee), 10x
2010-02-23 18:13:04 +00:00
tg 5beee95d6b at least _parse_ the construct ${foo+(bar)} correctly
(whether the output is correct is still up for debate)
2010-02-18 17:31:23 +00:00
tg 0d1083fc9c this exclusion is unwarranted 2010-02-18 17:30:19 +00:00
tg 532159415c no longer pull in libcrypt on AIX, only Interix (where it has arc4random)
tested by cnuke@ – 10x
2010-02-18 17:21:19 +00:00
tg 64044f0716 revert 1.371 and just tell people to whitelist conftest.c
now that we use the same name as quiet-by-design autoconf
to please ccache anyway (and no we will not become quiet,
I can't usually get my hand on a buildd's conftest.log)
2010-02-16 23:53:28 +00:00