Commit Graph

3048 Commits

Author SHA1 Message Date
KO Myung-Hun 4c61aeebe5 Use upstream style macro/function names
modified:   edit.c
    modified:   eval.c
    modified:   exec.c
    modified:   main.c
    modified:   misc.c
    modified:   sh.h
2015-07-21 16:30:47 +09:00
KO Myung-Hun 2c5474b326 edit: 0xE0 prefix is not needed any more
Upstream supports PC extension scancodes starting with 0x00.

    modified:   edit.c
2015-07-21 16:30:47 +09:00
KO Myung-Hun 834349f3be Merge remote-tracking branch 'mksh/master'
Conflicts:
	Build.sh
	check.pl
	check.t
	edit.c
	emacsfn.h
	exec.c
	funcs.c
	main.c
	misc.c
	sh.h
	var.c
2015-07-21 16:30:46 +09:00
tg c2d9863a05 make setenv set -u safe and fix behaviour for no args 2015-07-18 23:03:24 +00:00
tg 0df20b04b8 documentation update (external links), from _0bitcount via IRC 2015-07-12 19:09:50 +00:00
tg ba8a6e9461 merge OS/2 style PATH (absolute with drive letters, ‘;’ as separator)
From: KO Myung-Hun <komh@chollian.net>
2015-07-10 19:36:38 +00:00
tg fd37f4baf0 POSIX doesn’t like the OPTU encoding scheme due to btowc/mbtowc asymmetry,
so make all utf8-mode behaviour implementation-defined (and document the
raw octet mapping more explicitly)
2015-07-10 19:35:39 +00:00
tg 0fd9337123 implement support for PC scancodes à la CHR$(0)+CHR$(&h48)
superseding an mksh-os2 patch which confirmed this is needed

Reference: my copy of the Schneider EURO PC manual 50032 for
Microsoft® GW-BASIC
2015-07-10 18:41:07 +00:00
tg 5613d6a04a an edchar cannot conceivably be NUL, so set them to the default;
this is confirmed to help fix OS/2 and plugs an uninitialised read
on systems without werase
2015-07-10 17:31:09 +00:00
tg abfde383fe git@github.com:komh/pdksh-os2 commit 590f2b19b0ff92a9a373295bce914654f9f5bf22
says to use <termio.h> not <termios.h> on OS/2

From: Ilya Zakharevich <ilya@math.ohio-state.edu>
2015-07-10 17:16:23 +00:00
tg edf76ec8e6 harden the crlf vs lf tests even more; use binary mode explicitly on OS/2 2015-07-09 20:52:43 +00:00
tg dcd8b6389b apply the new cat hack to printf, too, to prefer it over the builtin 2015-07-09 20:20:45 +00:00
tg f274f18223 SECURITY: quote the arguments to true 2015-07-09 20:11:45 +00:00
tg d034be7a84 more mksh-os2 inspired hackery 2015-07-09 19:59:14 +00:00
tg 483536e336 point out mknod is not normally part of mksh either 2015-07-09 19:50:44 +00:00
tg 950827394b more easy OS/2 fixes
From: KO Myung-Hun <komh@chollian.net>
2015-07-09 19:46:43 +00:00
tg 041666eefb a few more mksh-os2 inspired fixes 2015-07-09 19:28:21 +00:00
tg 3d8ba005e1 add a few generic fixes from mksh-os2
From: KO Myung-Hun <komh@chollian.net>
2015-07-09 19:19:10 +00:00
tg e88316739e merge from git@github.com:komh/mksh-os2
Use gcc on OS/2

From: KO Myung-Hun <komh@chollian.net>
2015-07-09 19:04:28 +00:00
KO Myung-Hun 65d8ad9dae Merge remote-tracking branch 'mksh/master' 2015-07-08 19:31:55 +09:00
KO Myung-Hun edc36cce7f edit: set edchars manually on OS/2
OS/2 kLIBC have termio.h and termios.h. But the real functions are
dummies.

Now Ctrl-C and Ctrl-D work well.

    modified:   edit.c
2015-07-07 08:28:55 +09:00
tg f463d9da76 • revert the cat hack for realpath and rename
‣ I was convinced by several that more magic is never the solution
• fix a comment: function cat already had precedence
• change cat loader to look for existence, FPATH included, before
  ditching the builtin; note that in manpage
2015-07-06 17:48:37 +00:00
tg d09aca4175 do the IFS_QUOTE dance right; this finally fixes ""$@ 2015-07-06 17:45:33 +00:00
tg 2e4cd72899 make certain actions flush the history buffer 2015-07-05 19:53:46 +00:00
tg e0196f47d5 implement completely new multiline code by delaying history store
this commit is valgrind-tested
2015-07-05 19:37:18 +00:00
tg be8c2fa8c2 optimise by making use of commitid 1005529AD8D33CF99B9 2015-07-05 19:02:16 +00:00
tg 48af854117 fix 'command -v' for "shell reserved words"
From: Martijn Dekker <martijn@inlv.org>

also adjust manpage accordingly
2015-07-05 17:50:40 +00:00
tg 0d5b514e63 now removes *all* trailing newlines (by reusing histsave result, saves code),
plus plugs an ancient memory leak (hist_execute afree’s its arg now);
also partial revert of commitid 78014291f06497b3 as COMPLEX_HISTORY handles
multi-line commands correctly now (r1.4, 2005-05-23)
2015-07-05 17:04:26 +00:00
tg 757d857319 greatly simplify hist_execute (useless to cut a string in twain, then
restore the very same string), except now, the one trailing newline
is not removed (except in histsave)
2015-07-05 16:48:28 +00:00
tg b87215bbaf when storing commands with embedded newlines, don’t take those as end of string
(inspired fix from Debian #783978; bug in original pdksh COMPLEX_HISTORY code)
2015-07-05 16:47:28 +00:00
tg b9a8fdf905 implement cat thing for realpath and rename too: if flag, call external 2015-07-05 15:45:18 +00:00
tg b478d334d9 merge spelling stuff from oksh 2015-07-05 15:22:41 +00:00
tg 69ec1002eb add new expected-fail from POSIX <Pine.BSM.4.64L.1410241226350.12660@herc.mirbsd.org> 2015-07-05 15:12:04 +00:00
tg 5eeeaab8cf ensure at least two spaces of cell-to-cell horizontal padding in print_columns;
audit all callers of print_columns to always pass the exact maximum sizes
2015-07-05 14:58:33 +00:00
tg 69eac312de omit trailing whitespace for print_columns 2015-07-05 14:47:41 +00:00
tg 62e27c3e07 simplify print_columns func argument: no need to return the first arg any more 2015-07-05 14:43:08 +00:00
tg bbf0558f6a in print_columns, skip space padding for all last cells, not just
those in the last column, for jagged arrays
2015-07-05 14:33:21 +00:00
tg 11a2f9d822 make $LINENO in PS1 equivalent to ! (bug spotted by carstenh in IRC) 2015-07-05 13:49:42 +00:00
tg 7a1acedd4a bump; nothing to merge from oksh, and nothing more from me today 2015-06-28 16:23:24 +00:00
tg 0bdc395a81 permit read -N n (n ≠ -1) and read -t to return partial reads with $? == 1
issue spotted by carstenh, could have been a documentation ambiguity issue
(as -N was designed to read and return exactly n bytes), but this resolves
it in a way both backwards-compatible and user-pleasing
2015-06-28 14:57:25 +00:00
tg f03037706c cd does weird things wrt. error messages; slightly better, from carstenh via IRC 2015-06-27 20:44:01 +00:00
KO Myung-Hun 01648d4495 scriptexec: cosmetic 2015-06-11 22:44:00 +09:00
KO Myung-Hun df2cf83f8b scriptexec: preserve original shell/interpreter path
For example,

When failing to execute the script which starts with the above line,
an error message does not contain information for /path/to/name.
Instead, it contains only name. In addition, if /path/to/dir/, an error
message contains empty string for a name of a failed script.
2015-06-11 22:16:17 +09:00
KO Myung-Hun b27e10a32e scriptexec: try to use shell/interpreter name as well on OS/2
If specified path does not exist, try to use shell/interpreter name
without directory.

On OS/2, directory structures of distribution is quite different. And
Some scripts have hard coded shell/interpreter. To overcome this, allow
to use shell/interpreter name if specified path does not exist.
2015-06-11 16:16:07 +09:00
KO Myung-Hun 25bb7dcec4 exec: fix that executing a file with multiple dots fails on OS/2
For example, [a.b.exe] cannot be executed with [a.b].

    modified:   exec.c
2015-06-11 16:10:29 +09:00
KO Myung-Hun a041295dae BEGINLIBPATH, ENDLIBPATH and LIBPATHSTRICT are not inhertied on OS/2 2015-06-03 15:27:32 +09:00
KO Myung-Hun 645b537439 Support BEGINLIBPATH, ENDLIBPATH and LIBPATHSTRICT on OS/2 2015-06-03 13:00:50 +09:00
KO Myung-Hun 011d0abf2c Clean-up temporary files on OS/2
On OS/2, unlink() fails on opened files. For this case, try to unlink()
them at termination.
2015-06-03 13:00:49 +09:00
KO Myung-Hun 89324074c4 Prepend /@unixroot to rooted paths on OS/2
$UNIXROOT is a root directory of FHS on OS/2. /@unixroot is replaced by
$UNIXROOT at runtime.
2015-06-03 13:00:49 +09:00
KO Myung-Hun 0fbbbed49c Support arrow keys on emacs/vi mode on OS/2 2015-06-03 13:00:49 +09:00