# [NTG-context] \doassign variable - updates not picked up

Wolfgang Schuster wolfgang.schuster.lists at gmail.com
Fri Jan 22 23:46:56 CET 2021

Werner Hennrich schrieb am 22.01.2021 um 09:48:
> Hello everyone,
>
> I'm using ConTeXt  (ver: 2020.09.20 23:02 LMTX) and have to have
> conditional page headers based on specific content criteria. To achive
> this I'd like to get some global variables in TeX, change their values
> several times throughout the document and have my macro for the header
> read them and act accordingly (like skip the header at all, change a
> color, etc).
>
> As a basis for this I established the following pattern in an iolated
> test case:
>
>     }
>     \stopsetups
>     \starttext
>     page: 1
>     \page
>     page: 2
>     \page
>     page: 3
>     \page
>     page: 4
>     \page
>     page: 5
>     \stoptext
>
> This works as expected and the header-macro prints the updated value.
> But when I put the same pattern in my big environment-file, I can see
> the variable being updated with different values (console), but the
> header always puts out just the variable's initial value - so the
> Peeking into console, log & tuc didn't raise any idea yet as to what is
> going wrong...
>
> Any idea what is happening and how I can fix this?

I guess you set the value in a local group and at the end of the group
your setting is forgotten, a simple change you can make is to replace
\doassign with \getgparameters which makes global settings.

A alternative to your current approach is to use the variables mechanism
to set and access values (you still have to ensure all values you set
are global).

\starttext

Page 1

\page