diff options
author | Hans Hagen <pragma@wxs.nl> | 2018-04-13 15:51:39 +0200 |
---|---|---|
committer | Context Git Mirror Bot <phg42.2a@gmail.com> | 2018-04-13 15:51:39 +0200 |
commit | 25fcad7435f56cdce2658336909f4da6a65589c0 (patch) | |
tree | c23d5d04a7e86c7ddc2ebeca06d3de63ebdc806e /tex/context/base/mkiv/syst-aux.mkiv | |
parent | 1e5d7f41ddede5e6400a2a7762032823d3545df4 (diff) | |
download | context-25fcad7435f56cdce2658336909f4da6a65589c0.tar.gz |
2018-04-13 15:02:00
Diffstat (limited to 'tex/context/base/mkiv/syst-aux.mkiv')
-rw-r--r-- | tex/context/base/mkiv/syst-aux.mkiv | 57 |
1 files changed, 44 insertions, 13 deletions
diff --git a/tex/context/base/mkiv/syst-aux.mkiv b/tex/context/base/mkiv/syst-aux.mkiv index 77f947753..ee5761af0 100644 --- a/tex/context/base/mkiv/syst-aux.mkiv +++ b/tex/context/base/mkiv/syst-aux.mkiv @@ -491,8 +491,6 @@ %D \type {\def} comes into action. This way the space after \type {\:} becomes a %D delimiter of the longer named \type {\reinspectnextcharacter}. -% try: \expandafter\def\firstofoneargument{\syst_helpers_reinspect_next_character} {...} - \let\next\: \def\:{\let\blankspace= } \: @@ -514,6 +512,31 @@ \let\:\next +%D This is much nicer and works too: + +% \def\firstofoneargument#1{#1} +% +% \expandafter\let\firstofoneargument{\blankspace= } +% +% \expandafter\def\firstofoneargument{\syst_helpers_reinspect_next_character +% } {\let\if_next_blank_space_token\iftrue +% \futurelet\nexttoken\syst_helpers_inspect_next_character} +% +% \expandafter\def\firstofoneargument{\syst_helpers_reinspect_next_optional_character +% } {\let\if_next_blank_space_token\iftrue +% \futurelet\nexttoken\syst_helpers_inspect_next_optional_character} +% +% \expandafter\def\firstofoneargument{\syst_helpers_reinspect_next_bgroup_character +% } {\let\if_next_blank_space_token\iftrue +% \futurelet\nexttoken\syst_helpers_inspect_next_bgroup_character} +% +% \expandafter\def\firstofoneargument{\syst_helpers_reinspect_next_parenthesis_character +% } {\let\if_next_blank_space_token\iftrue +% \futurelet\nexttoken\syst_helpers_inspect_next_parenthesis_character} +% +% \expandafter\def\firstofoneargument{\syst_helpers_ignore_spacing_blankspace +% } {\futurelet\nexttoken\syst_helpers_ignore_spacing} + %D \macros %D {setvalue,setgvalue,setevalue,setxvalue, %D letvalue,letgvalue,getvalue,resetvalue, @@ -3183,17 +3206,25 @@ %D Apart from the prefixes, a few more \type{\expandafters} %D are needed: -\unexpanded\def\newif#1% - {\privatescratchcounter\escapechar - \escapechar\minusone - \expandafter\expandafter\expandafter - \redoglobal\expandafter\expandafter\expandafter - \edef\@if#1{true}{\let\noexpand#1\noexpand\iftrue}% - \expandafter\expandafter\expandafter - \redoglobal\expandafter\expandafter\expandafter - \edef\@if#1{false}{\let\noexpand#1\noexpand\iffalse}% - \dodoglobal\@if#1{false}% - \escapechar\privatescratchcounter} +% \unexpanded\def\newif#1% uses the original plain \@if +% {\privatescratchcounter\escapechar +% \escapechar\minusone +% \expandafter\expandafter\expandafter +% \redoglobal\expandafter\expandafter\expandafter +% \edef\@if#1{true}{\let\noexpand#1\noexpand\iftrue}% +% \expandafter\expandafter\expandafter +% \redoglobal\expandafter\expandafter\expandafter +% \edef\@if#1{false}{\let\noexpand#1\noexpand\iffalse}% +% \dodoglobal\@if#1{false}% +% \escapechar\privatescratchcounter} + +\normalprotected\def\newif#1% see syst-ini.mkiv + {\let\new_if_saved\newif + \let\newif\new_if_check + \expandafter\redoglobal\expandafter\def\csname\expandafter\newif\csstring#1true\endcsname {\let#1\iftrue }% + \expandafter\redoglobal\expandafter\def\csname\expandafter\newif\csstring#1false\endcsname{\let#1\iffalse}% + \dodoglobal\csname\expandafter\newif\csstring#1false\endcsname + \let\newif\new_if_saved} %D Also new: |