Commit Graph

2120 Commits

Author SHA1 Message Date
tg
3b2d9322ec change signal probing order: prefer e.g. SEGV over BUS when same Nr. (BeOS) 2012-04-01 17:17:45 +00:00
tg
c30bf73a56 BeOS has no tty nor uid/gid other than 0, a̲n̲d̲ a broken /bin/sh 2012-04-01 16:55:16 +00:00
tg
412a96d29a speed up Generating list of signal names (XXX can we wrap this into one compile, anyway?) 2012-04-01 16:40:26 +00:00
tg
607a2af260 found the actual reason… cc -E does syntax check and wrap with whitespace ☹
also we can only do NeXTstep 3.3 with -posix, but not 3rdpty egcs or OS 4.2
2012-04-01 04:57:24 +00:00
tg
820b6e905c make even Errno.pm optional 2012-04-01 04:03:08 +00:00
tg
dd5fbe82f3 hide persistent history stuff if not enabled 2012-04-01 03:23:08 +00:00
tg
a3fd4f62e6 • move behavioural changes topmost (locale, zsh emulate sh, solaris xpg)
• attempt to handle cpp on nextstep by using -save-temps
• work around another nextstep bug that may or may not hit us, found by RT:
  ‣ http://lists.gnu.org/archive/html/autoconf/2003-11/msg00094.html
• hide "dirname: command not found", scary even if it might help debugging
2012-04-01 02:35:33 +00:00
tg
2a833165a0 add xep bounds check in x_goto, maybe this will fix the problem the Motorola guys are havink 2012-03-31 19:52:34 +00:00
tg
bb1c1e7dba a few more int → bool 2012-03-31 19:20:12 +00:00
tg
3c4d2602ac use Errno, not POSIX, to get EINTR; maybe this is more portable 2012-03-31 18:47:20 +00:00
tg
16732f7e0f add NeXTstep, OpenStep notes 2012-03-31 18:33:16 +00:00
tg
0019c23f4c write appropriate shell replacements for id(1) as well 2012-03-31 18:28:11 +00:00
tg
2e772dbf27 write appropriate shell replacements for printf(1) as well 2012-03-31 18:26:53 +00:00
tg
e2a258c527 let regression testsuite pass without existence of /usr/bin/env, env(1)
by writing appropriate shell replacements
2012-03-31 18:18:41 +00:00
tg
9646c98356 I give up on writing (1 << 31) in any form.
Now we just use 0x80000000UL and cast that to mksh_uari_t and,
if required, that to mksh_ari_t afterwards.
2012-03-31 17:52:33 +00:00
tg
ac18ec3752 one more case of cpp(1) wanting C syntax on NeXTstep 2012-03-31 17:42:58 +00:00
tg
307224f143 Use “proper C code” for determining the compiler type even though we use
only cpp for this: NeXTstep things otherwise:
] conftest.c:42: illegal external declaration, missing ;' after `gcc'
| NeXT Computer, Inc. version cc-437.2.6, gcc version 2.5.8
| NeXT DevKit-based CPP 3.1
| GNU Objective-C version 2.5.8 (80386, BSD syntax) compiled by GNU C version 2.5.8.
2012-03-31 17:37:03 +00:00
tg
e67b98e21b use _setjmp/_longjmp on NeXTstep: its Intel port always restores the signal mask on siglongjmp, which we never have 2012-03-31 17:30:00 +00:00
tg
86c4ea4619 add (#ifdef DEBUG) an assertion that xcp <= xep before doing an Emacs mode
command; DONG-DONG YANG reports they hit this condition
2012-03-31 17:29:04 +00:00
tg
b82db8764c only pull entropy from glibc pointer guard if glibc is actually there 2012-03-31 17:08:52 +00:00
tg
4e8c5c078d RT suggests to drop sys_siglist and _sys_siglist on *all* SCO products, for now, and whitelist those that do need it (no strsignal) 2012-03-30 10:24:45 +00:00
tg
9cac4c92f6 RT wants to make the awk used configurable, apparently OpenStep 4.2 has a broken default one 2012-03-30 09:27:19 +00:00
tg
cf75e7b6ce couple of minor/cosmetic fixes from RT’s compile farm:
• promote SCO OpenServer and UnixWare to !oswarn
• omit trying -O2/-O on OpenServer 5 and USL C
• cast mksh_ari_t to int, mksh_uari_t to unsigned int for printf
• skip ulimit-1 on syllable (which is still too broken)
• write ((mksh_ari_t)-2147483648) ipv UB ((mksh_ari_t)1 << 31)
  and add a comment that that is actually meant
• rewrite functions returning !void ending in NOTREACHED
  so they’ve got a jump target returning an error at the
  end, to aid older compilers and just to be safe
• cast struct stat.st_size to off_t or size_t explicitly when needed
• shorten struct env by two bytes and an alignment, at least

also, optimise control flow and fix more paren matching cases
2012-03-29 19:23:01 +00:00
tg
45fa321c23 fail in a clean way even on b0rken compilers 2012-03-28 23:09:24 +00:00
tg
1f6ecff829 make this fail betterly 2012-03-28 23:07:47 +00:00
tg
25745883a9 move USL C detection to after GCC detection, apparently the latter
masquerades as the former on SCO systems
2012-03-28 11:15:04 +00:00
tg
df8881b9c8 fix embarrassing typo (and I thought I had tested them all), 10x RT 2012-03-28 11:14:20 +00:00
tg
914c1d816f drop call to "custom", SCO says to use it to identify system,
but RT says it opens a GUI window, and we obviously cannot have this
2012-03-28 11:13:45 +00:00
tg
c4a4b8b275 I don’t know what those compiler authors were smoking… 2012-03-28 11:05:16 +00:00
tg
6dd03ddfad pass the version to avoid stale Makefile.inc files 2012-03-27 23:13:42 +00:00
tg
ed28f9fd24 unknown OS or compiler? be loud! 2012-03-27 23:01:51 +00:00
tg
16ac73b074 g/c magic definitions for simple chars (as opposed to e.g. tokens/lexems)
some (such as NOT) were already gone; this should unconfuse; most were
unused anyway…
2012-03-27 22:58:39 +00:00
tg
2a47cab08f add a note that mksh_{,u}ari_t are, sadly, not currently configurable 2012-03-27 22:49:47 +00:00
tg
340cd95cf0 #undef flock (LP: #912691) 2012-03-27 22:41:17 +00:00
tg
95a2c63096 • implement fcntl(2)-based advisory locking as an alternative iff flock(2)
is not found, from a suggestion by RT (LP: #912691)
• try harder (in a loop) to acquire a file lock if the locking mechanism
  documents EINTR is a possibility (fcntl always, flock on Linux not .Ox)
• use -std=c99 not -std=gnu99 if it must be at all
2012-03-27 22:36:53 +00:00
tg
e3b9f14d88 You have this ↓ guy a lot to thank for.
00:45 -!- variable [root@freebsd/developer/variable] has joined #!/bin/mksh

• +b *!*root@*, +b $a:root, +b $r:root on one more channel
• certain checks to prevent:
00:47 < variable> wjcw: sh.h:308: error: conflicting types for 'getrusage'
01:19 < variable> oh
01:19 < variable> I needed to run Build.sh
2012-03-27 21:23:52 +00:00
tg
a901abc470 update on SCO OpenServer, SCO UnixWare and USL C, from RT 2012-03-27 21:01:55 +00:00
tg
4f8b7de3a9 Susv3mon says: rlim_t are unsigned 2012-03-26 21:10:44 +00:00
tg
80becae42d I have reason to assume this fixes a Cygwin warning (false-positive) seen by RT 2012-03-26 21:06:34 +00:00
tg
5f450c97bb be more loud in Build.sh to aid me 2012-03-26 20:14:58 +00:00
tg
64afff52c1 winstonw made me discover there is no ELOOP in Plan 9:
http://plan9.bell-labs.com/sources/plan9/sys/include/ape/errno.h
2012-03-26 20:04:05 +00:00
tg
36199d66ab RT confirmed we need this workaround on SCO OpenServer 6.0 2012-03-26 19:54:54 +00:00
tg
258a1fc4c4 BeOS has quite some issues by now, several minor combined, no major 2012-03-26 19:48:06 +00:00
tg
663105d0c2 check both signed and unsigned variants of this 2012-03-26 00:25:52 +00:00
tg
87654270ab fix regression w.r.t. TTY and external programmes:
• release the TTY after the initial change_winsz()
• since we release it, we can skip initialising tty_state, too
2012-03-25 14:28:14 +00:00
tg
5dd5edea1a lewellyn found QNX also doesn’t have a struct timezone ⇒ just DROP it! 2012-03-24 22:11:41 +00:00
tg
1f96d87aea • MFC almost everything not breaking backwards compatibility or introducing
deep changes into R40-stable branch
• Version accordingly: HEAD gets 2012/03/24 (hi Eddy/Chris) so we backdate
  $KSH_VERSION for R40-stable to 2012/03/20 (hi David) as that comes before
  even though it includes today’s latest fixes
• Also, sync clog (including MFC indicators)
2012-03-24 21:22:25 +00:00
tg
f9d644e243 be really loud when doing unwise things that WILL break in R41 2012-03-24 19:13:27 +00:00
tg
e83e43aaa5 block things like SIGWINCH¹ during builtin sleep, they get rescheduled
on unblock just fine and hurt since they interrupt select(2)

① and² SIGPIPE, SIGINFO, SIGUSR{1,2} in addition to already blocked SIGCHLD
② exact list open for suggestions – I’ve got no idea what I’m doing…
2012-03-24 18:47:04 +00:00
tg
21c15c0b8f huh, I thought I had extended ${parameter@#hash} already; make it so now,
but not yet things like ${parameter@Fi} (1 if integer, 0 otherwise), etc.
also bump patchlevel and © years in recently changed files
2012-03-23 23:25:30 +00:00