diff options
| author | Dan Allen <dan.j.allen@gmail.com> | 2022-02-17 00:51:02 -0700 |
|---|---|---|
| committer | Dan Allen <dan.j.allen@gmail.com> | 2022-02-17 00:51:02 -0700 |
| commit | c193c0119d5117a705f93fb6afce874966e4468f (patch) | |
| tree | 73d48138f07df7b0b632c9b63b71443b01041523 /lib | |
| parent | 1b4e63330358afc5872b4793bc63d8b356607990 (diff) | |
resolves #4256 reset registry if activate is called on it again
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/asciidoctor/extensions.rb | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/asciidoctor/extensions.rb b/lib/asciidoctor/extensions.rb index 80ef5db1..16ddbc37 100644 --- a/lib/asciidoctor/extensions.rb +++ b/lib/asciidoctor/extensions.rb @@ -721,6 +721,7 @@ module Extensions def initialize groups = {} @groups = groups + reset @preprocessor_extensions = @tree_processor_extensions = @postprocessor_extensions = @include_processor_extensions = @docinfo_processor_extensions = @block_extensions = @block_macro_extensions = @inline_macro_extensions = nil @document = nil end @@ -732,6 +733,7 @@ module Extensions # # Returns the instance of this [Registry]. def activate document + reset if @document @document = document unless (ext_groups = Extensions.groups.values + @groups.values).empty? ext_groups.each do |group| @@ -1429,6 +1431,11 @@ module Extensions end end + def reset + @preprocessor_extensions = @tree_processor_extensions = @postprocessor_extensions = @include_processor_extensions = @docinfo_processor_extensions = @block_extensions = @block_macro_extensions = @inline_macro_extensions = nil + @document = nil + end + def resolve_args args, expect opts = ::Hash === args[-1] ? args.pop : {} return opts if expect == 1 |
