On 6/12/2023 12:32 PM, Hans van der Meer via ntg-context wrote:
On 12 Jun 2023, at 11:12, Hans Hagen via ntg-context <ntg-context@ntg.nl> wrote:
On 6/12/2023 10:57 AM, Hans van der Meer via ntg-context wrote:
The manual LMTX-primitives on page 21 tells me:
You can explicitly freeze an unfrozen macro.
...
A redefinition will now give: You can't redefine a frozen macro.
But is this true? The following code seems to contradict this:
\def\HOME{myhome}
\writestatus{1}{\meaning\HOME}
\letfrozen\HOME
\writestatus{2}{\meaning\HOME}
\def\HOME{other home}
\writestatus{3}{\meaning\HOME}

Is this mechanism broken? It looks so useful to prevent accidental redefinition!
here i run with
\enabledirectives[overloadmode=error]
(you can do that in cont-sys.mkxl)
\enabledirectives[overloadmode=warning]
Hans
Pity. Now I get on loading the tex file:
"csname overload > fatal error, protection level 4, control sequence 'nbsp',
properties 'immutable', file 't-hvdm-text.tex', line 63
while I had hoped that frozen would give me something like:
illegal attempt to redefine \HOME
Byproduct (not unwanted) the above illegal redefinition to be solved :-)
May I ask why obviously the frozen-mechanism seems (yet?) unimplemented?
It's okay and has been around for quite a while now.
\enabledirectives[overloadmode=error]
\starttext
\frozen\def\HOME{!!!!}
\def\HOME{!!!!!}
\stoptext
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the
Wiki!
maillist : ntg-context@ntg.nl / https://www.ntg.nl/mailman/listinfo/ntg-context
webpage : https://www.pragma-ade.nl / http://context.aanhet.net
archive : https://bitbucket.org/phg/context-mirror/commits/
wiki : https://contextgarden.net
___________________________________________________________________________________