Commit Graph

3048 Commits

Author SHA1 Message Date
tg fae945962b allow 'eval break', from Martijn Dekker
also, more string pooling, while here
2017-04-08 01:07:18 +00:00
tg cadc884008 put the hyphen-minus back into the allowed alias name characters, for
Steffen Nurpmeso <steffen@sdaoden.eu>, except disallow it at the start
2017-04-06 19:02:07 +00:00
tg 6f991beb90 last tweak, to demonstrate brokenness of the old code 2017-04-06 02:15:22 +00:00
tg 3909a42540 fix reentrancy of 'typeset -f' output in the face of aliases; also,
move alias handling for COMSUBs and friends to parse time by request
of Martijn Dekker (and for consistency with function definitions)
2017-04-06 01:59:58 +00:00
tg 094cce63c5 something comfy 2017-04-06 01:46:42 +00:00
tg e00f693cba limit alias characters to what POSIX requires 2017-04-06 00:53:35 +00:00
tg bcde17a8fc streamline some error messages 2017-04-06 00:41:42 +00:00
tg e52d30ac2e plug a small memory leak 2017-04-05 22:54:51 +00:00
tg 397e1398d9 fix small inaccuracy 2017-04-03 02:10:49 +00:00
tg 95b7fcb4fc komh reports that OS/2 has no chance of supporting UTF-8 (like MSYS) 2017-04-03 02:08:57 +00:00
tg fa5cfa12ed string pooling, and more consistent look for error messages 2017-04-02 16:47:43 +00:00
tg 0e2c9e55f8 fix typeset -p x[2] 2017-04-02 16:25:23 +00:00
tg fd1dda2401 refactor global(x) into isglobal(x, true) 2017-04-02 16:07:04 +00:00
tg ab976fd8d3 move c_typeset() to var.c so we have access to either array_index_calc() or innermost_refflag for 'typeset -p x[2]' 2017-04-02 15:51:20 +00:00
tg ced705ae04 handle multibyte backspace in ^R 2017-04-02 15:43:24 +00:00
tg b22af76755 do not output incomplete multibyte chars in ^R 2017-04-02 15:42:59 +00:00
tg b446727285 do not use getenv() to allow users to change OS2_SHELL during the session 2017-04-02 15:02:40 +00:00
tg 718d397fff merge mksh-os2 by KO Myung-Hun <komh@chollian.net> from https://github.com/komh/mksh-os2 2017-04-02 15:00:45 +00:00
mirabilos 9d00cfc02b fix two small setmode()-related bugs 2017-04-02 16:42:44 +02:00
mirabilos a6619d1ef2 use new MKSH_WITH_TEXTMODE for several of the #ifdefs 2017-04-02 16:41:01 +02:00
mirabilos 7fb9d283c5 Merge mksh CVS HEAD 2017-04-02 16:32:16 +02:00
tg 8bf6cad8bc introduce the -T flag to set TEXTMODE (ASCII CR+LF newline support) 2017-04-02 14:14:08 +00:00
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
mirabilos e216226f68 mostly more KNF 2017-03-26 00:18:21 +01:00
mirabilos 859746b30b fix \r followed by something else than \n or EOF 2017-03-26 00:09:46 +01:00
mirabilos 62a5331aee no strcpy() allowed in BSD code 2017-03-26 00:05:25 +01:00
mirabilos de3d3aa5d2 mostly KNF; afree() can be called with NULL argument 2017-03-25 23:56:09 +01:00
KO Myung-Hun c19b8b104c Merge remote-tracking branch 'mksh/master' 2017-03-22 17:50:23 +09: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