Test: dash 0.5.12-5 (TEST)

Cygwin dash Co-Maintainer Brian.Inglis@Shaw.ca
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:


2022-12-11	0.5.12

	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

	fix formatting

	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-announce mailing list