hi, 
 I compiled the following code, 

\setuplayout [leftmargin=4cm,
              backspace=5cm]

\define[3]\FancyEntry {
    \ifnum\structurelistrealpagenumber=\realpageno\relax SAME \else OTHER \fi PAGE
    \blank[medium]
    \doifelse \rawstructurelistfirst \MyMark

      {\color[red] {#1 = \MyMark}}
      {\color[blue]{#1 = \MyMark}}
    \blank[medium]
}

\definelist[MyTopics][criterium=all]

\def\MyMark{}

\def\Topic%
  {\dosingleargument\doTopic}

\def\doTopic[#1]{%
  \def\MyMark{#1}%
  \writetolist[MyTopics]{#1}{}%
}

\setuplist[MyTopics]
          [pagenumber=no,
           alternative=command,
           command=\FancyEntry]

\setuptexttexts[margin][\vbox{\placelist[MyTopics]}][]

\starttext

\Topic[First]

First Topic

\page

\Topic[Second]

Second Topic

\stoptext

but I can not get the right pdf, please check the attachment!

context  version: 2013.01.08 01:19
LuaTeX, Version beta-0.74.0-2012122510

  Thanks!

BEST REGARDS
PengCZ


2013/1/9 Hans Hagen <pragma@wxs.nl>
On 1/8/2013 11:26 PM, Thomas A. Schmitz wrote:

\define[3]\FancyEntry
  {\doifelse{#1}{\MyMark}%
     {\color[red]{#1 = \MyMark}\blank[medium]}
     {\color[blue]{#1 = \MyMark}\blank[medium]}
}

When you're back in teaching mode I'll tell you how to do it properly, so here's a quick hack:

\define[3]\FancyEntry {
    \ifnum\structurelistrealpagenumber=\realpageno\relax SAME \else OTHER \fi PAGE
    \blank[medium]
    \doifelse \rawstructurelistfirst \MyMark

      {\color[red] {#1 = \MyMark}}
      {\color[blue]{#1 = \MyMark}}
    \blank[medium]
}

In your case you compare an unexpandable macro with a regular one so that will always be false.

Last year the list macros became more flexible and more properties are available as either unexpandable or expandable macro

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
    tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com
                                             | 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 / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________