Closed aminophen closed 6 years ago
# なんでそうコミットしたのか,はよく覚えていません。確か,網羅的に準備したつもりのテストケース (tabglue.tex) の時点では以下の2つの手があって,どっちでもよかったのだという記憶があります。
でも実際には「空」の場合が抜けていて,今回のバグに至った,ということですね…。
今さらですが,このバグコードが「なんとなく動いた」理由もこれと同じで,pTeX の「\inhibitglue が展開不能トークンを透過するケースがある」という挙動に由来していました。
TeX Live 2017 時点の pTeXでは:
お\inhibitglue\ignorespaces (あ % (1)
では \inhibitglue が \ignorespaces によってリセットされ,(
のグルーが入る一方,
あ\hskip0pt\inhibitglue\ignorespaces (あ % (2)
では \inhibitglue がなぜかリセットされなくなり,(
のグルーが消える。この後者 (2) のケースを利用したのが \@tabclassz
に「\inhibitglue … \unskip を追加する方法」だったことになる。
forum:2232#p13308 で報告されたように,2017/07/29 付けの #43 の修正ミスによりバグが混入していました。
r
による右揃えしようとしたセルの中身が空だった場合の出力が正しくありません。master ブランチは次のリリース準備の途中だったので,fixtabular ブランチを新たに切って a698323 でなおしてみました。と言っても 165cd95 のコミットを revert しただけです。