Closed
Description
Sometime between 2.0.12 and 2.0.15 - a patch update - the behavior of !* for filtering tags has changed. The docs at https://docs.asciidoctor.org/asciidoc/latest/directives/include-tagged-regions/#tag-filtering have changed to reflect new behaviour, but this is quite an intrusive change.
For example I use filtering like so:
// ... source
class ignore_me { }
// tag::outer[]
class thing
{
// tag::select_inner[]
public void fun() { }
// end::select_inner[]
}
// end::outer[]
class ignore_me_2 { }
I could previously (2.0.12) include just the thing
declaration like this:
include::{sourcefile}[tags=outer;!*]
This would give me just this in the output:
class thing
{
}
The new behavior includes every non-tagged lines in the included file.
Is the change intentional? If so, what's the rationale?
The new docs for !* conflict directly with the documented behavior of the separate ! and * filters, and other uses, e.g. !select_inner.