On 2014-06-25 19:04, Hans Hagen wrote:
On 6/25/2014 11:13 PM, Wolfgang Schuster wrote:

Am 25.06.2014 um 21:44 schrieb Hans Hagen <pragma@wxs.nl
<mailto:pragma@wxs.nl>>:

On 6/25/2014 7:21 PM, Michael Green wrote:
This appears to be the same as the problem Peter Münster found with
the letter module

\usemodule[database]

\defineseparatedlist[MyTable]
[separator=tab,
before=\bTABLE,after=\eTABLE,
first=\bTR,last=\eTR,
left=\bTD,right=\eTD]

\starttext

The first letter of “Cell” is lost.

\startseparatedlist[MyTable]
Cell 1Cell 2
\stopseparatedlist

With an extra return, “Cell” is intact.

\startseparatedlist[MyTable]

Cell 1Cell 2
\stopseparatedlist


\stoptext

in buff-ini.mkiv change this:

\def\buff_start_indeed#1#2#3#4%
 {\normalexpanded{\buff_pickup{#2}{#3}{#4}{}{\buff_stop{#4}}\plusone}}

probably needs some checking

Adding \obeylines to \grabbufferdatadirect would also work

\unexpanded\def\grabbufferdatadirect % name start stop
   {\begingroup % (6)
+  \obeylines
    \buff_start_indeed\empty}

but I’m interested what’s the purpose of the fifth argument for
\buff_start_indeed.

that was wrong; the pickup macro has a fifth argument (\plusone here) but goes unnoticed when you add \obeylines in which case the first 'obeyedline' ended up in #5

(i probably messed up when adding some feature but i would have to need to look at older code to see how/when)

does it make sense?

Hans

Adding \obeylines as Wolfgang indicated did not resolve the issue with my test case (shortened below), while removing #5 as Hans suggested does resolve it.
% macros=mkvi
\starttexdefinition unexpanded startTest
  \begingroup
  \dostartTest
\stoptexdefinition
\starttexdefinition dostartTest
  \grabbufferdata[Test][startTest][stopTest]
\stoptexdefinition
\starttexdefinition stopTest
  \getbufferdata[Test]
  \endgroup
\stoptexdefinition
\define\TestText
 {If you can read this the first token was not swallowed.}
\starttext
If another line does not follow this, there is a failure.

\startTest\TestText\stopTest
\stoptext
As I wrote before, I do not have a way to more extensively test the other effects of the change.

--
Rik Kabel