CSSWring v5.1.1

一連のセレクターのひとつで連結系のセレクターに使われる文字(>+~)がエスケープされて最後に含まれており、かつそのセレクターにつづいて子孫セレクターとして別のシンプル・セレクターが存在する場合、両者の間の空白が消えてしまい、子孫セレクターではなく複数のシンプル・セレクターを組み合わせたものになってしまうバグを直しCSSWring v5.1.1をリリースした。ひどい日本語だ。

具体的には、

.foo\+ .bar {
  display: block;
}

が、

.foo\+.bar{display:block}

になってしまう、というバグが直った。エスケープした記号とかなんでセレクターに使うの……などということを考えてはいけない。機械なので機械的に直すのだ。正規化して空白をまとめた後、エスケープされたこれらの文字列の前後の空白だけを維持することで修正した。