ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
* Difference in doifinset in MkII and MkIV
@ 2011-09-21  3:20 Aditya Mahajan
  2011-09-21  9:44 ` Wolfgang Schuster
  0 siblings, 1 reply; 5+ messages in thread
From: Aditya Mahajan @ 2011-09-21  3:20 UTC (permalink / raw)
  To: mailing list for ConTeXt users

The following works in MkIV but fails in MkIV:

\unprotect
\def\!!yesandon{yes,on}
\doifinsetelse{yes}\!!yesandon
     {\writestatus{TEST}{YES}}
     {\writestatus{TEST}{NO}}
\protect


This can be fixed by changing the definition

  \def\p!doifinsetelse#1#2#3#4%
    {\donefalse
     \edef\!!stringa{#3}%
     \ifx\!!stringa\empty
     \else
-     \processcommalist[#4]\p!docheckiteminset
+     \processcommacommand[#4]\p!docheckiteminset
     \fi
     \ifdone\expandafter#1\else\expandafter#2\fi}


Can this be changed in syst-gen.mkii?

Thanks,
Aditya

___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Difference in doifinset in MkII and MkIV
  2011-09-21  3:20 Difference in doifinset in MkII and MkIV Aditya Mahajan
@ 2011-09-21  9:44 ` Wolfgang Schuster
  2011-10-15  1:13   ` Aditya Mahajan
  0 siblings, 1 reply; 5+ messages in thread
From: Wolfgang Schuster @ 2011-09-21  9:44 UTC (permalink / raw)
  To: mailing list for ConTeXt users


Am 21.09.2011 um 05:20 schrieb Aditya Mahajan:

> The following works in MkIV but fails in MkIV:
> 
> \unprotect
> \def\!!yesandon{yes,on}
> \doifinsetelse{yes}\!!yesandon

\ExpandSecondAfter\doifinsetelse{yes}\!!yesandon

It’s awkward but this how it works in MkII.

Wolfgang

___________________________________________________________________________________
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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Difference in doifinset in MkII and MkIV
  2011-09-21  9:44 ` Wolfgang Schuster
@ 2011-10-15  1:13   ` Aditya Mahajan
  2011-10-15  8:49     ` Hans Hagen
  0 siblings, 1 reply; 5+ messages in thread
From: Aditya Mahajan @ 2011-10-15  1:13 UTC (permalink / raw)
  To: mailing list for ConTeXt users

[-- Attachment #1: Type: TEXT/PLAIN, Size: 795 bytes --]

On Wed, 21 Sep 2011, Wolfgang Schuster wrote:
> Am 21.09.2011 um 05:20 schrieb Aditya Mahajan:
>
>> The following works in MkIV but fails in MkIV:
>>
>> \unprotect
>> \def\!!yesandon{yes,on}
>> \doifinsetelse{yes}\!!yesandon
>
> \ExpandSecondAfter\doifinsetelse{yes}\!!yesandon
>
> It’s awkward but this how it works in MkII.

\ExpandSecondAfter is MkII only, so I cannot use it for code that is to be 
used in both MkII and MkIV. So, I re-request my original proposal:

in core-gen.mkii

  \def\p!doifinsetelse#1#2#3#4%
    {\donefalse
     \edef\!!stringa{#3}%
     \ifx\!!stringa\empty
     \else
-     \processcommalist[#4]\p!docheckiteminset
+     \processcommacommand[#4]\p!docheckiteminset
     \fi
     \ifdone\expandafter#1\else\expandafter#2\fi}


Aditya

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Difference in doifinset in MkII and MkIV
  2011-10-15  1:13   ` Aditya Mahajan
@ 2011-10-15  8:49     ` Hans Hagen
  2011-10-16  5:51       ` Aditya Mahajan
  0 siblings, 1 reply; 5+ messages in thread
From: Hans Hagen @ 2011-10-15  8:49 UTC (permalink / raw)
  To: mailing list for ConTeXt users

On 15-10-2011 03:13, Aditya Mahajan wrote:
> On Wed, 21 Sep 2011, Wolfgang Schuster wrote:
>> Am 21.09.2011 um 05:20 schrieb Aditya Mahajan:
>>
>>> The following works in MkIV but fails in MkIV:
>>>
>>> \unprotect
>>> \def\!!yesandon{yes,on}
>>> \doifinsetelse{yes}\!!yesandon
>>
>> \ExpandSecondAfter\doifinsetelse{yes}\!!yesandon
>>
>> It’s awkward but this how it works in MkII.
>
> \ExpandSecondAfter is MkII only, so I cannot use it for code that is to
> be used in both MkII and MkIV. So, I re-request my original proposal:
>
> in core-gen.mkii
>
> \def\p!doifinsetelse#1#2#3#4%
> {\donefalse
> \edef\!!stringa{#3}%
> \ifx\!!stringa\empty
> \else
> - \processcommalist[#4]\p!docheckiteminset
> + \processcommacommand[#4]\p!docheckiteminset
> \fi
> \ifdone\expandafter#1\else\expandafter#2\fi}

I cannot oversee the consequences of that.

Can't you wrap your call in

\expanded{\doifinsetelse{...}{...}} {} {}

this should work in both mk's

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
___________________________________________________________________________________


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Difference in doifinset in MkII and MkIV
  2011-10-15  8:49     ` Hans Hagen
@ 2011-10-16  5:51       ` Aditya Mahajan
  0 siblings, 0 replies; 5+ messages in thread
From: Aditya Mahajan @ 2011-10-16  5:51 UTC (permalink / raw)
  To: Hans Hagen; +Cc: mailing list for ConTeXt users

[-- Attachment #1: Type: TEXT/PLAIN, Size: 1202 bytes --]

On Sat, 15 Oct 2011, Hans Hagen wrote:

> On 15-10-2011 03:13, Aditya Mahajan wrote:
>> On Wed, 21 Sep 2011, Wolfgang Schuster wrote:
>>> Am 21.09.2011 um 05:20 schrieb Aditya Mahajan:
>>> 
>>>> The following works in MkIV but fails in MkIV:
>>>> 
>>>> \unprotect
>>>> \def\!!yesandon{yes,on}
>>>> \doifinsetelse{yes}\!!yesandon
>>> 
>>> \ExpandSecondAfter\doifinsetelse{yes}\!!yesandon
>>> 
>>> It’s awkward but this how it works in MkII.
>> 
>> \ExpandSecondAfter is MkII only, so I cannot use it for code that is to
>> be used in both MkII and MkIV. So, I re-request my original proposal:
>> 
>> in core-gen.mkii
>> 
>> \def\p!doifinsetelse#1#2#3#4%
>> {\donefalse
>> \edef\!!stringa{#3}%
>> \ifx\!!stringa\empty
>> \else
>> - \processcommalist[#4]\p!docheckiteminset
>> + \processcommacommand[#4]\p!docheckiteminset
>> \fi
>> \ifdone\expandafter#1\else\expandafter#2\fi}
>
> I cannot oversee the consequences of that.
>
> Can't you wrap your call in
>
> \expanded{\doifinsetelse{...}{...}} {} {}
>
> this should work in both mk's

No. Not without a lot of \noexpand. I'll add a macro that expands to 
\ExpandSecond after in MkII and \relax in MkIV.

Aditya

[-- Attachment #2: Type: text/plain, Size: 485 bytes --]

___________________________________________________________________________________
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
___________________________________________________________________________________

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2011-10-16  5:51 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-09-21  3:20 Difference in doifinset in MkII and MkIV Aditya Mahajan
2011-09-21  9:44 ` Wolfgang Schuster
2011-10-15  1:13   ` Aditya Mahajan
2011-10-15  8:49     ` Hans Hagen
2011-10-16  5:51       ` Aditya Mahajan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).