[tarent-useful-scripts SCM] {wtf-mksh} annotated tag mksh-56b.20171017_wtf1_deb7u1 created. mksh-56b.20171017_wtf1_deb7u1
mirabilos at evolvis.org
mirabilos at evolvis.org
Sat Nov 4 21:24:41 CET 2017 • <20171104202441.3F6C84A019E@evolvis.org>
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Supplemental git repository wtf-mksh for Evolvis project useful-scripts".
The annotated tag, mksh-56b.20171017_wtf1_deb7u1 has been created
at fde2c2c708169e5d9295795412792a2ad7f4d5c3 (tag)
tagging 16c725ce3042e1237118e476a0ff3a0b5393f5d6 (commit)
replaces mksh-54_wtf1_deb7u1
tagged by mirabilos
on Sat Nov 4 20:15:59 2017 +0100
- Log -----------------------------------------------------------------
mksh (56b.20171017+wtf1~deb7u1) wtf; urgency=medium
-----BEGIN PGP SIGNATURE-----
Comment: ☃ ЦΤℱ—8 ☕☂☄
iQIcBAABCQAGBQJZ/hHwAAoJEIlQwYleuNOz5l4P/Rf4DnsXFuxTfGizuOHge3u2
S+VPMW3Gf901QtW80Xw4jdgwDn2JV560ONhLSxSBRBqgfl4CXVGXQWs1vyCggOmB
3J14PLvJ/gvXv5l7Tekv5p3M6w4JcF4QiyPHeDdTmUwxnHZB46COcQvC51NpMn7z
faZZzlxVMdR/Tk2t3C53WSFRt/lxb/VVQaoBE1xfZXGcZDWo/PLd79AdpuNDt4nh
zvBj9sobanB5lz2sTPlk5pAI3608P53WBaLaE70G5P6NCo6RF9IPENi0iC6R9onf
Xks1IETAyluI2y/T5YCfBzd1Sd67W1j3Hqu4PcPJxb/l30BUL5x9XSs5WikMzzKf
8dUw+mXF49sDIYTxmXzOEpW2HtzrfVIPkVI3Ni2fgR59zOTR/GUZBWyT2L5tJB0N
93ZDk+hnS4u+uJGmyVYKChi6b04r+osqY6OjzEwNALmknieklSXYItv8MKYI9DjB
1xyUByceqbMJwwiPMY/FY/DIXxUAVF4oJZavtqvSMvLxVg/ukGP/KhIkSnt62PtS
vlHZQ9J7Fn1nD6qath+7QO4WZ5//SqsdX1BFIVdWbVZjF5lb4Mrdfm9uflPBUQBv
/4QByIDYAi5TvPzyJHVUXAUuCdgITASLIuwFw9hkxsvEwzfaiT2BAFSGA5QNkAF4
Rjo7veC/eH1s+VFe/LXt
=/1DA
-----END PGP SIGNATURE-----
KO Myung-Hun (79):
Use gcc on OS/2
Do not define getrusage() stuffs on OS/2 kLIBC
Executables have .exe extension on OS/2
Ignore size on OS/2
Path separator is ; on OS/2
Try to append executable suffixes if not having extension on OS/2
Make all the files executable on OS/2
Read in text mode, write in binary mode on OS/2
Support extproc on OS/2
Check EPERM as well on OS/2
Consider executable extensions in case of some test commands on OS/2
Consider OS/2-style path
Support a response file on OS/2
MZ magic is supported on OS/2
Support .cmd and .bat on OS/2
Workaround for execve() on OS/2
Convert backslashes of PATH and TMPDIR to slashes on OS/2
Consider an OS/2-style absolute path when testing
Define MKSH_UNEMPLOYED on OS/2
Use ; as a path separator on OS/2 when testing
Disable some tests on OS/2
Set stdin to text mode, and stdout/stderr to binary mode if not a console
Check sh.exe on OS/2 intead of sh
Fix compilation warnings/errors when MKSH_NOPROSPECTOFWORK is defined
Define MKSH_NOPROSPECTOFWORK on OS/2
Support arrow keys on emacs/vi mode on OS/2
Prepend /@unixroot to rooted paths on OS/2
Clean-up temporary files on OS/2
Support BEGINLIBPATH, ENDLIBPATH and LIBPATHSTRICT on OS/2
BEGINLIBPATH, ENDLIBPATH and LIBPATHSTRICT are not inhertied on OS/2
exec: fix that executing a file with multiple dots fails on OS/2
scriptexec: try to use shell/interpreter name as well on OS/2
scriptexec: preserve original shell/interpreter path
scriptexec: cosmetic
edit: set edchars manually on OS/2
Merge remote-tracking branch 'mksh/master'
Merge remote-tracking branch 'mksh/master'
edit: 0xE0 prefix is not needed any more
Use upstream style macro/function names
main: remove EXE_EXT macro
build: add -DMKSH_NO_LIMITS flag
check: remove unnecessary category check
Merge remote-tracking branch 'mksh/master'
check: remove unnecessary double quotation for $PATHSEP
Merge remote-tracking branch 'mksh/master'
Merge remote-tracking branch 'mksh/master'
Merge remote-tracking branch 'mksh/master'
Merge remote-tracking branch 'mksh/master'
jobs: remove unnecessary MKSH_NOPROSPECTOFWORK guards
Merge commit '91ae6ad199035b1cf'
Merge remote-tracking branch 'mksh/master'
Merge remote-tracking branch 'mksh/master'
Merge tag 'mksh-R52c'
Merge tag 'mksh-R52c'
Merge remote-tracking branch 'mksh/master'
os2: fix the last character of a response file is splitted
Merge remote-tracking branch 'mksh/master'
Merge remote-tracking branch 'mksh/master'
Merge tag 'mksh-R53' into HEAD
Merge tag 'mksh-R53a' into HEAD
Preserve coding styles of upstream
Merge remote-tracking branch 'mksh/master'
fix mksh_sdirsep() and simplify mksh_vdirsep() on OS/2
Merge remote-tracking branch 'mksh/master'
move os2_init() from main() to main_init()
Write in binary mode through pipes
Read in text mode in a needed place only
exec: search commands in the current directory first on OS/2
os2: return an error code correctly when a child was signaled
Revert "exec: search commands in the current directory first on OS/2"
exec: prevent a command in a current dirctory from being executed
exec: set ev to ENOENT properly
Revert "exec: set ev to ENOENT properly"
Revert "exec: prevent a command in a current dirctory from being executed"
exec: remove the last / or \ when searching $PATH
eval: trim CR+LF in backtick('') and $()
main: find a script executed by extproc in current directory first
eval: fix typo
Merge remote-tracking branch 'mksh/master'
mirabilos (61):
Merge branch 'master' of github.com:MirBSD/mksh
bump (temporarily), to test
fun with new lintian checks
mostly KNF; afree() can be called with NULL argument
no strcpy() allowed in BSD code
fix \r followed by something else than \n or EOF
mostly more KNF
Merge mksh CVS HEAD
use new MKSH_WITH_TEXTMODE for several of the #ifdefs
fix two small setmode()-related bugs
add a CVS HEAD snapshot, for easier unmerging later on
Merge branch 'origtgz' into experimental
update
update uhr
lintian…
Revert "add a CVS HEAD snapshot, for easier unmerging later on"
Merge remote-tracking branch 'debian/experimental' +1
mksh-R55.tgz
Merge tag 'mksh-55' into experimental
update
low’s enough
Merge branch 'master' of github.com:MirBSD/mksh
oops…
Merge branch 'experimental' of /home/tglase/mbsd/DEB/mksh/
Merge branch 'experimental' of /home/tglase/mbsd/DEB/mksh/
github is questionable, legally, now
Merge branch 'master' of /home/tglase/mbsd/GIT/mksh/
update
update
new editor setup; default to sensible-editor on Debian, too
mksh-R56.tgz
Merge tag 'mksh-56'
update
more documentation is often good
Merge branch 'master' of github.com:MirBSD/mksh
Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
update
Since we use sensible-editor, might as well…
split off stretch
build master for/in stretch, for now probably better
] conftest.c:6:5: note: in expansion of macro 'LARGE_OFF_T'
mksh-R56b.tgz
Merge tag 'mksh-56b'
bump
bump policy
Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
Merge remote-tracking branch 'upstream/master'
LC_CTYPE=C.UTF-8 is more reliable
bump
… oh, well. But then, you know where to get what from.
work around coreutils maintainer/upstream(?) idiocy
bump S-V while here
Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
bump
update (patch) from MirBSD CVS
before I forget that for next time…
Merge branch 'master' of /home/tglase/mbsd/DEB/mksh/
Merge branch 'master' of github.com:MirBSD/mksh
bump; lintian’s happy this time \o/
Merge tag 'mksh-56b.20171017_wtf1' into jessie
Merge tag 'mksh-56b.20171017_wtf1_deb8u1' into wheezy
root (4):
This commit was manufactured by cvs2svn to create tag 'mksh-R52c'.
This commit was manufactured by cvs2svn to create tag 'mksh-R52c'.
This commit was manufactured by cvs2svn to create tag 'mksh-R53'.
This commit was manufactured by cvs2svn to create tag 'mksh-R53a'.
tg (188):
fix embarassing pasto and OS/2 UNC logic; thanks komh!
fix broken indentation accidentally introduced in -r1.293 (after checking whether indeed indentation or braces are wrong)
undocument printf(1), it causes user confusion
improve rendering of contact information
make ${var at x} with unknown x fail; spotted by izabera, thanks
oops…
there’s no evidence for -e in any BSD echo (but in ksh93 print)
in ${foo=bar}, “bar” must be scalar context; spotted by Martijn Dekker
less assignments
fixup relation between lksh and mksh (somewhat minimal delta)
exclude PATH manipulation if we guess at OS/2
improve wording avoiding bad linebreaks
add missing -e to print synopsis; From: Jean Delvare <jdelvare at suse.de> also add missing .Ns (no space) between -u and [n] in its option list
fixup tilde expansion comments; revert a few bogus dirsep changes
remove odd use of KEEPASN, I believe it really unnecessary now
make “builtin” and “wait” not special
add “\builtin” utility
unbreak $'\xz' to expand to 'xz'
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
document the declaration utility stuff and the new \builtin also, make global a declaration utility
add OS/2 PATH note, for komh
update testsuite accordingly
fix GNU groff-only formatting bug in the manpage From: Jean Delvare <jdelvare at suse.de>
implement “typeset -g”, From: Martijn Dekker <martijn at inlv.org> also deprecate “global”; thanks!
Harvey-OS fixed APEX, this is reported to work now
further change typeset scope description, inspired by Martijn Dekker
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)
use the new “\builtin” builtin for quoting, everywhere
use \\builtin ipv \let] and \set internally
fix padding in Lb64encode
introduce a FAQ, move lots of stuff there and add lots of stuff
embed
add standard variable PATHSEP, for better and easier OS/2 support
fixup LINENO in eval and alias; patch and initial testcase From: Martijn Dekker <martijn at inlv.org>
fixup “\builtin” on OS/2; thanks komh for spotting this
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)
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
POSuX demands persistent history support, so permit it in lksh
introduce the -T flag to set TEXTMODE (ASCII CR+LF newline support)
merge mksh-os2 by KO Myung-Hun <komh at chollian.net> from https://github.com/komh/mksh-os2
do not use getenv() to allow users to change OS2_SHELL during the session
do not output incomplete multibyte chars in ^R
handle multibyte backspace in ^R
move c_typeset() to var.c so we have access to either array_index_calc() or innermost_refflag for 'typeset -p x[2]'
refactor global(x) into isglobal(x, true)
fix typeset -p x[2]
string pooling, and more consistent look for error messages
komh reports that OS/2 has no chance of supporting UTF-8 (like MSYS)
fix small inaccuracy
plug a small memory leak
streamline some error messages
limit alias characters to what POSIX requires
something comfy
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)
last tweak, to demonstrate brokenness of the old code
put the hyphen-minus back into the allowed alias name characters, for Steffen Nurpmeso <steffen at sdaoden.eu>, except disallow it at the start
allow 'eval break', from Martijn Dekker
make -masm=intel safe: don’t call a module-global variable “es”
disambiguate $((…)) vs. $((…)…) in “typeset -f” output
Clarify the effect of exit and return in a subshell From: Jean Delvare <jdelvare at suse.de>
make compile-time asserts simpler
fix ^O if modified; LP#1675842
now we have cheap cta move them into compile time
(very few) fixes and a couple of workarounds for Coverity
ok, you’ve got a point there
add test -v, initially from Martijn Dekker
fix test operator comment descriptions
finally document FPOSIX and FSH delta
R55
do not apply alias name restrictions to directories or “hash” reported by Seb <sbb at tuxfamily.org>
fix comment
amend MAGIC comment
useful testcase from POSIX
restore ‘.’ as allowed char in alias names
fix accidentally defanged PATHSEP test
on ^C (INTR, QUIT edchars), shove input line into history
make ord() result unsigned int; add asc() which is:
now actually do comparisons for sorting ASCIIbetically
prepare the new fast character classes, not live yet: need sanity check
debugging 1/2
convert to the new fast character classes
fix C_LEX1 which does STILL N̲O̲T̲ include the NUL…
eliminate legacy macros
batch of optimisations
debugging bugs in optimising
fixup the remaining issues and last optimisations
refactor
allow : and [ in alias names (but forbid [[ explicitly) to make 'enable' completely work again
fix return value to signed
remove debugging code again
prepare for EBCDIC target environments (with -E option)
adjust
commit the optimisation result from the new fast character classes
BEL was, and Vi mode is, not EBCDIC-safe
commit the EBCDIC run-time table conversion code, so it can be reviewed
apply most of the remaining parts of the EBCDIC patch, sans the CTRL() changes
fill two complete round-trip maps EBCDIC <-> ASCII
control character madness, but more compiler-friendly
allow backslash escapes for bind for ^ and \ o̲n̲l̲y̲; also more EBCDIC-friendly
rename asc() to asciibetical() to make clear it’s for POSIX ordering only and switch remaining consumers, except the allowed one, to rtt2asc()
oops, ctypes are indexed by ASCII value even on EBCDIC systems
fix C array arithmetics
add -DMKSH_FAUX_EBCDIC to test the codepaths better
fill the map backwards (to use first occurrence of duplicates); add a cache to ensure basic ASCII mapping is bijective
keep ksh_ctypes[] array keys in EBCDIC
const
move three variables into common data, meaning .bss (hopefully)
add C_ASCII (0x01 .. 0x7F: 7-bit ASCII except NUL)
since we have -DMKSH_ASSUME_UTF8=0 on z/OS, omit the known-to-fail check on OS/390
optimise <0x20/>0x7E into !C_PRINT
instead of disabling, make it work
handle expected utf8opt-2a failures better (i.e. don’t even try)
clean up OS exclusions somewhat: have Perl substitute the UTF-8 locale
reimplement has_globbing() with proper bracket expression parsing, and take ahead parsing collating symbols, equivalence classes and character classes already (heck my first draft of this already did better than GNU bash, ksh93 I still don’t grok its code at all)
use strnul(); optimise
add BSDish [[:<:]] and [[:>:]] matching (angle brackets must be escaped)
clarify; default to xlc(1) as $CC on z/OS
require Config only if it exists, which it reportedly doesn’t on OS/390
nuke unused stuff
commit my WIP for the Beltane Snapshot of the Mainframe Korn Shell, not going to make finishing it tonight ☹
add -U to test.sh as well, oops…
handle EBCDIC in the testsuite runner (error display)
move more EBCDIC logic into check.pl
sprinkle a few ord() and add an indicator of why some code fails on EBCDIC
move magic constants into definitions
move the constants to an EBCDIC-friendly range
split and adapt some testcases for EBCDIC
first cut at the new matching code, IT WORKS!!! in the FIRST try!
ensure NUL in ASCII and EBCDIC both always occurs ordinal 0
we absolutely require unambiguous mapping between EBCDIC and extended ASCII to be able to provide a global stronly monotonous order for comparisons and bracket expression ranges
some more small EBCDIC fixes
switch EBCDIC to “nega-UTF8”
catch z/OS not having $Config not filling in the __perlpath env correctly
add EBCDIC primer and attribution for iSKUNK
sprinkle tons more ord() around
oops, reverted not enough in commitid 1005909EE7C16B07DC3
exclude nōn-HPFS-safe pathname-using test from OS/2 (thanks komh) also exclude on cygwin/msys as not FAT/NTFS-safe
merge commit b0a2ea76327760a7ecf35172fe525f8aa39320b2 from Harvey-OS:
Unicode 10.0.0
make readonly idempotent; spotted by selk from Dragora
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
part 2: don’t stop using the history if the file has been truncated
turn off UTF-8 mode upon entering POSIX mode, for J�rg
fuck POSIX
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
release
fix a GCC 7 pointer target signedness warning
Coverity 1416285
Coverity 1416283
Coverity 1416282
go home Coverity, you’re drunk
optimise structure size calculation to take alignment into account
fix Red Hat BZ#1479320 by making interactive shells remember async PIDs too
always expone mksh’s hexdumper
perform in chunks, don’t read the entire file into memory ahead
make EBCDIC-safe
let hd_mksh take from stdin, great simplification
comment
promote jupp to default editor if installed, in the customisation section
oh wait, actually…
bump
we have a FAQ now! (well, two of them, different scope though)
fix documentation bug, thanks panpo and Riviera for spotting
unbreak vi mode '0' movement, bug introduced in r1.323 reported by Larry Hynes <larry at larryhynes.com>
quell a Fink compiler warning; not entirely correct but no harm done either
monkey-patch offsetof for a klibc/dietlibc warning; bump to R56b (bugfixes)
remove redundant OS/2 codes (from komh)
fix part of realpath for drive-qualified DOS paths:
turns out the slash was already added (later), 10x komh
introduce mksh_drvltr(s) short-hand macro
keep drive letter when simplifying path (untested)
inline OS/2’s mksh_sdirsep() into its mksh_vdirsep() because we must separate these two
eval.c has the only mksh_sdirsep caller and uses it on substrings, so OS/2 drive letter checks are not correct there
update comment to unpuzzle a future me
all uses of mksh_vdirsep should exclude “\builtin” from triggering it
further OS/2 fixes for simplify_path()
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
handle drive-qualified nōn-absolute pathnames in do_realpath(), untested
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
apply fixes from code review by @komh
komh says these are redundant
fix a longstanding double substitution
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)
fix “cd e:foo” on DOSPATH systems (I think)
add MKSH_ENVDIR code for Jehanne (OS by Shamar (giacomotesio) from IRC): instead of parsing extern char **environ; read it from a filesystem (typical for Plan 9, though this one is __jehanne__ per ifdef)
move getdrvwd() declaration out of OS/2-specific part: each MKSH_DOSPATH port is required to define it (and, later, others)
apply another quickfix by komh
tentatively fix Debian #878947 by putting an end to (some) nesting
-----------------------------------------------------------------------
hooks/post-receive
--
Supplemental git repository wtf-mksh for Evolvis project useful-scripts
(Evolvis project useful-scripts repository wtf-mksh)
More information about the useful-scripts-commits
mailing list