Commit Graph

2889 Commits

Author SHA1 Message Date
tg 8c2eda2f0f implement print -l: change output word separator to newline 2016-11-11 19:12:52 +00:00
tg d4b81df050 goto keeps us from evaluating the loop condition twice in immediate succession
(and shaves off an indentation level)
2016-11-11 19:09:44 +00:00
tg 1c07e75fc0 implement: empty arg in print -A is input word separator 2016-11-11 19:02:26 +00:00
tg 4ed09871a9 refactor c_print into a loop 2016-11-11 18:50:09 +00:00
tg 4e855b1be2 pack local bools into a struct, for tighter stack packing 2016-11-11 18:44:32 +00:00
tg 5ee8ba10b3 fix lazy evaluation with side effects; spotted by ormaaj via IRC 2016-11-07 16:58:48 +00:00
tg 7fef6b129e apply patch from Brian Callahan <bcallah@devio.us> for better pcc support 2016-11-07 16:55:51 +00:00
tg 038cfe7476 shave five spaces off .rodata with no functional difference 2016-10-26 22:55:51 +00:00
tg ac405dd6b7 avoid even the chance at UB, it’s too risky with “postmodern” compilers 2016-10-22 23:56:50 +00:00
tg 56bdf24e54 fix error propagation in TAND/TOR constructs, noted by Martijn Dekker
still a bit unsure about the whole XERROK and *xerrok stuff, but…
it seems to work
2016-10-02 22:21:47 +00:00
tg 9c602791b2 today, Andreas Buschka learnt that the Oxford comma is an american thing
(except for exactly the University of Oxford or to disambiguate)
2016-09-29 09:04:56 +00:00
tg d18f9133c8 fix English (thanks to Andreas Buschka); TIL:
• to start ⇒ a start
• to begin ⇒ a beginning
2016-09-01 12:59:12 +00:00
tg a838564cec Unicode 9.0.0 (code and data part; FixedMisc font tbd) 2016-09-01 12:55:21 +00:00
tg e5e3fb3fc7 outstanding bumps 2016-08-25 16:21:34 +00:00
tg 61969809e4 read(2) and write(2) don’t EINTR for fast input (LP#1616692) 2016-08-25 16:21:14 +00:00
tg fa94f0339e experiment with GCC 5’s new -malign-data=abi 2016-08-24 20:50:11 +00:00
tg bb796ff785 simplify manpage and code; streamline manpage formatting and Satzzeichen 2016-08-24 20:40:00 +00:00
tg 35bd16ddfa this bug has long been fixed 2016-08-24 19:36:26 +00:00
tg 91b5d4b3ad remove all mentions of “the null string”, it’s an empty string (in most
cases), or an unset parameter (in some cases)
2016-08-24 19:35:26 +00:00
tg 879c6a0911 fix refactoro, spotted by Natureshadow; add (working) testsuite for all operators 2016-08-12 16:48:05 +00:00
tg 2db6d0a08c bump, required by XTaran 2016-08-10 18:20:18 +00:00
tg bb7226277b fixes 2016-08-10 18:20:05 +00:00
tg b58ff810a5 mention bases can (naturally…) only go up to 36, requested by izabera 2016-08-10 18:15:18 +00:00
tg f26cf0562b fixup a bad OpenBSD reaction on a bug afl showed:
set source to NULL only if the memory backing source is actually reclaimed;
fixes segfault due to NULL(+24) pointer dereference reported by Score_Under
(simplified testcase added; thanks!)
2016-08-04 20:51:35 +00:00
tg e52a2bb23f assorted code cleanup, while here anyway 2016-08-04 20:32:14 +00:00
tg d96229b205 make command() not trash the global source variable
removes local save/restore around it in two of three callers;
the third one is in runtrap() which… probably *cough* ought
to have danced the same…
2016-08-04 20:31:01 +00:00
tg 3e8165b9cd fix groff issue pointed out by lintian
surprisingly enough, no changes needed for the gcc6 switch in Debian sid…
2016-08-04 09:27:59 +00:00
tg a99bb8baa0 quote the &, for POSIX:
An  ordinary  character  is  a  pattern  that  shall  match itself. It can be any
   character  in  the  supported  character  set except for NUL, those special shell
   characters  in [199]Quoting that require quoting, and the following three special
			⇓
   The  application  shall  quote  the following characters if they are to represent
   themselves:

|  &  ;  <  >  (  )  $  `  \  "  '  <space>  <tab>  <newline>
2016-08-03 17:34:12 +00:00
tg 757e25fb21 implement $KSH_MATCH and, to make it usable, ${foo@/bar/baz};
add a real-life example (for slagtc’s programmable tab completion)
to the manpage
2016-08-01 21:38:07 +00:00
tg 8f135b3904 mark some tests as !need-pass due to Perl dependencies 2016-08-01 21:29:05 +00:00
tg e5a54ebb6b fix the occasional issue printing \xFF from a string 2016-08-01 20:23:15 +00:00
tg 6551fd5a86 move EPOCHREALTIME to correct location, drop ERRNO (wtf?) 2016-08-01 19:40:00 +00:00
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