From c7252224c4fecfe8321f31b901e2510d98b657c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B8rn=20Erik=20Pedersen?= Date: Mon, 26 Jul 2021 11:21:11 +0200 Subject: [PATCH] Deprecate Blackfriday and fix a potential deadlock in config Note that the deadlock has not been seen earlier, in tests on in real Hugo sites. Fixes #8792 Fixes #8791 --- config/defaultConfigProvider.go | 1 + hugolib/config.go | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/config/defaultConfigProvider.go b/config/defaultConfigProvider.go index 05c3b9126..2391ec853 100644 --- a/config/defaultConfigProvider.go +++ b/config/defaultConfigProvider.go @@ -89,6 +89,7 @@ func (c *defaultConfigProvider) Get(k string) interface{} { c.mu.RLock() key, m := c.getNestedKeyAndMap(strings.ToLower(k), false) if m == nil { + c.mu.RUnlock() return nil } v := m[key] diff --git a/hugolib/config.go b/hugolib/config.go index 96114fad1..5f07a4571 100644 --- a/hugolib/config.go +++ b/hugolib/config.go @@ -107,12 +107,18 @@ func LoadConfig(d ConfigSourceDescriptor, doWithConfig ...func(cfg config.Provid } } + // Config deprecations. // We made this a Glob pattern in Hugo 0.75, we don't need both. if l.cfg.GetBool("ignoreVendor") { helpers.Deprecated("--ignoreVendor", "--ignoreVendorPaths **", true) l.cfg.Set("ignoreVendorPaths", "**") } + if l.cfg.GetString("markup.defaultMarkdownHandler") == "blackfriday" { + helpers.Deprecated("markup.defaultMarkdownHandler=blackfriday", "See https://gohugo.io//content-management/formats/#list-of-content-formats", false) + + } + // Some settings are used before we're done collecting all settings, // so apply OS environment both before and after. if err := l.applyOsEnvOverrides(d.Environ); err != nil {