don't reset defaults with backend()

This commit is contained in:
Daniel Schwabeneder 2020-04-24 20:01:38 +02:00
parent 09de2ebc0e
commit 7c87cbb425
2 changed files with 8 additions and 9 deletions

View File

@ -680,15 +680,14 @@ function default(k::Symbol, v)
k in _suppress_warnings || error("Unknown key: ", k) k in _suppress_warnings || error("Unknown key: ", k)
end end
function default(; kw...) function default(; reset = true, kw...)
if isempty(kw) if reset && isempty(kw)
reset_defaults() reset_defaults()
else end
kw = KW(kw) kw = KW(kw)
RecipesPipeline.preprocess_attributes!(kw) RecipesPipeline.preprocess_attributes!(kw)
for (k,v) in kw for (k,v) in kw
default(k, v) default(k, v)
end
end end
end end

View File

@ -30,7 +30,7 @@ macro init_backend(s)
esc(quote esc(quote
struct $T <: AbstractBackend end struct $T <: AbstractBackend end
export $sym export $sym
$sym(; kw...) = (default(; kw...); backend($T())) $sym(; kw...) = (default(; reset = false, kw...); backend($T()))
backend_name(::$T) = Symbol($str) backend_name(::$T) = Symbol($str)
backend_package_name(pkg::$T) = backend_package_name(Symbol($str)) backend_package_name(pkg::$T) = backend_package_name(Symbol($str))
push!(_backends, Symbol($str)) push!(_backends, Symbol($str))