summaryrefslogtreecommitdiffstats
path: root/testing
diff options
context:
space:
mode:
Diffstat (limited to 'testing')
-rw-r--r--testing/058/058__bracket__recursion_8tcl.xml354
-rw-r--r--testing/058_bracket_recursion.tcl141
2 files changed, 495 insertions, 0 deletions
diff --git a/testing/058/058__bracket__recursion_8tcl.xml b/testing/058/058__bracket__recursion_8tcl.xml
new file mode 100644
index 0000000..da0168d
--- /dev/null
+++ b/testing/058/058__bracket__recursion_8tcl.xml
@@ -0,0 +1,354 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="">
+ <compounddef id="058__bracket__recursion_8tcl" kind="file">
+ <compoundname>058_bracket_recursion.tcl</compoundname>
+ <sectiondef kind="func">
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>Invoked</definition>
+ <argsstring>args</argsstring>
+ <name>Invoked</name>
+ <briefdescription>
+ <para>should be reference by every proc below </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="10" bodyend="13"/>
+ <referencedby refid="058__bracket__recursion_8tcl_1ab08ae027fc5777bc4f0629f1b60b35db" compoundref="058__bracket__recursion_8tcl" startline="22" endline="25">a</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a68bdb74c144118d936931c46f75d4b3e" compoundref="058__bracket__recursion_8tcl" startline="28" endline="32">b</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1ab14f56bc3bd7680490ece4ad7815465f" compoundref="058__bracket__recursion_8tcl" startline="33" endline="37">c</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1af43f4b1f0064a33b2d662af9f06d3a00" compoundref="058__bracket__recursion_8tcl" startline="38" endline="42">d</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1aff65a51a703804e0ad1adbcfd76c86f8" compoundref="058__bracket__recursion_8tcl" startline="43" endline="46">e</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1af6830d2c644b45088ea8f1f74a46b778" compoundref="058__bracket__recursion_8tcl" startline="47" endline="50">f</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1af08b4b5bfa9edf0b0a7dee1c2b2c29e0" compoundref="058__bracket__recursion_8tcl" startline="51" endline="55">g</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1af96fd0966e32a310a0778d2e5c357700" compoundref="058__bracket__recursion_8tcl" startline="56" endline="59">h</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a8c90afd4641b25be86bd09983c3cbee0" compoundref="058__bracket__recursion_8tcl" startline="64" endline="68">i</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a2aaa92757686acea102cba3475f0c13b" compoundref="058__bracket__recursion_8tcl" startline="69" endline="73">j</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a20363f854eb4098a446733d63d34dbc1" compoundref="058__bracket__recursion_8tcl" startline="74" endline="77">k</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1aff56f84b49947b84b2a304f51cf8e678" compoundref="058__bracket__recursion_8tcl" startline="78" endline="81">l</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a78d127e8bda64d4471ac811ad512fbd9" compoundref="058__bracket__recursion_8tcl" startline="82" endline="85">m</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1acdde3cd86eb2421ce8dbb2e85227d368" compoundref="058__bracket__recursion_8tcl" startline="86" endline="89">n</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a495e7a4ede0831107e9d435080a7c268" compoundref="058__bracket__recursion_8tcl" startline="90" endline="94">o</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a15229b450f26d8fa1c10bea4f3279f4d" compoundref="058__bracket__recursion_8tcl" startline="102" endline="107">p</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1ab678a0a9a7e94bce5b17141f40220d88" compoundref="058__bracket__recursion_8tcl" startline="108" endline="114">q</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a0a0bd3dc69dd06934c4e6362155e0ace" compoundref="058__bracket__recursion_8tcl" startline="115" endline="120">r</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a011c73f2dbb87635a3b4206c72355f6e" compoundref="058__bracket__recursion_8tcl" startline="121" endline="126">s</referencedby>
+ <referencedby refid="058__bracket__recursion_8tcl_1a69e959f6901827e4d8271aeaa5fba0fc" compoundref="058__bracket__recursion_8tcl" startline="128" endline="131">t</referencedby>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a3f55465410c57ed00ab28827a741b1c3" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>NotInvoked</definition>
+ <argsstring>args</argsstring>
+ <name>NotInvoked</name>
+ <briefdescription>
+ <para>must not be reference by every proc below </para>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="16" bodyend="19"/>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1ab08ae027fc5777bc4f0629f1b60b35db" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>a</definition>
+ <argsstring>args</argsstring>
+ <name>a</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="22" bodyend="25"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a68bdb74c144118d936931c46f75d4b3e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>b</definition>
+ <argsstring>args</argsstring>
+ <name>b</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="28" bodyend="32"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1ab14f56bc3bd7680490ece4ad7815465f" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>c</definition>
+ <argsstring>args</argsstring>
+ <name>c</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="33" bodyend="37"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1af43f4b1f0064a33b2d662af9f06d3a00" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>d</definition>
+ <argsstring>args</argsstring>
+ <name>d</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="38" bodyend="42"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1aff65a51a703804e0ad1adbcfd76c86f8" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>e</definition>
+ <argsstring>args</argsstring>
+ <name>e</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="43" bodyend="46"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1af6830d2c644b45088ea8f1f74a46b778" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>f</definition>
+ <argsstring>args</argsstring>
+ <name>f</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="47" bodyend="50"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1af08b4b5bfa9edf0b0a7dee1c2b2c29e0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>g</definition>
+ <argsstring>args</argsstring>
+ <name>g</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="51" bodyend="55"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1af96fd0966e32a310a0778d2e5c357700" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>h</definition>
+ <argsstring>args</argsstring>
+ <name>h</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="56" bodyend="59"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a8c90afd4641b25be86bd09983c3cbee0" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>i</definition>
+ <argsstring>args</argsstring>
+ <name>i</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="64" bodyend="68"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a2aaa92757686acea102cba3475f0c13b" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>j</definition>
+ <argsstring>args</argsstring>
+ <name>j</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="69" bodyend="73"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a20363f854eb4098a446733d63d34dbc1" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>k</definition>
+ <argsstring>args</argsstring>
+ <name>k</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="74" bodyend="77"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1aff56f84b49947b84b2a304f51cf8e678" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>l</definition>
+ <argsstring>args</argsstring>
+ <name>l</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="78" bodyend="81"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a78d127e8bda64d4471ac811ad512fbd9" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>m</definition>
+ <argsstring>args</argsstring>
+ <name>m</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="82" bodyend="85"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1acdde3cd86eb2421ce8dbb2e85227d368" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>n</definition>
+ <argsstring>args</argsstring>
+ <name>n</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="86" bodyend="89"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a495e7a4ede0831107e9d435080a7c268" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>o</definition>
+ <argsstring>args</argsstring>
+ <name>o</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="90" bodyend="94"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a8a57650834f5708d404e9c386b2edf87" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>$NotInvoked</definition>
+ <argsstring>args</argsstring>
+ <name>$NotInvoked</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="98" bodyend="101"/>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a15229b450f26d8fa1c10bea4f3279f4d" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>p</definition>
+ <argsstring>args</argsstring>
+ <name>p</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="102" bodyend="107"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1ab678a0a9a7e94bce5b17141f40220d88" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>q</definition>
+ <argsstring>args</argsstring>
+ <name>q</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="108" bodyend="114"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a0a0bd3dc69dd06934c4e6362155e0ace" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>r</definition>
+ <argsstring>args</argsstring>
+ <name>r</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="115" bodyend="120"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a011c73f2dbb87635a3b4206c72355f6e" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>s</definition>
+ <argsstring>args</argsstring>
+ <name>s</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="121" bodyend="126"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ <memberdef kind="function" id="058__bracket__recursion_8tcl_1a69e959f6901827e4d8271aeaa5fba0fc" prot="public" static="no" const="no" explicit="no" inline="no" virt="non-virtual">
+ <type/>
+ <definition>t</definition>
+ <argsstring>args</argsstring>
+ <name>t</name>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <inbodydescription>
+ </inbodydescription>
+ <location file="058_bracket_recursion.tcl" bodystart="128" bodyend="131"/>
+ <references refid="058__bracket__recursion_8tcl_1aa889853547f65a22ae133cd57ff89601" compoundref="058__bracket__recursion_8tcl" startline="10" endline="13">Invoked</references>
+ </memberdef>
+ </sectiondef>
+ <briefdescription>
+ </briefdescription>
+ <detaileddescription>
+ </detaileddescription>
+ <location file="058_bracket_recursion.tcl"/>
+ </compounddef>
+</doxygen>
diff --git a/testing/058_bracket_recursion.tcl b/testing/058_bracket_recursion.tcl
new file mode 100644
index 0000000..0a07087
--- /dev/null
+++ b/testing/058_bracket_recursion.tcl
@@ -0,0 +1,141 @@
+#// objective: tests processing of commands inside brackets [], only references/referencedby relations are relevant
+#// check: 058__bracket__recursion_8tcl.xml
+#// config: REFERENCED_BY_RELATION = yes
+#// config: REFERENCES_RELATION = yes
+#// config: EXTRACT_ALL = yes
+#// config: INLINE_SOURCES = yes
+
+##
+# \brief should be reference by every proc below
+proc Invoked args {
+ puts "Procedure \"Invoked\" is invoked indeed. Ok."
+ return $args
+}
+##
+# \brief must not be reference by every proc below
+proc NotInvoked args {
+ puts "Procedure \"NotInvoked\" is invoked. Not Ok!"
+ return $args
+}
+#
+# check if call references work at all
+proc a args {
+ Invoked NotInvoked
+ return
+}
+#
+# check brackets with various quoting, bracing
+proc b args {
+ set r [Invoked]
+ set r [list \[NotInvoked \]]
+ return
+}
+proc c args {
+ set r \{[Invoked]\}
+ set r {[NotInvoked]}
+ return
+}
+proc d args {
+ set r "[Invoked]"
+ set r "\[NotInvoked \]"
+ return
+}
+proc e args {
+ set r [list \[NotInvoked [Invoked]\]]
+ return
+}
+proc f args {
+ set r [list [Invoked \[NotInvoked \]]]
+ return
+}
+proc g args {
+ set r "{[Invoked]}"
+ set r "{\[NotInvoked \]}"
+ return
+}
+proc h args {
+ [Invoked set] r {[NotInvoked]}
+ return
+}
+# check brackets in tcl commands containing script arguments
+#
+# example generated according to
+# https://groups.google.com/d/msg/comp.lang.tcl/G5-mc3GiIyY/e-AVD9t7xMkJ
+proc i args {
+ foreach item [Invoked] {
+ return
+ }
+}
+proc j args {
+ foreach [Invoked item] [list one two three] {
+ }
+ return
+}
+proc k args {
+ while {[Invoked 0]} {
+ }
+}
+proc l args {
+ for {} {[Invoked 0]} {} {
+ }
+}
+proc m args {
+ if {[Invoked 1]} {
+ }
+}
+proc n args {
+ if [Invoked 1] {
+ }
+}
+proc o args {
+ if {0} {
+ } elseif {[Invoked 0]} {
+ }
+}
+# these are really nasty examples
+# they shows, that the condition argument may not be parsed as a script
+set NotInvoked \$NotInvoked
+proc $NotInvoked args {
+ puts "Procedure \"\$NotInvoked\" is invoked. Not Ok!"
+ return $args
+}
+proc p args {
+ set NotInvoked \$NotInvoked
+ if {$NotInvoked eq [Invoked 1]} {
+ }
+ return
+}
+proc q args {
+ set NotInvoked \$NotInvoked
+ if {0} {
+ } elseif {$NotInvoked eq [Invoked 1]} {
+ }
+ return
+}
+proc r args {
+ set NotInvoked \$NotInvoked
+ while {$NotInvoked eq [Invoked 1]} {
+ }
+ return
+}
+proc s args {
+ set NotInvoked \$NotInvoked
+ for {} {$NotInvoked eq [Invoked 1]} {} {
+ }
+ return
+}
+# dangling open brackets should not confuse the scanner
+proc t args {
+ set foo ]]]][Invoked]
+ return
+}
+
+#
+# call all single letter procs
+# let tcl check what is called and what is not called
+foreach p [info procs ?] {
+ puts "Check procedure \"$p\""
+ $p
+}
+exit
+