diff --git a/doc/generic/pgf/CHANGELOG.md b/doc/generic/pgf/CHANGELOG.md index 00038095a..4b465f75e 100644 --- a/doc/generic/pgf/CHANGELOG.md +++ b/doc/generic/pgf/CHANGELOG.md @@ -28,6 +28,10 @@ lot of contributed changes. Thanks to everyone who volunteered their time! case the value is undefined instead of a `\relax`ed csname. It has always been semantically wrong to assign to the result of `\pgfkeysgetvalueof`, but now it will have undesired side-effects. Therefore this change is breaking. +- If `/handler config=full or existing` is active, `/.style={...}` assignments + can now fail if the style is not found in any `.search also` path. Previously, + the style was always set in the first search path, if it was not found in the + currently active path. ### Added @@ -74,6 +78,7 @@ lot of contributed changes. Thanks to everyone who volunteered their time! - Form-only patterns have no specified color #1122 - Make `graphdrawing` work with `name prefix` and `name suffix` options #1087 - pgfkeys was a bit too relaxed around `\relax` #1132 +- Fix `.search also` when `/handler config=full or existing` is active #1143 ### Changed @@ -90,6 +95,7 @@ lot of contributed changes. Thanks to everyone who volunteered their time! - 3geek14 - BeneIII +- Fritz Webering - graue70 - Gábor Braun - Joel Coffman diff --git a/tex/generic/pgf/utilities/pgfkeys.code.tex b/tex/generic/pgf/utilities/pgfkeys.code.tex index f24557f84..9c04c88cc 100644 --- a/tex/generic/pgf/utilities/pgfkeys.code.tex +++ b/tex/generic/pgf/utilities/pgfkeys.code.tex @@ -1006,7 +1006,13 @@ \pgfkeys{/handlers/.expand twice/.code=\expandafter\expandafter\expandafter\pgfkeys@exp@call\expandafter\expandafter\expandafter{#1}} \pgfkeys{/handlers/.expanded/.code=\edef\pgfkeys@temp{#1}\expandafter\pgfkeys@exp@call\expandafter{\pgfkeys@temp}} -\long\def\pgfkeys@exp@call#1{\pgfkeysalso{\pgfkeyscurrentpath={#1}}} +\long\def\pgfkeys@exp@call#1{% + \ifpgfkeysaddeddefaultpath% If the original key was a relative path, do the expanded assignment also with a relative path + \pgfkeys@pathtoks{}% + \expandafter\pgfkeys@splitter\pgfkeyscurrentkeyRAW//% Removes the /.expand* component of the original relative key. + \fi + \pgfkeysalso{\pgfkeyscurrentpath={#1}}% +} \def\pgfkeys@mathparse{% \pgfkeys@ifcsname{pgfmathparse}{%