tg
c10e5bd237
reduce amount of .bss memory needed; initialise via AEDIT at x_init
...
or even first run of x_vi
2013-08-10 13:44:33 +00:00
tg
247e20c524
• Completely overhaul prompt length calculation and
...
prompt display routines; make Emacs and Vi share
code, permitting reducing of duplication and code
removal as well as more consistent behaviour; put
some common code into shared helper functions, too
• New x_adjust() logic (Emacs mode): when determining
what portion of a line to render use a much more
sophisticated algorithm and try to fill up ⅔ of the
total screen width (with line and prompt both) also
as wished from Steffen Daode Nurpmeso
2013-07-26 20:33:39 +00:00
tg
3876b38220
Steffen Daode Nurpmeso found an actual bug:
...
Whenever the SIGEXIT trap was set (to anything, really)
syntax errors and interruptions were not ignored any more
in an interactive shell (where they should be, unless
set -e is used); fix that.
tbd: traps should probably only be marked as pending
and run for LLEAVE/E_NONE
2013-07-25 18:07:47 +00:00
tg
b46001ad4a
fix another clobbered-by-setjmp/longjmp warning
2013-07-24 18:03:57 +00:00
tg
ead77623d3
Fix most “set -x” problems (LP#1179287)
...
• “set -x” manually (cmdline too) snapshots fd#2 now
• “set -o inherit-xtrace” introduced; default still enabled
• reverted iodup printing to pre-R45 behaviour
• made Flag(FXTRACE) a proper state machine
2013-07-21 18:47:24 +00:00
tg
bb4083d649
use ‘z’ shf printf modifier for out-of-memory message, now that we have it
2013-06-03 22:28:33 +00:00
tg
8256f266ff
fix a number of warnings and other issues:
...
• sig_t detection was a bit insane, it is a function-pointer type after all
• fix uninitialised variable in c_select which led to mistakenly accepting
invalid (nōn-numeric) input and acting, randomly, upon it
• keep SIGCHLD blocked in child after forking longer, for job list manip
• block SIGCHLD ifdef DEBUG_LEAKS to not run job foo during/after afreeall
• fix annoying ISO C90 vs. C99 (un)signed constant warning
2013-06-02 03:09:17 +00:00
tg
ec1bc74d41
pull some quoting fixes from oksh; original patch from Alexander Polakov
2013-06-01 00:15:58 +00:00
tg
49d1ebfb71
Replace wcwidth code by mine based on Unicode 6.2.0
2013-05-31 23:27:14 +00:00
tg
a072c63fe8
declare thiswillneverbedefinedIhope to silence some configure time warnings
2013-05-08 11:16:19 +00:00
tg
1d0409d932
implement VALSUBs
2013-05-02 21:59:54 +00:00
tg
689c179254
sync and be even more explicit
...
XXX some day, write the *precise* delta of MKSH_LEGACY_MODE into lksh.1
2013-04-27 19:16:27 +00:00
tg
55e9ca460c
start next development iteration
2013-04-27 18:12:39 +00:00
tg
deb4a3bf20
Oh well… this looks well, is done done, and gcc-snapshot doesn’t complain:
...
• correct order of built-in commands; use POSIX special versus “all others”
plus “keeps assignments” as distinction, no longer play POSIX regular vs.
others game; sync manpage
• fix LP#1156707: map (( internally to “let]” which is no valid function
name and so can’t be overridden but is unlikely to be used otherwhere
and not strictly permitted (by POSIX) anyway
• we do not need -Wno-overflow any more, either
• bump to R45
2013-04-26 21:22:50 +00:00
tg
5f5393b4f1
and, finally for today, fixup the “set -x” mess I made
2013-04-26 19:40:45 +00:00
tg
79a083baaa
kill dead code
2013-04-26 18:27:07 +00:00
tg
d515447e0e
work around a workaround in dietlibc that works around brokenness in GNU tar
...
/* no comment… */
2013-04-26 17:23:15 +00:00
tg
7cce9de0bc
one can’t cast an unsigned int to a signed int portably either, if the value
...
is larger than the positive range of the latter (implementation-defined), so
avoid them in all explicit cases and rearrange stuff and check for it
(I’m gonna have to revise lots more code…)
2013-04-01 02:37:53 +00:00
tg
c59707edd8
sync clog
2013-03-30 23:31:04 +00:00
tg
ea657bd4d9
also do not, ever, use &> bashiop in lksh
2013-03-29 17:33:56 +00:00
tg
a3b5e77c6c
disable parsing of &> as GNU bash iop if -o posix or -o sh, based on IRC discussion where jilles(IIRC) pointed out it breaks existing valid scripts
2013-03-24 15:01:50 +00:00
tg
4b2e17b828
• let mksh “set -x” print whole TCOM trees
...
• plug some memory leaks in debug (“set -x”) and warning paths while here
• one from Florian (friend of Natureshadow) for WTF
2013-03-24 00:56:27 +00:00
tg
d99e470a64
bump
2013-03-05 15:41:41 +00:00
tg
d7c28d90f9
optimise prefer_cols print_columns display
2013-02-24 14:22:44 +00:00
tg
817aeb8fdb
both mksh(1) and POSIX say: "$@" should always generate multiple words
...
issue in pdksh reported in IRC by engla, thanks!
2013-02-23 20:03:31 +00:00
tg
74e2ef8b0b
one more int → bool; mention “set -o sh” may (on raare OSes) be enabled
...
automatically (and it differs between targets); test MidnightBSD 0.1 ash
compat code and adjust the testsuite so it passes with it enabled
2013-02-19 18:45:22 +00:00
tg
dffb1ab915
put list of check_categories into Makefrag.inc generated; bump patchlevel
2013-02-18 22:55:40 +00:00
tg
b684a7c6bd
backpedal with $'…' and $"…" interpolation
...
it turns out this breaks more legacy scripts than anticipated
2013-02-17 05:40:17 +00:00
tg
85d7059c48
… I fsck’d up and built R42b from MAIN ipv mksh-R42stable… oh well.
...
TODO: convert enum to something like uint8_t to save even more space
2013-02-16 00:21:57 +00:00
tg
ec883318d1
fix too strict fix for LP#1104543 (Debian #700526 )
2013-02-15 18:50:14 +00:00
tg
fb370a30c6
fix set -e with and/or inside functions regression (LP#1104543)
...
cause was that use of && or || inside function switched it to xerrok
2013-02-10 23:59:28 +00:00
tg
f209a252bc
when leak debugging, free everything even in builtins
2013-02-10 21:17:07 +00:00
tg
59009ac78f
call it DEBUG_LEAKS so Android can always enable it
2013-02-10 17:41:06 +00:00
tg
63b6d920a8
actually, only needed #ifdef DEBUG
2013-02-10 17:39:38 +00:00
tg
cb93db360d
call afreeall(AEDIT) upon close; related to LP#1106116
2013-02-10 17:38:15 +00:00
tg
1da94d6159
pure RCSID sync with oksh, who also added a tabcompletion fix now, with
...
less code, but, even according to their own comments, not as good as ours
2013-02-10 17:18:49 +00:00
tg
9111faeeb5
besides more code reuse, fix $'…' everywhere (but keep it ignored in here document bodies that aren’t here strings)
2013-01-19 19:47:13 +00:00
tg
2d9a039ec0
ormaaj reported “command shift” not working correctly; fix
2013-01-06 18:51:43 +00:00
tg
744f77c668
fix running the ERR and EXIT traps in case of set -e and/or eval (includes Debian #696823 )
2013-01-01 20:45:04 +00:00
tg
0700d45ce6
while thinking about mirlibₘᵢₙc I figured that sys_errlist[] entries may be NULL
2013-01-01 03:32:44 +00:00
tg
d91800c88d
RT’s build logs show that do{}while(0) is better than functional programming
2012-12-28 04:47:50 +00:00
tg
113db497ba
RT says QNX 4 has _SIGMAX not SIGMAX or NSIG
2012-12-28 03:35:34 +00:00
tg
b2396677e7
harmonise sys_{sig,err}list ⓐ checks, ⓑ uses, ⓒ _decl values when not needed, ⓓ prototypes; ⓔ “const” is a keyword and thus space-separated from the preceding ‘*’ pointer indicator
2012-12-28 02:28:39 +00:00
tg
865728fb3d
let printf stuff compile again after cstrerror-related change
2012-12-22 22:15:21 +00:00
tg
6d5e27a31a
gcc-snapshot (see below) issued a clobber warning, and both it and mgcc
...
yowled about the memmove test until I found a compromise
gcc version 4.8.0 20121120 (experimental) [trunk revision 193662] (Debian 20121120-1)
2012-12-22 00:03:42 +00:00
tg
ce602be6be
sync clog et al.
2012-12-17 23:46:33 +00:00
tg
12c662b6e2
thanks to ISC (Interactive) Unix, we now know a few samples of errnos
...
that get used, plus one for the realpath-1 regression test; also make
sys_siglist_decl detection nicer and poison strerror() with non-const
return value ifdef DEBUG, make it always const
2012-12-17 23:18:11 +00:00
tg
4c5d7094ef
RT also said what was missing on SunOS 4.1.1 (it also needs -DMKSH_UNEMPLOYED?)
2012-12-17 22:14:27 +00:00
tg
b8d3f12025
merge/genericise RT’s port to Minix-vmd
2012-12-17 21:55:06 +00:00
tg
c4e88acd83
Correct mistake when doing hashtable lookup collision resolution… oops
2012-12-07 23:46:38 +00:00