Commit Graph

2939 Commits

Author SHA1 Message Date
tg 344ca3a12a POSuX demands persistent history support, so permit it in lksh
also, use http for links, it’s less demanding than https
2017-04-02 13:38:02 +00:00
tg d68e69bd59 split path-specific ('C:\FOO' instead of '/foo') stuff into MKSH_DOSPATH:
• backslashes as directory separators
• semicolon as $PATH separator
• drive letters are absolute paths
2017-04-02 13:08:07 +00:00
tg 7529e350cf small character classes overhaul:
• make fast character classes even faster by removing the C_SUBOP2 hack
  in favour of a separate seldom-used ksh_issubop2 macro (which also
  makes ctype() side-effect-safe) which is a slower class (no change there)
• optimise cases of ksh_isalphx followed by a ksh_isalnux loop
  (used parsing variable names)
• remove a misleading comment in initctypes() about \0 from pdksh
• rename C_ALPHA to C_ALPHX to make it more clear the underscore is included
• sprinkle a few ord() in there
• add new ksh_isalpha() which tests for [A-Za-z] (slow character class)
• there is no '_:\' drive on OS/2 (which inspired the whole changeset)
2017-03-26 00:10:26 +00:00
tg 034d0c0269 fixup “\builtin” on OS/2; thanks komh for spotting this 2017-03-22 00:20:53 +00:00
tg e991806f2b fixup LINENO in eval and alias; patch and initial testcase
From: Martijn Dekker <martijn@inlv.org>
2017-03-22 00:20:43 +00:00
tg 9466b49fe8 add standard variable PATHSEP, for better and easier OS/2 support 2017-03-19 22:31:29 +00:00
tg 0530264293 embed 2017-03-19 22:23:45 +00:00
tg 0935faa52b introduce a FAQ, move lots of stuff there and add lots of stuff 2017-03-19 22:04:49 +00:00
tg 1dd5ae69ae fix padding in Lb64encode
undefined array elements read as "" or (arithmetically) 0
so this is ok and works as the lines below expect it
2017-03-19 21:08:25 +00:00
tg 06b2d53ea2 use \\builtin ipv \let] and \set internally 2017-03-19 20:59:29 +00:00
tg 73dca6e90f use the new “\builtin” builtin for quoting, everywhere 2017-03-19 20:36:08 +00:00
tg c3fe9d5fb5 Haiku-related ulimit overhaul:
• print ulimit -a with the flag, like most other shells do
• move ulimit-1 regression test to ulimit-2 and exclude on Haiku:
  it can only set the -n and -V limits AFAICT
• document that some OSes (here: Haiku) can only set the soft limits
  (so “ulimit -nS 1024” is okay but -S is required)
• check “ulimit -c 0”, which dot.mkshrc uses, everywhere
  (if it errors out, hack around it or stub it out with MKSH_NO_LIMITS)
2017-03-19 18:05:29 +00:00
tg c98c8e9f5f further change typeset scope description, inspired by Martijn Dekker 2017-03-19 16:48:51 +00:00
tg a741defa53 Harvey-OS fixed APEX, this is reported to work now 2017-03-17 23:47:05 +00:00
tg 5b63e5dcb6 implement “typeset -g”, From: Martijn Dekker <martijn@inlv.org>
also deprecate “global”; thanks!
2017-03-17 22:45:53 +00:00
tg 065f9554fa fix GNU groff-only formatting bug in the manpage
From: Jean Delvare <jdelvare@suse.de>
2017-03-14 11:32:56 +00:00
tg a7654b2657 update testsuite accordingly 2017-03-12 02:35:32 +00:00
tg acf7909fe8 add OS/2 PATH note, for komh 2017-03-12 02:34:54 +00:00
tg 59219161fb document the declaration utility stuff and the new \builtin
also, make global a declaration utility
2017-03-12 02:31:02 +00:00
tg b531baa7fd add a “\builtin” builtin, make it forward assignments, fix some bugs
related to that:
• while AT&T ksh may do it, POSIX says nothing about allowing
  declaration commands only without vars and redirections, and
  “without vars” especially seems against which commands they are
• fix relationship between forwarders and real declaration commands
• clean up c_builtin vs shcomexec mess

Also, re-run “make repool” with a fixed src/scripts/stringpool.sh,v 1.3
2017-03-12 02:04:15 +00:00
tg 86773fcf21 unbreak $'\xz' to expand to 'xz' 2017-03-11 23:56:17 +00:00
tg 950df6491d add “\builtin” utility 2017-03-11 23:22:36 +00:00
tg ff72ba8399 make “builtin” and “wait” not special
(“\builtin” likely also doesn’t need it, as “command” isn’t)
2017-03-11 23:10:41 +00:00
tg 27cdd075c6 remove odd use of KEEPASN, I believe it really unnecessary now 2017-03-11 22:58:51 +00:00
tg bc4397e28a fixup tilde expansion comments; revert a few bogus dirsep changes
cf. <Pine.BSM.4.64L.1703112129500.29506@herc.mirbsd.org>
2017-03-11 22:49:56 +00:00
tg a112d69c56 add missing -e to print synopsis; From: Jean Delvare <jdelvare@suse.de>
also add missing .Ns (no space) between -u and [n] in its option list
2017-02-27 16:08:04 +00:00
tg 512c152479 improve wording avoiding bad linebreaks 2017-02-27 16:04:37 +00:00
tg 4cc0d14466 exclude PATH manipulation if we guess at OS/2 2017-02-18 02:37:57 +00:00
tg 2584cd0634 fixup relation between lksh and mksh (somewhat minimal delta) 2017-02-18 02:33:15 +00:00
tg 18051b7e8a less assignments 2017-02-18 01:27:24 +00:00
tg 7b02f1ec8d in ${foo=bar}, “bar” must be scalar context; spotted by Martijn Dekker 2017-02-17 22:40:13 +00:00
tg 287507fb21 there’s no evidence for -e in any BSD echo (but in ksh93 print)
spotted by Jean Delvare <jdelvare@suse.de> and Werner Fink <werner@suse.de>
2017-02-17 22:28:26 +00:00
tg ca6529e0a2 oops… 2017-02-17 21:15:55 +00:00
tg 21f70afb26 make ${var@x} with unknown x fail; spotted by izabera, thanks 2017-02-17 20:52:15 +00:00
tg 0cdc87055f improve rendering of contact information 2017-02-17 20:41:56 +00:00
tg 93162d8c3a undocument printf(1), it causes user confusion 2017-02-17 20:38:16 +00:00
tg d9b0b71b1d fix broken indentation accidentally introduced in -r1.293
(after checking whether indeed indentation or braces are wrong)

spotted by Jean Delvare <jdelvare@suse.de> via mailing list, thanks!
2017-02-08 15:27:27 +00:00
tg 7d387fd54e fix embarassing pasto and OS/2 UNC logic; thanks komh! 2016-11-12 03:54:48 +00:00
tg 6d5496a81c make both cats 2016-11-12 00:20:37 +00:00
tg 0ba220d2c4 gcc 6.2 warnings (stupid uninitialised that wasn't, plus FALLTHROUGH fixes) 2016-11-11 23:48:30 +00:00
tg 7b4bee7e58 collective R54 release preparation multi-merger:
install both lksh and mksh manpages from Build.sh (Martijn Dekker)
spelling fixes (Larry Hynes)
manpage improvements (Martijn Dekker)
initial port to Harvey-OS’ APEX (Ronald G. Minnich, Elbing Miss, Álvaro Jurado)
more from komh’s OS/2 port (KO Myung-Hun)
2016-11-11 23:31:39 +00:00
tg 3aac3c30b5 return 128+SIGALRM if read with timeout timeouts, inspired by GNU bash 2016-11-11 22:17:09 +00:00
tg 945ef46af1 document print builtin changes 2016-11-11 21:37:44 +00:00
tg 6267ea36a4 fix print -cn 2016-11-11 21:37:35 +00:00
tg 6c04e4a665 make print -c honour line separator 2016-11-11 21:13:25 +00:00
tg 26689a7c81 just 'print -c' outputs not even a newline; plug a memleak while here 2016-11-11 20:53:15 +00:00
tg 2f63478bc9 restructure so that the trailing separator is output separately from
the inner line separators
2016-11-11 20:22:52 +00:00
tg 5ba6be5837 put print_columns options into a helper struct, eases passing things around 2016-11-11 20:14:18 +00:00
tg e16b0b9d5b first implementation of “print -c” for columnising, currently hardcoded newlines 2016-11-11 19:59:39 +00:00
tg 6a9dae2144 implement print -N: set output word and line separator to NUL 2016-11-11 19:18:40 +00:00