行コメント(// ……)は先のマクロでもうまく動いているのですが、行の途中から選択している場合のブロックコメント(/* …… */ )の解除がうまく行かない、ということです。
と、先のマクロで一箇所誤りに気付きました。
× startsWith(t, h.CommentBegin) && endsWith(t, h.CommentEnd);
○ f = startsWith(t, h.CommentBegin) && endsWith(t, h.CommentEnd);
まあ、どのみち動いていないのですが。