eeschema: backslash-escaped ${ and @{ prevent other expansions
Description
This might be WAI. If you backslash-escape @ or $ and follow it with a {, subsequent expansions will not happen until the matched }. On the one hand, this makes writing examples easy since only the outer level needs to be "disabled" with an escape. On the other hand, if for some reason you wanted to write ${ without affecting anything else, it's impossible with the currently available syntax, afaikt (attempts to do so by embedding strings in @{ } blocks induce all sorts of strange behavior, but maybe I'm not being creative enough. \@@{"$"}{ for example expands to \@ somehow).
Steps to reproduce
- Create a textbox with
${#} \@{${#} ${#}} ${#} - Result is
1 @{${#} ${#}} 1but perhaps it should be1 @{1 1} 1?
KiCad Version
Application: KiCad Schematic Editor x86_64 on x86_64
Version: 9.99.0-4324-g39cf28d5fd, release build
Libraries:
wxWidgets 3.2.4
FreeType 2.11.1
HarfBuzz 2.7.4
FontConfig 2.13.1
Platform: Ubuntu 22.04.5 LTS, 64 bit, Little endian, wxGTK, X11, xubuntu, x11
OpenGL: Intel, Mesa Intel(R) Graphics (RPL-P), 4.6 (Compatibility Profile) Mesa 23.2.1-1ubuntu3.1~22.04.3
wxWidgets: 3.2.4 (wchar_t,wx containers) GTK+ 3.24
Boost: 1.74.0
OCC: 7.6.3
Curl: 7.81.0
ngspice: 43
Compiler: Clang 20.1.8 with C++ ABI 1002
KICAD_IPC_API=ON
KICAD_USE_PCH=OFF
Locale:
Lang: en_US
Enc: UTF-8
Num: 1,234.5
Encoded кΩ丈: D0BACEA9E4B888 (sys), D0BACEA9E4B888 (utf8)