status still Open with 3 other changes
by
erikleunissen
2025-02-20 13:07:48.
D 2025-02-20T13:07:48.775
J comment The\sscript\sbelow\sexercises\stwo\sdifferent\sinexplicable\sissues:\r\n\r\n1.\s(Cases\sA1+B1\sbelow)\r\n\s\s\sThe\svariable\sx\sis\sunset,\sthe\strace\scallback\sredefines\sx,\sbut\sx\sdoes\snot\r\n\s\s\sbecome\svisible.\sOnly\sif\sthe\scallback\scommand\sis\scalled\sanother\stime\r\n\s\s\s(directly),\sthe\snamespace\svariable\sbecomes\svisible\sagain.\r\n\r\n2.\s(Case\sA2)\r\n\s\s\sThe\snamespace\svariable\s(with\sthe\ssame\sinitial\svisibility\sas\scase\sA1)\sis\r\n\s\s\sunset\sbut\sthis\sdoes\snot\strigger\sthe\scallback\scommand.\r\n\r\n--\r\n\r\nnamespace\seval\s::child\s{\r\n\s\s\s\svariable\sx\r\n\s\s\s\sproc\scallback\s{args}\s{\r\n\tif\s{[llength\s$args]\s>\s0}\s{\r\n\t\s\s\s\sputs\s"Callback\striggered\sby\sunset\strace"\r\n\t}\selse\s{\r\n\t\s\s\s\sputs\s"Callback\sinvoked\sdirectly\s(not\sas\sa\strace\scallback)"\r\n\t}\r\n\tvariable\sx;\s#\srestore\snamespace\svariable\r\n\s\s\s\s}\r\n\s\s\s\strace\sadd\svariable\sx\sunset\s[list\s::child::callback]\r\n}\r\n\r\n#\sExperiment\swith\sdifferent\sinvocations\sof\sthe\scallback\sproc\r\n\r\n#\sCase\s0:\sInitial\svisibility\sof\sthe\snamespace\svariable\r\nputs\s"O.\sInitial\ssituation\\n|[namespace\sinscope\s::child\s[list\sinfo\svars\sx]]|"\r\n\r\n#\sCase\sA1.\slet\s"unset"\strigger\sthe\scallback\r\nputs\s-nonewline\s"\\nA1.\s"\r\nnamespace\sinscope\s::child\s{unset\s-nocomplain\sx}\r\nputs\s"|[namespace\sinscope\s::child\s[list\sinfo\svars\sx]]|"\r\n\r\n#\sCase\sB1.\sinvoke\s"callback"\sdirectly,\si.e.\snot\sas\sa\scallback\scommand\r\nputs\s-nonewline\s"\\nB1.\s"\r\n::child::callback\r\nputs\s"|[namespace\sinscope\s::child\s[list\sinfo\svars\sx]]|"\r\n\r\n#\sRepeat\sA.\sand\sB.\sand\ssee\sthe\sdifferent\sresults\r\n\r\n#\sCase\sA2:\sshould\strigger\sthe\scallback\sas\sin\sA1,\sbut\sit\sdoesn't\r\nputs\s-nonewline\s"\\nA2.\s"\r\nnamespace\sinscope\s::child\s{unset\s-nocomplain\sx}\r\nputs\s"|[namespace\sinscope\s::child\s[list\sinfo\svars\sx]]|"\r\n\r\n#\sCase\sB2:\sas\sB1\r\nputs\s-nonewline\s"\\nB2.\s"\r\n::child::callback\r\nputs\s"|[namespace\sinscope\s::child\s[list\sinfo\svars\sx]]|"\r\n\r\n--\r\n\r\nResults:\r\n-------\r\n\r\nO.\sInitial\ssituation\r\n|x|\r\n\r\nA1.\sCallback\striggered\sby\sunset\strace\r\n||\r\n\r\nB1.\sCallback\sinvoked\sdirectly\s(not\sas\sa\strace\scallback)\r\n|x|\r\n\r\nA2.\s||\r\n\r\nB2.\sCallback\sinvoked\sdirectly\s(not\sas\sa\strace\scallback)\r\n|x|\r\n\r\n--\send\sof\smessage\s--
J login erikleunissen
J mimetype text/plain
K 58fa7cc7f88d70c467ccf57fac9dbc532509277f
U erikleunissen
Z 1ee8a7f2dda4ba4b0bee6fd8487124fb