diff --git a/docs/changelog.md b/docs/changelog.md index 9c2b302e..f61c6198 100644 --- a/docs/changelog.md +++ b/docs/changelog.md @@ -34,8 +34,10 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 * Include `scripts/*.py` in the generated source tarballs (#1430). * Ensure lines after heading in loose list are properly detabbed (#1443). * Give smarty tree processor higher priority than toc (#1440). -* Permit carrots (`^`) and square brackets (`]`) but explicitly exclude +* Permit carets (`^`) and square brackets (`]`) but explicitly exclude backslashes (`\`) from abbreviations (#1444). +* In attribute lists (`attr_list`, `fenced_code`), quoted attribute values are + now allowed to contain curly braces (`}`) (#1414). ## [3.5.2] -- 2024-01-10 diff --git a/markdown/extensions/attr_list.py b/markdown/extensions/attr_list.py index 57789d96..4098dc7c 100644 --- a/markdown/extensions/attr_list.py +++ b/markdown/extensions/attr_list.py @@ -72,7 +72,7 @@ def get_attrs_and_remainder(attrs_string: str) -> tuple[list[tuple[str, str]], s should mean that the input does not match the intended attr_list syntax. """ attrs, remainder = _scanner.scan(attrs_string) - # To keep historic behavior, discard all un-parseable text prior to '}'. + # To keep historic behavior, discard all un-parsable text prior to '}'. index = remainder.find('}') remainder = remainder[index:] if index != -1 else '' return attrs, remainder