ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: "Procházka Lukáš Ing. - Pontex s. r. o." <LPr@pontex.cz>
To: ConTeXt <ntg-context@ntg.nl>
Subject: Problem calling Lua during \startsetups
Date: Tue, 25 Jan 2011 08:33:02 +0100	[thread overview]
Message-ID: <op.vpuslcmatpjj8f@lpr> (raw)

[-- Attachment #1: Type: text/plain, Size: 1556 bytes --]

Hello,

I encountered a bit weird thing when I used Lua in \startsetup:

---
\definelayer[T][x=0mm,y=0mm,width=\paperwidth,height=\paperheight]

\directlua{n, m = 1, 11} % Initialization

\startsetups layer
   % In my real code (= not in this example)
   % the value of 'n' is used here to set the appropriate background,
   % = n-th page of a PDF, and also to draw a filled rectangle on
   % the left or right side (depending on whether n is even or odd)

   % The code bellow fails [1]

   \startluacode
     print("N=", n)

     if n == 2 then
     else
     end
   \stopluacode
\stopsetups

\setupbackgrounds[page][setups=layer,background={T}]

\starttext
   % The code bellow works well [2]

   \startluacode
     print("M=", m)

     if m == 2 then
     else
     end
   \stopluacode

   \dorecurse{4}{\page[empty]}
\stoptext
---

The problem is that Lua code between \startsetups ... \stopsetups [1] seems to be "parsed" another way than when in [2].

The [1] gives the following error message:

---
! LuaTeX error <main ctx instance>:1: 'then' expected near 'thenelseend'.
---

So it seems like <space>s and/or <\n>s were "ignored".

If you commented [1], the section [2] would work well.

So how to use make Lua work well even between \startsetups ... \stopsetups?

Best regards,

Lukas


-- 
Ing. Lukáš Procházka [mailto:LPr@pontex.cz]
Pontex s. r. o.      [mailto:pontex@pontex.cz] [http://www.pontex.cz]
Bezová 1658
147 14 Praha 4

Tel: +420 244 062 238
Fax: +420 244 461 038

[-- Attachment #2: t-Bkg.log --]
[-- Type: application/octet-stream, Size: 8183 bytes --]

(C:/Lukas/ConTeXt/Samples/t-Bkg.mkiv
jobcontrol      > resuming randomizer with 0.77956480605487

ConTeXt  ver: 2011.01.12 10:20 MKIV  fmt: 2011.1.13  int: english/english

system          : cont-new loaded
(c:/ConTeXt/tex/texmf-context/tex/context/base/cont-new.tex
systems         : beware: some patches loaded from cont-new.tex
(c:/ConTeXt/tex/texmf-context/tex/context/base/cont-new.mkiv))
system          : cont-fil.mkiv loaded
(c:/ConTeXt/tex/texmf-context/tex/context/base/cont-fil.mkiv
loading         : ConTeXt File Synonyms
)
system          : cont-sys.rme loaded
(c:/ConTeXt/tex/texmf-context/tex/context/user/cont-sys.rme (c:/ConTeXt/tex/texmf-context/tex/context/base/type-def.mkiv) (c:/ConTeXt/tex/texmf-context/tex/context/base/type-lua.mkiv) (c:/ConTeXt/tex/texmf-context/tex/context/base/type-siz.mkiv) (c:/ConTeXt/tex/texmf-context/tex/context/base/type-otf.mkiv))
system          : cont-err loaded
(c:/ConTeXt/tex/texmf-context/tex/context/base/cont-err.tex
systems         : no file 'cont-sys.tex', using 'cont-sys.rme' instead
)
system          : t-Bkg.top loaded
%
%	begin of optionfile
%
%	% runtime options files (command line driven)
%	\unprotect
%	% feedback and basic job control
%	\nonstopmode
%	% handy for special styles
%	\startluacode
%	document = document or { }
%	document.arguments={
%	 ["FILE"]="t-Bkg.mkiv",
%	 ["halt-on-error"]=true,
%	 ["nonstopmode"]=true,
%	}
%	document.files={
%	 "C:/Lukas/ConTeXt/Samples/t-Bkg.mkiv",
%	}
%	\stopluacode
%	% process info
%	\setupsystem[inputfile=C:/Lukas/ConTeXt/Samples/t-Bkg.mkiv]
%	\setupsystem[\c!n=1,\c!m=1]
%	% modes
%	% options (not that important)
%	\startsetups *runtime:options
%	\setupoutput[pdftex]
%	\stopsetups
%	% styles and modules
%	\startsetups *runtime:modules
%	\stopsetups
%	% done
%	\protect \endinput
%
%	end of optionfile
%
(t-Bkg.top
){c:/ConTeXt/tex/texmf/fonts/map/dvips/lm/lm-math.map}{c:/ConTeXt/tex/texmf/fonts/map/dvips/lm/lm-rm.map}{c:/ConTeXt/tex/texmf-context/fonts/map/pdftex/context/mkiv-base.map}
bodyfont        : 12pt rm is loaded
fonts           : preloading latin modern fonts (first stage)
language        : language en is active
publications    : loading formatting style from bxml-apa
(c:/ConTeXt/tex/texmf-context/tex/context/base/bxml-apa.mkiv)
systems         : begin file C:/Lukas/ConTeXt/Samples/t-Bkg.mkiv at line 17
! LuaTeX error <main ctx instance>:1: 'then' expected near 'thenelseend'.
<inserted text> ...("N=", n)if n == 2 thenelseend}
                                                  
\dodostartluacode ...d \directlua \zerocount {#1}}
                                                  
\next2 #1,->\dosetups {#1}
                          \doprocesscommaitem 
\doprocesscommalist ...item \gobbleoneargument #1,
                                                  ]\relax \global \advance \...
\doprocesslocalsetups ... \dodoprocesslocalsetups 
                                                  \fi 
\addsomebackground ...?ma #1\c!setups \endcsname }
                                                  \fi \localbackgroundframed...
...
l.26   \dorecurse{4}{\page[empty]}
                                  
The lua interpreter ran into a problem, so the
remainder of this lua chunk will be ignored.

backends        > using xmp file 'c:/ConTeXt/tex/texmf-context/tex/context/base/lpdf-pdx.xml'
pages           > flushing realpage 1, userpage 1, subpage 1
! LuaTeX error <main ctx instance>:1: 'then' expected near 'thenelseend'.
<inserted text> ...("N=", n)if n == 2 thenelseend}
                                                  
\dodostartluacode ...d \directlua \zerocount {#1}}
                                                  
\next2 #1,->\dosetups {#1}
                          \doprocesscommaitem 
\doprocesscommalist ...item \gobbleoneargument #1,
                                                  ]\relax \global \advance \...
\doprocesslocalsetups ... \dodoprocesslocalsetups 
                                                  \fi 
\addsomebackground ...?ma #1\c!setups \endcsname }
                                                  \fi \localbackgroundframed...
...
l.26   \dorecurse{4}{\page[empty]}
                                  
The lua interpreter ran into a problem, so the
remainder of this lua chunk will be ignored.

pages           > flushing realpage 2, userpage 2
! LuaTeX error <main ctx instance>:1: 'then' expected near 'thenelseend'.
<inserted text> ...("N=", n)if n == 2 thenelseend}
                                                  
\dodostartluacode ...d \directlua \zerocount {#1}}
                                                  
\next2 #1,->\dosetups {#1}
                          \doprocesscommaitem 
\doprocesscommalist ...item \gobbleoneargument #1,
                                                  ]\relax \global \advance \...
\doprocesslocalsetups ... \dodoprocesslocalsetups 
                                                  \fi 
\addsomebackground ...?ma #1\c!setups \endcsname }
                                                  \fi \localbackgroundframed...
...
l.26   \dorecurse{4}{\page[empty]}
                                  
The lua interpreter ran into a problem, so the
remainder of this lua chunk will be ignored.

pages           > flushing realpage 3, userpage 3
! LuaTeX error <main ctx instance>:1: 'then' expected near 'thenelseend'.
<inserted text> ...("N=", n)if n == 2 thenelseend}
                                                  
\dodostartluacode ...d \directlua \zerocount {#1}}
                                                  
\next2 #1,->\dosetups {#1}
                          \doprocesscommaitem 
\doprocesscommalist ...item \gobbleoneargument #1,
                                                  ]\relax \global \advance \...
\doprocesslocalsetups ... \dodoprocesslocalsetups 
                                                  \fi 
\addsomebackground ...?ma #1\c!setups \endcsname }
                                                  \fi \localbackgroundframed...
...
l.26   \dorecurse{4}{\page[empty]}
                                  
The lua interpreter ran into a problem, so the
remainder of this lua chunk will be ignored.

pages           > flushing realpage 4, userpage 4
systems         : end file C:/Lukas/ConTeXt/Samples/t-Bkg.mkiv at line 27
 )
mkiv lua stats : used config file          - c:/ConTeXt/tex/texmf/web2c/texmfcnf.lua
mkiv lua stats : used cache path           - c:/ConTeXt/tex/texmf-cache/luatex-cache/context/f53042fa2e1c106bc7e3383ec8c3a00c
mkiv lua stats : input load time           - 0.016 seconds
mkiv lua stats : stored bytecode data      - 261 modules, 55 tables, 316 chunks
mkiv lua stats : cleaned up reserved nodes - 32 nodes, 10 lists of 412
mkiv lua stats : node memory usage         - 18 glue_spec
mkiv lua stats : node list callback tasks  - 6 unique task lists, 5 instances (re)created, 469 calls
mkiv lua stats : used backend              - pdf (backend for directly generating pdf output)
mkiv lua stats : loaded patterns           - en::2
mkiv lua stats : callbacks                 - direct: 766, indirect: 4520, total: 5286
mkiv lua stats : lxml preparation time     - 0.000 seconds, 0 nodes, 15 lpath calls, 0 cached calls
mkiv lua stats : result saved in file      - t-Bkg.pdf
mkiv lua stats : loaded fonts              - 33 files: stmary10.afm lmmono12-regular.otf lmmono8-regular.otf lmmono9-regular.otf lmroman12-bold.otf lmroman12-regular.otf lmroman7-bold.otf lmroman7-regular.otf lmroman9-bold.otf lmroman9-regular.otf lmsans12-regular.otf lmsans8-regular.otf lmsans9-regular.otf eufb10.tfm eufb7.tfm eufm10.tfm eufm7.tfm msam10.tfm msam7.tfm msbm10.tfm msbm7.tfm lmex10.tfm lmmi12.tfm lmmi7.tfm lmmi9.tfm lmmib10.tfm lmmib7.tfm lmsy10.tfm lmsy7.tfm lmsy9.tfm rm-lmr12.tfm rm-lmr7.tfm rm-lmr9.tfm
mkiv lua stats : fonts load time           - 0.266 seconds 
mkiv lua stats : luatex banner             - this is luatex, version beta-0.65.0-2010121421 (web2c 2010) (rev 4034)
mkiv lua stats : control sequences         - 29986 of 165536
mkiv lua stats : current memory usage      - 32 MB (ctx: 32 MB)
mkiv lua stats : runtime                   - 0.719 seconds, 3 processed pages, 4 shipped pages, 5.563 pages/second


[-- Attachment #3: t-Bkg.mkiv --]
[-- Type: application/octet-stream, Size: 704 bytes --]

\definelayer[T][x=000mm,y=0mm,width=\paperwidth,height=\paperheight]

\directlua{n, m = 1, 11}

\startsetups layer
  % The value of 'n' is used here to set the appropriate background,
  % = n-th page of a PDF, and also to draw a filled rectangle on
  % the left or right side (depending on whether n is even or odd)

  % The code bellow fails

  \startluacode
    print("N=", n)

    if n == 2 then
    else
    end
  \stopluacode
\stopsetups

\setupbackgrounds[page][setups=layer,background={T}]

\starttext
  % The code bellow works well

  \startluacode
    print("M=", m)

    if m == 2 then
    else
    end
  \stopluacode

  \dorecurse{4}{\page[empty]}
\stoptext

[-- Attachment #4: Type: text/plain, Size: 486 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
___________________________________________________________________________________

             reply	other threads:[~2011-01-25  7:33 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-25  7:33 Procházka Lukáš Ing. - Pontex s. r. o. [this message]
2011-01-25  7:44 ` Wolfgang Schuster
2011-01-25  8:00   ` Procházka Lukáš Ing. - Pontex s. r. o.
2011-01-25  8:34     ` Wolfgang Schuster
2011-01-25  8:33   ` Hans Hagen
2011-01-25 13:01     ` Procházka Lukáš Ing. - Pontex s. r. o.

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=op.vpuslcmatpjj8f@lpr \
    --to=lpr@pontex.cz \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).