# Re: [NTG-context] Problem with Filter Module in latent context beta

On Sun, 15 Apr 2018, Hans Hagen wrote:


On 4/15/2018 7:08 AM, Aditya Mahajan wrote:

On Sun, 15 Apr 2018, Hans Hagen wrote:


On 4/14/2018 9:52 PM, Lutz Haseloff wrote:

I get another error message:

open source > level 4, order 5, name 't-module-catcodes.tex'


tex error > tex error on line 96 in file t-module-catcodes.tex: ! Undefined control sequence
why are special catcodes needed? an dif so, there are often easier ways than low level hacking

This is the commit (from 2011!) where I added this code:


https://github.com/adityam/filter/commit/c34023fd1ede0909a056a10c6352202f2295fba4 My guess is that I did not want multiple newlines to collapse in t-vim, so I had redefined \activeendoflinetoken to {\strut\par}. The offending lines are copied from catc-ini.mkiv from the same time:


https://github.com/contextgarden/context-mirror/blob/5056d7a854142aa63032b0a3ca4d41c496e41faf/tex/context/base/catc-ini.mkiv
to make sure that I use the same syntax for MkII and MkIV.


A couple of years after that I split the MkII and MkIV code into separate files, but I never touched the catcode part (because it was working).


I cannot test the latest beta right now; I'll test it on Monday. In the meanwhile, what is the current recommended method to alter the way literal newlines and tabs are shown.
\starttext

\start
\def\obeyedline{\blank[line]} \obeylines

line 1

line 2

line 3

\stop

\stoptext

blank will cleanup for you



I don't want multiple empty lines to collapse (this is for code listing). Here is a minimal example showing what t-vim is doing:

\newcatcodetable \MinimalCatcodes

\startcatcodetable \MinimalCatcodes % for reading t-vim output
\catcode\backslashasciicode  = \escapecatcode
\catcode\leftbraceasciicode  = \begingroupcatcode
\catcode\rightbraceasciicode = \endgroupcatcode
\catcode\endoflineasciicode  = \activecatcode
\catcode\formfeedasciicode   = \othercatcode
\catcode\spaceasciicode      = \othercatcode
\stopcatcodetable

\starttext
\bgroup
\def\obeyedline{\strut\par}
%\def\obeyedline{\blank[line]}
\setcatcodetable\MinimalCatcodes\letcharcode\endoflineasciicode\obeyedline
This is a \color[red]{test}

To check multiple lines as well as color
\egroup
\stoptext


If I replace the {\strut\par} with {\blank[line]}, multiple empty lines are collapsed to a single line.

___________________________________________________________________________________