tg
984894f093
>>> is not needed (LP#1608505)
2016-08-01 19:11:27 +00:00
tg
cc6857dfb6
clean up chtypes use
2016-08-01 18:42:42 +00:00
tg
59619ee2ab
fix sign comparison warning pointed out by Debian’s GCC
...
this commit sponsored by ⮡ tarent
2016-08-01 14:25:39 +00:00
tg
5c8f42c841
fix missing Xcheck leading to overflow for strings > 127 array elements
2016-08-01 14:23:24 +00:00
tg
f21d6a3ffd
fix (POSIX) errorlevel of ‘.’ when sourced file has no commands; issue discovered by Natureshadow
2016-07-28 21:39:19 +00:00
tg
b8180fba1f
fix two int→size_t; reduce edchar struct size
2016-07-28 21:39:04 +00:00
tg
92370ec355
shave off 12 bytes (with fixed gcc) by making the definitions more legible
...
(and dropping struct padding, tbh)
2016-07-27 00:55:27 +00:00
tg
b330976689
this hack from commitid 1004651F21443013C37 is no longer necessary (thought so)
2016-07-26 22:55:35 +00:00
tg
3c6fec1db3
missed a function (due to it being POSIX, not Korn, probably)
2016-07-26 22:03:41 +00:00
tg
dd281c52ec
defer to external rename(1) too
2016-07-26 21:50:46 +00:00
tg
c8942b719d
oops, !MKSH_SMALL
2016-07-26 21:50:30 +00:00
tg
9dbd643504
implement new evaluate-region editing command (!MKSH_SMALL)
...
while here, fixup x_redraw refactoring x_clrtoeol, x_pprompt, and x_lastpos
2016-07-26 21:37:26 +00:00
tg
04454868ff
the limit parameter to x_redraw was completely bogus, drop it for now
2016-07-26 20:43:14 +00:00
tg
644536732b
eek, forgot some conditions
2016-07-26 20:13:40 +00:00
tg
f9d131133e
remove fd>9 support in favour of upcoming named file descriptors; bump
2016-07-25 21:05:25 +00:00
tg
5edb355336
oops…
2016-07-25 21:02:13 +00:00
tg
4310e75f75
make tmux hack workable for now (libtermcap is… ugly)
...
• track $TERM for the types tmux uses /^screen(-.*)?$/
• when tmux is in use (or GNU screen, really), use the, now
hardcoded, clear-to-EOL string; otherwise, use the old behaviour
• drop unnecessary x_e_rebuildline()
carefully tested to behave no worse than R52b
2016-07-25 20:43:54 +00:00
tg
2364bb5f22
use ^< and ^> for ROL and ROR in R53, schedule >>> as SAR for R54
...
cf. http://david.tribble.com/text/c0xrot.htm
2016-07-25 20:41:23 +00:00
tg
54a8067fd2
add print -A for R53
2016-07-25 20:38:04 +00:00
tg
aa9fa0ebfe
add a testcase as documentation (why POSIX isn’t everything); fix comments
2016-07-25 20:36:28 +00:00
tg
c3e794c4d0
rework string pooling; disable our own (rely on compiler’s)…
...
• if HAVE_STRING_POOLING is set to 1
• if HAVE_STRING_POOLING is set to 2 and not GCC < 4 is used
• if HAVE_STRING_POOLING is not set to 0 and LLVM or GCC >= 4 is used
Closes: LP#1580348
2016-07-25 00:04:48 +00:00
tg
816614d3ce
re-add realpath to prefer-external-if-argument, needed by Debian
2016-07-24 23:11:51 +00:00
tg
e8bbf79d8c
invent builtin flags instead of special-casing cat and printf for prefer-external-over-builtin stuff
2016-07-24 23:10:04 +00:00
tg
5401a55a98
optimise away code for a case that’s almost unlikely to happen; fix pasto(?)
2016-07-24 23:07:19 +00:00
tg
e0e63c65e6
fix issues with home directory replacement, from Torsten Sillke:
...
• if $PWD = ${HOME}foo, no longer show as ~foo in PS1
• simplify ~, ~+, and ~- exactly as $PWD is upon shell entry
(fixes HOME=/home/./foo but PWD=/home/foo)
2016-07-24 23:05:52 +00:00
tg
8370c0dd4d
experimentally use MKSH_CLRTOEOL_STRING instead of lots of spaces followed
...
by lots of backspaces for many clearing scenarios; requested by tmux user
slagtc on IRC
2016-07-12 23:07:10 +00:00
tg
353108cb25
move MIN_{COL,LIN}S here, only user left (edit.c has its own sanity checks)
...
and lower them (no need to respect edit.c’s, this is only sanity against OS)
2016-07-12 23:06:26 +00:00
KO Myung-Hun
0d730e1ad9
Merge remote-tracking branch 'mksh/master'
2016-06-29 08:17:29 +09:00
tg
a41a62dad7
efficient $(<<<foo) and $(<<EOF … ) implementation, requested by izabera
2016-06-26 00:44:59 +00:00
tg
582e745958
since we already support XSI test -a/-o, they better behave
2016-06-26 00:44:25 +00:00
tg
97d1d5e4fe
fix var=<< implementation
2016-06-26 00:09:35 +00:00
tg
c52133cc4e
emit QCHAR '\n' reentrancy-safe
2016-06-26 00:07:31 +00:00
tg
a3cc4ffacb
testcases contributed by carstenh
2016-06-26 00:06:43 +00:00
tg
e4f55499c0
hexdump the NUL away
2016-06-26 00:04:30 +00:00
tg
df1d7339be
I hate our patch(1), it’s not NUL-safe…
2016-06-26 00:00:53 +00:00
tg
262ae5a436
fix most of the ambiguous ${[prefix] var [op [word]]} corner cases
...
prodded by izabera and carstenh; resolution is:
• you can’t trim a vector in mksh, still (consider ${@:-1})
• future POSIX will require non-empty “word” for most “op”s
• dissolve in order of standard → extension
• dissolve to prefer “op” over “prefix” where still necessary, mostly
2016-06-25 23:55:00 +00:00
tg
1563b70658
abort read builtin in case of read(2) errors
...
noticed by arekm, persuaded by jilles, compared with other equivalent
pieces of code reading in mksh
2016-06-25 23:52:46 +00:00
tg
2dde57ab54
document ^U key binding advice
...
this is “GNU bash mode”, for bleb via IRC
2016-06-25 23:52:06 +00:00
tg
8a93f7d1dd
improve description of default Emacs mode keybindings
2016-06-25 23:51:21 +00:00
tg
58f36a9f3a
increase default input line, from PLD Linux
...
(for as long as we still have the size static, and !MKSH_SMALL)
2016-06-25 23:49:50 +00:00
tg
b5127b03be
deprecate *not* using MKSH_CONSERVATIVE_FDS; named fds coming soon
...
partially reverts commitid 10048752E6271CABA24 (the manpage, mostly)
and adds a deprecation warning at build time; suggested by izabera
2016-06-25 23:49:13 +00:00
tg
f555d1d524
premark <<< for deletion, >>> for SAR, ^< and ^> for ROL/ROR
...
cf. http://david.tribble.com/text/c0xrot.htm
noted by izabera
2016-06-25 23:48:10 +00:00
tg
8d811d19d4
typo, found by Joerg Schilling
2016-05-31 19:59:53 +00:00
tg
9ab9ee194c
fix shf.c-internal buffer overread on printing digits,
...
introduced by the utf_skipcols()-related fixes, more
specifically the check for combining multibyte characters
past end of given width (bogus mixed-up semantics we have here)
by reïntroducing the NUL byte from commitid 1005474EE1E4024A4E4
2016-05-17 15:36:35 +00:00
KO Myung-Hun
e8966076c8
Merge remote-tracking branch 'mksh/master'
2016-05-06 17:12:52 +09:00
tg
55e51d9580
add, with a warning, regression testcases for:
...
• trailing combining character
• ${!#} and friends
the warning is: pid_t is signed (so PIDs could be negative) and may be
rather long, in some cases even longer than a C “long”; we’ll need to
handle this by adding checks (sizeof pid_t=gid_t, sizeof pid_t must be
either mksh_ari_t or u_short) and code (always print $$/$! as unsigned,
set unsigned attribute on $BASHPID and friends)
2016-05-05 22:58:19 +00:00
tg
92833fc6ce
fix utf_widthadj/utf_skipcols handling for the remaining cases I can spot
2016-05-05 22:56:15 +00:00
tg
3d130b606a
give C_VAR1 precedence over display variable name; izabera pointed out,
...
rightfully, that, in POSIX shell, ${!#} is defined, and ${!#123} should work
2016-05-05 22:45:58 +00:00
tg
b6e438037f
collapse uselessly nested if
2016-05-05 22:19:04 +00:00
tg
370b3e6008
fix trailing combining characters in all shf functions
2016-05-05 21:38:12 +00:00