Check for parity of pair tags on source file to be closed
Hello, in most cases, when a source file is to be closed, pair elements (tags) should balanced. This concerns e.g. { - }, \bgroup - \egroup, \startitemize - \stopitemize, \if - \fi etc. When we have a complicated project structure and when compiling the topmost (root) source, a log for a disbalanced tag may appear, but the unbalanced tag however may be difficult to find. Is there a way to enable "watching" pair tags (at least mentioned before) in the way that their disbalance would be reported (logged)? Maybe a "enable tracker" could provide that... Sample: ---- A.mkiv \starttext A \input B.mkiv \stoptext ---- B.mkiv \startitemize \item B ---- <- "\startitemize" is unbalanced (unfinished by \stopitemize) in the scope of B.mkiv, so a message/log ("unfinished \startitemize") should be printed when B.mkiv is to be closed. Best regards, Lukas
On 1/9/20 1:00 PM, context@vivaldi.net wrote:
Hello,
in most cases, when a source file is to be closed, pair elements (tags) should balanced.
This concerns e.g. { - }, \bgroup - \egroup, \startitemize - \stopitemize, \if - \fi etc.
When we have a complicated project structure and when compiling the topmost (root) source, a log for a disbalanced tag may appear, but the unbalanced tag however may be difficult to find.
Is there a way to enable "watching" pair tags (at least mentioned before) in the way that their disbalance would be reported (logged)?
Hi Lukas, maybe this helps you: mtxrunjit --autogenerate --script check file.tex It only works with single files, since t doesn’t load other files (with \input). But it might fit your needs. Just in case it helps, Pablo -- http://www.ousia.tk
Hello Pablo, thanks for your suggestion. The "check" detected "\startitemize" which stayed open on the end of the file, but did not detect "\if++" without correspondng "\fi". Thanks again - Lukas On 2020-01-09 13:08, Pablo Rodriguez wrote:
On 1/9/20 1:00 PM, context@vivaldi.net wrote:
Hello,
in most cases, when a source file is to be closed, pair elements (tags) should balanced.
This concerns e.g. { - }, \bgroup - \egroup, \startitemize - \stopitemize, \if - \fi etc.
When we have a complicated project structure and when compiling the topmost (root) source, a log for a disbalanced tag may appear, but the unbalanced tag however may be difficult to find.
Is there a way to enable "watching" pair tags (at least mentioned before) in the way that their disbalance would be reported (logged)?
Hi Lukas,
maybe this helps you:
mtxrunjit --autogenerate --script check file.tex
It only works with single files, since t doesn’t load other files (with \input).
But it might fit your needs.
Just in case it helps,
Pablo -- http://www.ousia.tk
On 1/10/20 1:46 PM, context@vivaldi.net wrote:
Hello Pablo,
thanks for your suggestion.
The "check" detected "\startitemize" which stayed open on the end of the file, but did not detect "\if++" without correspondng "\fi".
Hi Lukas, I don’t know whether checking for \if...\fi pairs is even implemented. Pablo -- http://www.ousia.tk
Pablo Rodriguez schrieb am 10.01.2020 um 21:32:
On 1/10/20 1:46 PM, context@vivaldi.net wrote:
Hello Pablo,
thanks for your suggestion.
The "check" detected "\startitemize" which stayed open on the end of the file, but did not detect "\if++" without correspondng "\fi". Hi Lukas,
I don’t know whether checking for \if...\fi pairs is even implemented.
It shoudn't even be needed in a normal document because we have modes and \bgroup/\egroup can be replaced with \start/\stop. Wolfgang
participants (3)
-
context@vivaldi.net
-
Pablo Rodriguez
-
Wolfgang Schuster