On 4/17/2018 12:01 AM, Aditya Mahajan wrote:
All features of the filter and vim modules work with the latest beta, except for one final bug: leading spaces are stripped from the buffer.

\starttext

\startbuffer[test]
     Leading spaces
\stopbuffer

\savebuffer[file=test-temp.tmp, prefix=no, list=test]

\stoptext

The leading spaces are stripped before the buffer is saved to the file temp.tmp. Is it possible for the leading space NOT to be stripped? (If not, I'll just document this as a feature :-).

\samplefile{ward}
\startnarrower
    \samplefile{ward}
    \startbuffer[test]
        Leading spaces
          And some more
    \stopbuffer
    \typebuffer[test]
\stopnarrower
\samplefile{ward}

\startbuffer[test]
    Leading spaces
        And some more
\stopbuffer
\typebuffer[test]

it is actually a feature to align the left edge relative to the least indented so that we can use them inside other constructs

Now, as you're not afraid of low level code:

\unprotect

\unexpanded\def\StartAditya
  {\buff_pickup
    {Aditya}%
    {StartAditya}%
    {StopAditya}%
    {}%
    {\savebuffer[file=test-temp.tmp,prefix=no,list=Aditya]}%
    \zerocount}

\unexpanded\def\StopAditya
  {}

\protect

\StartAditya
    Leading spaces
        And some more
\StopAditya

(1)

\typebuffer[Aditya]

(2)

\typefile{test-temp.tmp}

Does what you want but of course it's sort of ugly for a module to do that. What we can do is this which is still ugly but picking up verbatim is always ugly:

\unprotect

\def\buff_start_indeed#1#2#3#4%
  {\edef\p_strip{\namedbufferparameter{#1}\c!strip}%

\normalexpanded{\buff_pickup{#2}{#3}{#4}{}{\buff_stop{#4}}\ifx\p_strip\v!no\zerocount\else\plusone\fi}}

\protect

\definebuffer[Aditya][strip=no]

\startAditya
    Leading spaces
        And some more
            And even more
\stopAditya

\typeAditya

But then we need Wolfgang to double check if this extension has side effects elsewhere.

Hans

-----------------------------------------------------------------
                                          Hans Hagen | PRAGMA ADE
              Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
       tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://context.aanhet.net
archive  : https://bitbucket.org/phg/context-mirror/commits/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to