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
___________________________________________________________________________________

Reply via email to