Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[inputfilter] SILE's output is non-deterministic (in at least one more case) #985

Closed
ctrlcctrlv opened this issue Jul 27, 2020 · 1 comment · Fixed by #988
Closed

[inputfilter] SILE's output is non-deterministic (in at least one more case) #985

ctrlcctrlv opened this issue Jul 27, 2020 · 1 comment · Fixed by #988
Labels
bug Software bug issue
Milestone

Comments

@ctrlcctrlv
Copy link
Member

ctrlcctrlv commented Jul 27, 2020

#972 and #532 have not been fully solved.

MWE on SILE v0.10.9.r36-gf16af44:

\begin[class=book]{document}
\script[src=packages/frametricks]
\script[src=packages/rebox]
\begin{script}
  local inputfilter = require("packages/inputfilter").exports
  local noop = function (input, _) return input end
  SILE.registerCommand("nondet", function(_, content)
    SILE.process(inputfilter.transformContent(content, noop))
  end)
\end{script}
\nondet{
\font[family=EB Garamond,size=12pt]
\define[command=SILE]{S\lower[height=0.5ex]{I}L\glue[width=-.2em]\raise[height=0.6ex]{\font[size=0.8em]{E}}}
\typeset-into[frame=folio]{\begin[size=12pt]{font}\hfill This document was typeset with \SILE.\end{font}}
}
\end{document}

Without inputfilter noop:
image

With:
image

@alerque
Copy link
Member

alerque commented Jul 27, 2020

Confirmed. Simplified MWE:

\begin{document}
\begin{script}
  local inputfilter = require("packages/inputfilter").exports
  local noop = function (input, _) return input end
  SILE.registerCommand("nondet", function(_, content)
    SILE.process(inputfilter.transformContent(content, noop))
  end)
\end{script}
\define[command=bar]{S}
\nondet{\hfill \bar.}
\end{document}

Running this on a loop shows the output order flipping back and forth:

$ watch -n1 -d sile -b debug nondet.sil -o /dev/stdout

@alerque alerque added the bug Software bug issue label Jul 27, 2020
@alerque alerque added this to the v0.10.10 milestone Jul 27, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Software bug issue
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants