From 695613d847705c7c7f4f308722e8c2a67099d944 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Thu, 21 Jul 2005 00:00:00 +0200 Subject: stable 2005.07.21 --- scripts/context/ruby/base/tex.rb | 16 ++++---- tex/context/base/context.tex | 2 +- tex/context/base/core-des.tex | 82 +++++++++++++++++++++------------------ tex/context/base/core-mis.tex | 26 ++++++++----- tex/context/base/core-sys.tex | 4 +- tex/context/base/supp-pdf.tex | 12 ++++++ tex/context/base/unic-032.tex | 2 +- tex/context/base/xtag-ini.tex | 3 +- tex/context/interface/keys-cz.xml | 2 +- tex/context/interface/keys-de.xml | 2 +- tex/context/interface/keys-en.xml | 2 +- tex/context/interface/keys-it.xml | 2 +- tex/context/interface/keys-nl.xml | 2 +- tex/context/interface/keys-ro.xml | 2 +- 14 files changed, 92 insertions(+), 67 deletions(-) diff --git a/scripts/context/ruby/base/tex.rb b/scripts/context/ruby/base/tex.rb index 8ff7d682f..382b5aa73 100644 --- a/scripts/context/ruby/base/tex.rb +++ b/scripts/context/ruby/base/tex.rb @@ -1205,8 +1205,8 @@ class TEX if getvariable('simplerun') || runonce then makeoptionfile(jobname,orisuffix,true,true,3) - problems = runtex(File.suffixed(jobname,jobsuffix)) - unless problems then + ok = runtex(File.suffixed(jobname,jobsuffix)) + if ok then ok = runtexutil(jobname) if getvariable('texutil') || getvariable('forcetexutil') runbackend(jobname) popresult(jobname,result) @@ -1245,16 +1245,16 @@ class TEX end end ok = runtexutil(jobname) if (nofruns == 1) && getvariable('texutil') - if ! problems && finalrun && (nofruns > 1) then + if ok && finalrun && (nofruns > 1) then makeoptionfile(jobname,orisuffix,true,finalrun,4) report("final TeX run #{texruns}") - problems = runtex(File.suffixed(jobname,jobsuffix)) + ok = runtex(File.suffixed(jobname,jobsuffix)) end File.silentcopy(File.suffixed(jobname,'top'),File.suffixed(jobname,'tmp')) ['tup','top'].each do |s| # previous tuo file / runtime option file File.silentdelete(File.suffixed(jobname,s)) end - unless problems then + if ok then runbackend(jobname) popresult(jobname,result) end @@ -1264,11 +1264,11 @@ class TEX when 'latex' then - problems = runtex(File.suffixed(jobname,jobsuffix)) + ok = runtex(File.suffixed(jobname,jobsuffix)) else - problems = runtex(File.suffixed(jobname,jobsuffix)) + ok = runtex(File.suffixed(jobname,jobsuffix)) end @@ -1278,7 +1278,7 @@ class TEX report("unable to delete stub file") end - if ! problems && getvariable('autopdf') then + if ok && getvariable('autopdf') then PDFview.open(File.suffixed(if result.empty? then jobname else result end,'pdf')) end diff --git a/tex/context/base/context.tex b/tex/context/base/context.tex index 481fcffbe..7e88bb7cc 100644 --- a/tex/context/base/context.tex +++ b/tex/context/base/context.tex @@ -31,7 +31,7 @@ %D 2004.8.30 the low level interface is english. Watch out and adapt %D your styles an modules. -\def\contextversion{2005.07.20} +\def\contextversion{2005.07.21} %D Welcome to the main module. When this module is ran through %D \type{initex} or \type {tex -i} or \type {whatevertex} using diff --git a/tex/context/base/core-des.tex b/tex/context/base/core-des.tex index 8c4da5ecc..84a2d8d64 100644 --- a/tex/context/base/core-des.tex +++ b/tex/context/base/core-des.tex @@ -36,7 +36,7 @@ \newbox\@@descriptionbox -\def\descriptionparameter#1{\csname\??dd\currentdescription#1\endcsname} +\def\descriptionparameter #1{\csname\??dd\currentdescription#1\endcsname} \def\@@descriptionhandler{\descriptionparameter{\s!do\c!command}} @@ -372,7 +372,9 @@ \c!indenting,\c!indentnext,\c!align,\c!text,\c!distance,\c!command]% \getparameters[\??dd#1] [\s!do\c!state=\v!stop,\s!do\c!command=\normal@@descriptionhandler,\c!level=,#2]% - \doifvalue{\??dd#1\c!location}\v!top{\doassign[\??dd#1][\c!inbetween=\blank]}% +% \doifvalue{\??dd#1\c!location}\v!top{\doassign[\??dd#1][\c!inbetween=\blank]}% + \doifvalue{\??dd#1\c!location}\v!top % we actually need more granularity + {\doifnotvalue{\??dd#1\c!inbetween}{\doassign[\??dd#1][\c!inbetween=\blank]}}% \setvalue {#1}{\dodoubleempty\@@description[#1]}% \setvalue{\e!start#1}{\dodoubleempty\@@startdescription[#1]}% \setvalue{\e!stop #1}{\@@stopdescription{#1}}}% @@ -380,41 +382,43 @@ \def\definedescription {\dodoubleemptywithset\dodefinedescription} +% voorlopig handhaven ! ! ! ! +% % \def\showdnpuretext#1% % {\strut\getvalue{\??dd#1\c!text}} % geen spatie - +% % \def\showdntext#1% % {\doifelsevaluenothing{\??dd#1\c!text} % {\ignorespaces} % {\strut % \getvalue{\??dd#1\c!text}% % \removeunwantedspaces\fixedspace}} - +% % \def\showdnnumber#1% % {\preparednumber % \convertednumber[\getvalue{\??dd#1\??dd\c!number}]} - +% % \def\showdnsubnumber#1% % {\showdnnumber{#1}% % \getvalue{\??dd#1\c!separator}% % \convertednumber[\v!sub\getvalue{\??dd#1\??dd\c!number}]} - +% % \def\showdnsubsubnumber#1% % {\showdnsubnumber{#1}% % \getvalue{\??dd#1\c!separator}% % \convertednumber[\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} - +% % \def\showdnsubsubsubnumber#1% % {\showdnsubsubnumber{#1}% % \getvalue{\??dd#1\c!separator}% % \convertednumber[\v!sub\v!sub\v!sub\getvalue{\??dd#1\??dd\c!number}]} - +% % \def\domakednnumber#1#2#3% % {\getvalue{\??dd#2#1\c!left}% % \strut#3{#1}% % \getvalue{\??dd#2#1\c!stopper}% % \getvalue{\??dd#2#1\c!right}} - +% % \def\special@@descriptionhandler#1#2#3#4[#5]#6#7% % {\strut % \doifelsevalue{\??dd#1\c!number}\v!no @@ -472,73 +476,73 @@ % {\noexpand\getvalue{\??dd#1\c!command}{\!!stringa}}}% % \doifnot{#5}{-}{\rawreference\s!num{#5}{}}% % \fi} - +% % \setvalue{\??dd\s!set\v!sub\s!sub\s!sub\c!number}#1% % {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% % \setnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} - +% % \setvalue{\??dd\s!set\v!sub\s!sub\c!number}#1% % {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% % \setnumber[\v!sub\v!sub\@@descriptionnumber]} - +% % \setvalue{\??dd\s!set\v!sub\c!number}#1% % {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% % \setnumber[\v!sub\@@descriptionnumber]} - +% % \setvalue{\??dd\s!set\c!number}#1% % {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% % \setnumber[\@@descriptionnumber]} - +% % \setvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}#1% % {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% % \resetnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]} - +% % \setvalue{\??dd\s!reset\v!sub\v!sub\c!number}#1% % {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% % \resetnumber[\v!sub\v!sub\@@descriptionnumber]} - +% % \setvalue{\??dd\s!reset\v!sub\c!number}#1% % {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% % \resetnumber[\v!sub\@@descriptionnumber]} - +% % \setvalue{\??dd\s!reset\c!number}#1% % {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% % \resetnumber[\@@descriptionnumber]} - +% % \setvalue{\??dd\e!next\v!sub\v!sub\v!sub\c!number}[#1][#2]% % {\edef\@@descriptionnumber{\getvalue{\??dd#1\??dd\c!number}}% % \incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]% % \rawreference\s!num{#2}{\showdnsubsubsubnumber{\@@descriptionnumber}}}% - +% % \setvalue{\??dd\e!next\v!sub\v!sub\c!number}[#1][#2]% % {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% % \incrementnumber[\v!sub\v!sub\@@descriptionnumber]% % \rawreference\s!num{#2}{\showdnsubsubnumber{\@@descriptionnumber}}} - +% % \setvalue{\??dd\e!next\v!sub\c!number}[#1][#2]% % {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% % \incrementnumber[\v!sub\@@descriptionnumber]% % \rawreference\s!num{#2}{\showdnsubnumber{\@@descriptionnumber}}} - +% % \setvalue{\??dd\e!next\c!number}[#1][#2]% % {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% % \incrementnumber[\@@descriptionnumber]% % \rawreference\s!num{#2}{\showdnnumber{\@@descriptionnumber}}} - +% % \def\dodosetupenumerations[#1][#2]% % {\getparameters[\??dd#1][#2]% % \doifdefined{\??dd#1\c!start} % {\setupnumber[#1][\c!start=\getvalue{\??dd#1\c!start}]}% % \setupnumber[#1][\c!conversion=\getvalue{\??dd#1\c!conversion}]} - +% % \def\dosetupenumerations[#1][#2]% % {\ConvertToConstant\doifelse{#2}{} % {\getparameters[\??dn][#1]} % {\dodoubleargumentwithset\dodosetupenumerations[#1][#2]}} - +% % \def\setupenumerations % {\dodoubleempty\dosetupenumerations} - +% % \def\dododefineenumeration#1#2#3[#4][#5]#6% % {\makecounter{\??dd\c!coupling#1}% new: global cross linking % \dodefinedescription[#3#1]% @@ -581,23 +585,23 @@ % \setvalue{\s!set #3#1}{\dosetenumerationnumber[#1][#3]}% % \setvalue{\s!reset#3#1}{\doresetenumerationnumber[#1][#3]}% % \setvalue{\e!next #3#1}{\dotripleempty\donextenumerationnumber[#1][#3]}} - +% % \def\doresetenumerationnumber[#1][#2]% % {\getvalue{\??dd\s!reset#2\c!number}{#1}}% - +% % \def\dosetenumerationnumber[#1][#2]% % {\getvalue{\??dd\s!set#2\c!number}{#1}}% - +% % \def\donextenumerationnumber[#1][#2]% % {\pluscounter{\??dd\c!coupling#1}% new: global crosslinking % \getvalue{\??dd\e!next#2\c!number}[#1]}% - +% % \def\dodefineenumeration[#1][#2][#3]% % {\dododefineenumeration{#1}{1}{}[#2][#3]\showdnnumber % \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]\showdnsubnumber % \dododefineenumeration{#1}{3}{\v!sub\v!sub}[#2][#3]\showdnsubsubnumber % \dododefineenumeration{#1}{4}{\v!sub\v!sub\v!sub}[#2][#3]\showdnsubsubsubnumber} - +% % \def\defineenumeration % {\dotripleemptywithset\dodefineenumeration} @@ -676,7 +680,7 @@ % maybe recursive until end condition undefined \setvalue{showdn\c!number}% - {%\preparednumber + {\preparednumber \convertednumber[\currentdescriptionnumber]} \setvalue{showdn\v!sub\c!number}% @@ -735,22 +739,22 @@ \setvalue{\??dd\e!next\v!sub\v!sub\v!sub\c!number}[#1]% {\edef\@@descriptionnumber{\currentdescriptionnumber}% \incrementnumber[\v!sub\v!sub\v!sub\@@descriptionnumber]% - \rawreference\s!num{#1}{\showdnsubsubsubnumber{\@@descriptionnumber}}}% + \rawreference\s!num{#1}{\getvalue{showdn\v!sub\v!sub\v!sub\c!number}}}% \setvalue{\??dd\e!next\v!sub\v!sub\c!number}[#1]% {\getvalue{\??dd\s!reset\v!sub\v!sub\v!sub\c!number}{#1}% \incrementnumber[\v!sub\v!sub\@@descriptionnumber]% - \rawreference\s!num{#1}{\showdnsubsubnumber{\@@descriptionnumber}}} + \rawreference\s!num{#1}{\getvalue{showdn\v!sub\v!sub\c!number}}}% \setvalue{\??dd\e!next\v!sub\c!number}[#1]% {\getvalue{\??dd\s!reset\v!sub\v!sub\c!number}{#1}% \incrementnumber[\v!sub\@@descriptionnumber]% - \rawreference\s!num{#1}{\showdnsubnumber{\@@descriptionnumber}}} + \rawreference\s!num{#1}{\getvalue{showdn\v!sub\c!number}}}% \setvalue{\??dd\e!next\c!number}[#1]% {\getvalue{\??dd\s!reset\v!sub\c!number}{#1}% \incrementnumber[\@@descriptionnumber]% - \rawreference\s!num{#1}{\showdnnumber{\@@descriptionnumber}}} + \rawreference\s!num{#1}{\getvalue{showdn\c!number}}}% \def\dodosetupenumerations[#1][#2]% {\getparameters[\??dd#1][#2]% @@ -798,9 +802,9 @@ \doifvalue{\??dd#3#1\??dd\c!number}{#1} {\definenumber [#3#1] - [\c!way=\descriptionparameter\c!way, - \c!blockway=\descriptionparameter\c!blockway, - \c!sectionnumber=\descriptionparameter\c!sectionnumber]% + [\c!way=\descriptionparentparameter\c!way, + \c!blockway=\descriptionparentparameter\c!blockway, + \c!sectionnumber=\descriptionparentparameter\c!sectionnumber]% \doifvalue{\??dd#1\c!levels}{#2}% % for {\doifsomething{\getvalue{\??dd#1\c!conversion}}% % old {\setupnumber[#3#1] % times @@ -809,6 +813,8 @@ \setvalue{\s!reset#3#1}{\doresetenumerationnumber[#1][#3]}% \setvalue{\e!next #3#1}{\dotripleempty\donextenumerationnumber[#1][#3]}} +\def\descriptionparentparameter#1{\csname\??dd\currentdescriptionnumber#1\endcsname} + \def\dodefineenumeration[#1][#2][#3]% {\dododefineenumeration{#1}{1}{}[#2][#3]% \dododefineenumeration{#1}{2}{\v!sub}[#2][#3]% diff --git a/tex/context/base/core-mis.tex b/tex/context/base/core-mis.tex index 0e1f43d45..00d2a3ee8 100644 --- a/tex/context/base/core-mis.tex +++ b/tex/context/base/core-mis.tex @@ -535,24 +535,30 @@ % \test hans \\ ton \\ \subtot{nihil,--} \\ % \stopopelkaar -\def\doorsnede - {\hbox{\rlap/$\circ$} } +\def\periodswidth {.5em} +\def\periodsdefault{3} % was 5, but now it's like \unknown \unexpanded\def\periods {\dosingleempty\doperiods} \def\doperiods[#1]% - {\scratchdimen.5em% - \hbox to \iffirstargument#1\else5\fi \scratchdimen - {\leaders\hbox to \scratchdimen{\hss.\hss}\hss}} + {\dontleavehmode + \begingroup + \scratchdimen\periodswidth + \hbox to \iffirstargument#1\else\periodsdefault\fi \scratchdimen + {\leaders\hbox to \scratchdimen{\hss.\hss}\hss} + \endgroup} -\unexpanded\def\ongeveer - {\mathematics\pm} +\unexpanded\def\unknown + {\periods\relax} % relax prevents lookahead for [] -% for compatibility +% compatibility macros -\unexpanded\def\unknown - {\dontleavehmode\periods[3]} +\def\doorsnede + {\hbox{\rlap/$\circ$} } + +\unexpanded\def\ongeveer + {\mathematics\pm} \def\midboundarycharacter#1#2% {%\nobreak diff --git a/tex/context/base/core-sys.tex b/tex/context/base/core-sys.tex index e45f45e7b..b90f2305b 100644 --- a/tex/context/base/core-sys.tex +++ b/tex/context/base/core-sys.tex @@ -240,7 +240,7 @@ %D Since this feature is used in XML processing, it made sense %D to support this faster alternative. It's installable as well. -\def\installexpander#1{\setvalue{\s!do\c!expansion#1}} +\def\installexpander#1#2{\setvalue{\s!do\c!expansion#1}{#2}} % \long\def\convertexpanded#1#2#3% hm, first we need to make sure % {\csname % that we assign all exp a value @@ -272,7 +272,7 @@ \installexpander\v!no {\convertargument} \installexpander\v!yes {\convertmeaning } \installexpander\v!yes {\convertmeaning } % something lost ? -\installexpander\v!strict {\reduceargument} +\installexpander\v!strict {\reduceargument } \def\convertmeaning#1\to % watch the double expansion ! {\bgroup diff --git a/tex/context/base/supp-pdf.tex b/tex/context/base/supp-pdf.tex index f2246a4b1..dff57957a 100644 --- a/tex/context/base/supp-pdf.tex +++ b/tex/context/base/supp-pdf.tex @@ -537,6 +537,10 @@ \def\getMPkeyword% #1% {\csname\@@MP\the\nofMPsegments0\endcsname} % {\csname\@@MP#10\endcsname} +\def\docleanupMPargument#1% we need this because args can have [ or ] pre/appended + {\expandafter\edef\csname\@@MP\the\nofMPsegments\number#1\endcsname + {\csname\@@MP\the\nofMPsegments\number#1\endcsname}} + %D When we reset the stack, we can assume that all further %D comment is to be ignored and handled in strings. %D By redefining the reset macro after the first call, we @@ -725,6 +729,7 @@ % already handled in dtransform \resetMPstack \else\ifx\somestring\PSconcat + \cleanupMPconcat \PDFcode{\gMPa1 \gMPa2 \gMPa3 \gMPa4 \gMPa5 \gMPa6 cm}% \resetMPstack \else\ifx\somestring\PSsetrgbcolor @@ -1333,6 +1338,12 @@ %OLD \dimen 8 \zeropoint %OLD \dimen10 \zeropoint} +\def\cleanupMPconcat + {\ignoreMPspecials + \docleanupMPargument1% + \docleanupMPargument6% + \keepMPspecials} + \def\presetMPconcat {\dimen 0=\gMPs1\onepoint % s_x \dimen 2=\gMPs2\onepoint % r_x @@ -1989,6 +2000,7 @@ \else\ifx\somestring\PSclosepath \def\closeMPpath{\PDFcode{h}}% \else\ifx\somestring\PSconcat + \cleanupMPconcat \let\flushMPpath\flushconcatMPpath \handleMPpathconcat \else\ifx\somestring\PSscale diff --git a/tex/context/base/unic-032.tex b/tex/context/base/unic-032.tex index 085c23596..42fea9de3 100644 --- a/tex/context/base/unic-032.tex +++ b/tex/context/base/unic-032.tex @@ -113,7 +113,7 @@ \strippedcsname \unknownchar \or % U+2023 TRIANGULAR BULLET \strippedcsname \unknownchar \or % U+2024 ONE DOT LEADER \strippedcsname \unknownchar \or % U+2025 TWO DOT LEADER - \strippedcsname \textellipsis \else % U+2026 HORIZONTAL ELLIPSIS + \strippedcsname \periods \else % U+2026 HORIZONTAL ELLIPSIS % was: \textellipsis \ifcase\numexpr#1-48\relax \strippedcsname \perthousand \or % U+2030 PER MILLE SIGN \strippedcsname \unknownchar \or % U+2031 PER TEN THOUSAND SIGN diff --git a/tex/context/base/xtag-ini.tex b/tex/context/base/xtag-ini.tex index 2bf010824..0cc050e01 100644 --- a/tex/context/base/xtag-ini.tex +++ b/tex/context/base/xtag-ini.tex @@ -2512,7 +2512,8 @@ \long\def\XMLstr#1% test, does not work {\ifprocessingXML - \begingroup\enableXML\scantokens{#1}% + % \begingroup\enableXML\scantokens{#1}% + \scantokens{#1}% \else \begingroup\enableXML\scantokens{#1\ignorespaces}% \fi} diff --git a/tex/context/interface/keys-cz.xml b/tex/context/interface/keys-cz.xml index 488319ef7..9ac91fa5b 100644 --- a/tex/context/interface/keys-cz.xml +++ b/tex/context/interface/keys-cz.xml @@ -1,6 +1,6 @@ - + diff --git a/tex/context/interface/keys-de.xml b/tex/context/interface/keys-de.xml index ab1369627..eea7038f7 100644 --- a/tex/context/interface/keys-de.xml +++ b/tex/context/interface/keys-de.xml @@ -1,6 +1,6 @@ - + diff --git a/tex/context/interface/keys-en.xml b/tex/context/interface/keys-en.xml index 1a5fe3084..8b0969c70 100644 --- a/tex/context/interface/keys-en.xml +++ b/tex/context/interface/keys-en.xml @@ -1,6 +1,6 @@ - + diff --git a/tex/context/interface/keys-it.xml b/tex/context/interface/keys-it.xml index ff789ac1d..0ca1e49ce 100644 --- a/tex/context/interface/keys-it.xml +++ b/tex/context/interface/keys-it.xml @@ -1,6 +1,6 @@ - + diff --git a/tex/context/interface/keys-nl.xml b/tex/context/interface/keys-nl.xml index 20033059a..aaaacee8c 100644 --- a/tex/context/interface/keys-nl.xml +++ b/tex/context/interface/keys-nl.xml @@ -1,6 +1,6 @@ - + diff --git a/tex/context/interface/keys-ro.xml b/tex/context/interface/keys-ro.xml index 12dac844e..323146bef 100644 --- a/tex/context/interface/keys-ro.xml +++ b/tex/context/interface/keys-ro.xml @@ -1,6 +1,6 @@ - + -- cgit v1.2.3