[ANNOUNCEMENT] Test: dash 0.5.12-5 (TEST)
Cygwin dash Co-Maintainer via Cygwin-announce
Fri Mar 3 04:22:03 GMT 2023
The following test packages have been uploaded to the Cygwin distribution:
* dash 0.5.12-5
This test release has been rebuilt re-enabling libc fnmatch and glob as
Cygwin/winsup now supports locale dependent named character and
equivalence class patterns like glibc in Cygwin versions >= 3.5.0-0.
Install this test package only if you are running Cygwin snapshots or
test packages newer than 3.5.0-0 as it is an install condition, so
*should* not be installable until next stable release or newer.
If no issues are reported the package will be upgraded to current when
the Cygwin current stable release is upgraded to >= 3.5.0-0.
Add /bin/dash-VER-R link, plus version and date stamp on man page, as no
shell version info or query is available.
Thanks to Andrey Repin for testing and bringing this to our attention,
Harald van Dijk on the dash list for pointing out the commit
responsible, and Corinna Vinschen for adding support for locale
dependent named character class, equivalence class, and collating symbol
patterns to the Cygwin libc fnmatch and glob functions.
Please test this Base category shell as extensively as possible
(especially if you are a Cygwin package maintainer) as this
package is used in all installations.
I have it locally installed as my /bin/sh so it is used by most scripts,
cron jobs, and cygport builds, so it has and is getting frequent
exercise with no apparent issues so far.
DASH is a POSIX-compliant implementation of /bin/sh that aims to be
as small as possible. It does this without sacrificing speed where
possible. In fact, it is significantly faster than bash (the GNU
Bourne-Again SHell) for most tasks.
For more information see the project home page:
For changes since the previous release, see below;
for complete details see:
Remove USE_NORETURN ifdef
Always set exitstatus in evaltree
Check eflag after redirection error
Check nflag in evaltree instead of cmdloop
Do not cache value of eflag in evaltree
Prevent recursive PS4 expansion
Test evalskip before flipping status for NNOT
Add ifsfree to expand to fix a logic error that causes a buffer over-read
Always quote caret when using fnmatch
Make glob(3) interruptible by SIGINT
Clear unget on RESET
Remove special case for unget EOF
Always reset SIGINT/SIGQUIT handlers
Block signals during tcsetpgrp
Fix waitcmd busy loop
Only block in waitcmd on first run
Add VSBIT to ensure subtype is never zero
Fix VSLENGTH parsing with trailing garbage
Get rid of PEOA
Retry open64 on EINTR
Call CHECK_DECL on stat64
Disable glob again as it strips trailing slashes
Enable fnmatch/glob by default
Fail if building --with-libedit and can't find libedit
Group readdir64/dirent64 with open64
More information about the Cygwin