Source-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: src/etc
Module Name: src
Committed By: kre
Date: Thu Mar 5 19:06:14 UTC 2026
Modified Files:
src/etc: getramdisksize
Log Message:
Fix incorrect syntax for some shells
In a world long vanished, the ascii char set did not have the |
character (0x7c) as a standard member, and could not be relied
upon existing. In systems only found today in archaeological digs,
that was handled by making '^' be the sh symbol for a pipe.
That meant that the regular expression notation for negating a
character class ([^stuff]) couldn't be used in shell patterns,
and so ! was used there instead of the ^. The ^ did not bother
use in REs as those almost always need to be quoted when included
in a shell command anyway - but quoting of shell patterns would
defeat their use as a pattern, so couldn't be used there.
In more modern times, this excuse for the difference has long gone,
^ isn't the pipe symbol in any shell that is likely to be encountered,
and so most shells allow either ^ or ! to represent negation of a
character class - ^ for compat with REs, and ! for compat with old
scripts.
However, there are a few holdouts, dash, mksh, bosh (which actually
still allows ^ to represent pipes, bizarrely) and even our own /bin/ksh
only allow ! in [] as the negation operator.
So, use ! instead of ^ (! works everywhere).
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 src/etc/getramdisksize
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Home |
Main Index |
Thread Index |
Old Index