Hello,
It's ok for me if I compile the Aditya file.
I have another problem with a simple structure. I created the file MyLayout.tex containing the macro and I want to call this macro in the dm1.tex file, but it does not work.
Thank you
Fabrice

#########
MyLayout.tex
#########

% macros=mkvi

\startenvironment MyLayout

\setuplayout
   [header=3\lineheight,
    headerdistance=\lineheight]

\setupbackgrounds
  [header]
  [text]
  [
    frame=off,
    bottomframe=on,
    framecolor=darkgray,
    rulethickness=2pt,
  ]

\defineframed[headerframed]
             [
               frame=off, % For visualization set this to on
               height=fit,
               width=fit,
               location=bottom,
               boffset=\lineheight,
             ]

\starttexdefinition MyHeader #where #day #month #year #title #number #time

    \setupheadertexts
      [{\headerframed[align=middle, foregroundstyle=bold, foregroundcolor=red]
            {#title n\high{o}\,#number}}]

    \setupheadertexts
      [{\headerframed[align=flushleft, foregroundstyle=\ssx]
          {Lycée JANSON DE SAILLY \\ \date[d=#day,m=#month,y=#year]}}]
      [{\headerframed[align=flushright, foregroundstyle=\ssx]
          {#where \\ {#time}}}]

\stoptexdefinition
 
\stopenvironment

######
dm-1.tex
######

\startcomponent dm-1

  \environment MyLayout

  \MyHeader{Seconde}{17}{08}{2017}{Devoir surveillé}{1}{1h\,30m}
 
  \input knuth

\stopcomponent

2017-08-18 18:44 GMT+02:00 Otared Kavian <otared@gmail.com>:
Hi Aditya,

Thanks for having sent the example file: indeed with your file I can typeset the example and see the expected result.
I don’t know what happened when I copied and pasted the example from the e-mail…
I think the command
        % macros = mkvi
was not set correctly written at the first line, that is I had a space before the percent sign « % ». In fact
        %macros=mkvi
or
        %macros = mkvi
work as well.

By the way, wouldn’t be more user friendly, and more in the spirit of ConTeXt, if we had a command saying
        \enablemode[mkvi]
in order to tell ConTeXt that we are using %macros = mkvi ?

Best regards: OK

> On 18 Aug 2017, at 17:54, Aditya Mahajan <adityam@umich.edu> wrote:
>
> On Fri, 18 Aug 2017, Otared Kavian wrote:
>
>> Hi Aditya,
>>
>> I tried to typeset your example, but got an error: whether or not the command
>>      % macros=mkvi
>> is present on the fist line, then ConTeXt complains saying that
>>      ! Illegal parameter number in definition of \MyHeader
>> and stops typesetting pointing to the command \stoptexdefinition.
>
> I am attaching the file. It runs fine here with ConTeXt  ver: 2017.08.14 23:57.
>
> Aditya<frame.tex>___________________________________________________________________________________
> 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://context.aanhet.net
> archive  : https://bitbucket.org/phg/context-mirror/commits/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________

___________________________________________________________________________________
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://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________