Commit Graph

3174 Commits

Author SHA1 Message Date
tg 5468d726b3 move slashifying of PATH, TMPDIR and two OS/2-specific variables from
OS/2-specific to common DOSPATH-specific code (ifdef for the latter two)

also gets us rid of the use of getenv
2017-10-13 23:34:49 +00:00
tg 524e63b4a1 fix a longstanding double substitution 2017-10-13 23:02:11 +00:00
tg 7d18c762d2 komh says these are redundant 2017-10-13 11:54:06 +00:00
tg 0ba04f9bb7 apply fixes from code review by @komh 2017-10-12 15:17:04 +00:00
tg 34fc7afc8c note on rooted pathnames, concept found in original pdksh which had
various forms of path attributes (not just absolute or not), though
we shouldn’t just copy theirs either
2017-10-11 23:48:36 +00:00
tg 5db583cd81 handle drive-qualified nōn-absolute pathnames in do_realpath(), untested
the idea here is that:

- /foo/bar and a:/foo/bar are absolute
- foo/bar is relative
- a:foo/bar needs to be handled specially,
  mostly per making it into an absolute (“a:/” + getcwd(a:) + “foo/bar”)
2017-10-11 23:23:03 +00:00
tg d5a29d5e60 mksh_abspath() on OS/2 now requires a dir separator after the drive letter
and colon for it to recognise a pathname as absolute, as it should be

XXX make_path() unreviewed wrt this change
2017-10-11 21:52:46 +00:00
tg 2cdd9d77de further OS/2 fixes for simplify_path() 2017-10-11 21:49:06 +00:00
tg af61fd186a all uses of mksh_vdirsep should exclude “\builtin” from triggering it 2017-10-11 21:09:24 +00:00
tg 5a89f6d959 update comment to unpuzzle a future me
(I just had to use git annotate and look at the two commits from komh
to figure out that the condition in the if is correct here and what
this is supposed to do)
2017-10-11 21:04:59 +00:00
tg f578d7cd10 eval.c has the only mksh_sdirsep caller and uses it on substrings,
so OS/2 drive letter checks are not correct there
2017-10-11 20:55:06 +00:00
tg 99db3ecb5c inline OS/2’s mksh_sdirsep() into its mksh_vdirsep()
because we must separate these two
2017-10-11 20:50:46 +00:00
tg 9dc689dd17 keep drive letter when simplifying path (untested) 2017-10-11 20:46:14 +00:00
tg 2b329c9343 introduce mksh_drvltr(s) short-hand macro 2017-10-11 20:29:05 +00:00
tg f20af3a14f turns out the slash was already added (later), 10x komh 2017-10-11 19:06:44 +00:00
tg 694aab50ce fix part of realpath for drive-qualified DOS paths:
if a path or symlink target is drive-qualified, keep the drive letter
(this part from komh) and, if present, a leading (back)slash (from me)

missing: if a drive qualification is *not* followed by a (back)slash,
we must retrieve the per-drive cwd for the target drive and insert it
just like we insert the cwd for (normal/Unix) relative paths; maybe
consider redoing absolute/relative path logic, DOS paths are tristate

komh’s commit: fix realpath failure on OS/2

On OS/2, an absolute path is 'x:/path/to/file'. Because it has not
a leading slash, '/' is prepended, that is, '/x:/path/to/file'. As a
result, it fails to find a requested file.
2017-10-10 21:30:43 +00:00
tg 7f38eafe26 remove redundant OS/2 codes (from komh)
os2_init() does it.
2017-10-10 21:19:43 +00:00
tg 4d23a65454 monkey-patch offsetof for a klibc/dietlibc warning; bump to R56b (bugfixes) 2017-08-29 13:38:31 +00:00
tg 7cbce8f98e quell a Fink compiler warning; not entirely correct but no harm done either 2017-08-28 23:27:51 +00:00
tg c4acfa38cc unbreak vi mode '0' movement, bug introduced in r1.323
reported by Larry Hynes <larry@larryhynes.com>
2017-08-27 23:33:50 +00:00
tg 3a4eaf6f59 fix documentation bug, thanks panpo and Riviera for spotting 2017-08-16 21:40:14 +00:00
tg 53fbbc9693 we have a FAQ now! (well, two of them, different scope though) 2017-08-10 19:25:12 +00:00
tg bee53eb667 bump 2017-08-08 21:11:20 +00:00
tg b52badd958 oh wait, actually…
• besides the previously-set $EDITOR take [jupp jstar mcedit ed vi]
  as sorted list, first one found wins
• set -eu safe, and in the lksh part
2017-08-08 21:10:21 +00:00
tg b00e5b01b4 promote jupp to default editor if installed, in the customisation section 2017-08-08 20:52:11 +00:00
tg bc1746bccb comment 2017-08-08 20:50:34 +00:00
tg 0af974d905 let hd_mksh take from stdin, great simplification 2017-08-08 20:42:16 +00:00
tg 7f7fb75205 make EBCDIC-safe 2017-08-08 20:40:25 +00:00
tg 252c4b181b perform in chunks, don’t read the entire file into memory ahead 2017-08-08 20:38:08 +00:00
tg ce64148abb always expone mksh’s hexdumper 2017-08-08 20:22:16 +00:00
tg 6327ca02f2 fix Red Hat BZ#1479320 by making interactive shells remember async PIDs too 2017-08-08 14:30:10 +00:00
tg 1fa38c9c2c optimise structure size calculation to take alignment into account 2017-08-08 14:29:23 +00:00
tg d8d8ec4466 go home Coverity, you’re drunk
code refactoring to work around it not recognising the correct code path
2017-08-08 00:03:56 +00:00
tg 23320b7a72 Coverity 1416282 2017-08-07 23:25:09 +00:00
tg a318b33ace Coverity 1416283 2017-08-07 23:23:12 +00:00
tg 144268cf94 Coverity 1416285 2017-08-07 23:15:47 +00:00
tg 5f58b04c54 fix a GCC 7 pointer target signedness warning 2017-08-07 21:56:54 +00:00
tg de7e092ad7 release 2017-08-07 21:39:26 +00:00
tg df8681e880 fixup by regenerating with new eawparse which matches what I submitted to
https://sourceware.org/bugzilla/show_bug.cgi?id=21750 even if only FF00
actually changed due to the algorithms in use
2017-08-07 21:38:55 +00:00
tg 36dcaf624b fuck POSIX 2017-08-07 21:16:32 +00:00
tg 1854fb9b3d turn off UTF-8 mode upon entering POSIX mode, for J�rg 2017-08-07 20:49:42 +00:00
tg c203e7c5b2 part 2: don’t stop using the history if the file has been truncated 2017-08-07 20:43:00 +00:00
tg bfa79a4e4b plug part of the history problems until we can do better:
do not change the underlying file when truncating; rather,
copy everything back from the tmpfile to histfd while the
latter is locked
2017-08-07 20:40:57 +00:00
tg b903a5e66a make readonly idempotent; spotted by selk from Dragora 2017-07-26 23:02:28 +00:00
tg ac262e5395 Unicode 10.0.0 2017-07-08 15:11:52 +00:00
tg ed36b0956d merge commit b0a2ea76327760a7ecf35172fe525f8aa39320b2 from Harvey-OS:
“Until sigsuspend could work propery”[sic]
2017-05-15 13:35:38 +00:00
tg 4acbb48229 exclude nōn-HPFS-safe pathname-using test from OS/2 (thanks komh)
also exclude on cygwin/msys as not FAT/NTFS-safe
2017-05-14 19:05:44 +00:00
tg fa5eb879c4 oops, reverted not enough in commitid 1005909EE7C16B07DC3 2017-05-05 22:59:36 +00:00
tg 868d982efb sprinkle tons more ord() around
this is really not funny… mksh-ng will use even more “unsigned only”
2017-05-05 22:53:32 +00:00
tg 5c72925bf3 add EBCDIC primer and attribution for iSKUNK 2017-05-05 22:45:58 +00:00