From: Henri Menke <henrimenke@gmail.com>
To: ntg-context@ntg.nl
Subject: Re: How can I remove a blank leading line from a buffer
Date: Mon, 13 Aug 2018 15:46:50 +1200 [thread overview]
Message-ID: <97793f8b-fb7c-162c-3ff1-1a44a6b6a233@gmail.com> (raw)
In-Reply-To: <fb678cb6-370a-3a2b-3306-76b74ff17116@rik.users.panix.com>
On 13/08/18 15:18, Rik Kabel wrote:
> %% How can one remove blank lines at the start of a buffer so that
> %% commands that grab a buffer can be used in the same way as, for
> %% example, \startparagraph...\stopparagraph, which allow blank
> %% lines around the content?
> %%
> %% The problem appears when an optional argument is allowed but none
> %% is provided. Adding \relax does not help; adding empty brackets
> %% does. I see no way to distinguish between a buffer without
> %% leading blank lines and a buffer that was created when brackets
> %% are provided.
> %%
> %% \inlinebuffer handles the leading blank lines when there is
> %% nothing prepended, but I need to prepend. (It also handles the
> %% unwanted trailing line, but that is not an issue here).
> %%
> %% How can I unpack the buffer, apply the equivalent functions of
> %% ignorespaspaces and removeunwantedspaces to it, and repack it?
> %% The buffer may contain internal blank lines and macros, and
> %% those should be retained. Or, is there already a function to
> %% strip a buffer in the manner that string.strip does a string?
>
> \setupwhitespace[none]
> \setupindenting[none]
> \define\Mark{\color[middlegray]{\itb¿\ }}
> \define\First{nothing yet}
> \define\Arg{nothing yet}
> \setuplanguage[en][spacing=packed]
>
> \starttexdefinition unexpanded startBufTest
> \bgroup
> \dosingleempty\dostartBufTest
> \stoptexdefinition
>
> \starttexdefinition dostartBufTest [#SETUPS]
> \doifsomethingelse{#{SETUPS}}
> {\define\Arg{yes}}
> {\define\Arg{no}}
> \iffirstargument
> \define\First{yes}
> \else
> \define\First{no}
> \fi
> \relax
> \getrawparameters[BufTest][xx=yy,#SETUPS]
> \grabbufferdata[TestBuffer][startBufTest][stopBufTest]
> \stoptexdefinition
>
> \starttexdefinition stopBufTest
>
> \startparagraph
>
% Ignore first \par
\def\par{\let\par\normalpar}
> \dontleavehmode\llap{\Mark}\inlinebuffer[TestBuffer]
> \ (first: \First, arg: \Arg)
>
> \stopparagraph
>
> \egroup
> \stoptexdefinition
>
> \starttext
>
> \startparagraph
>
> A starting paragraph.
>
> \stopparagraph
>
> \startBufTest
> Buffer without blank lines.
> \stopBufTest
>
> \startparagraph
>
> An intervening paragraph.
>
> \stopparagraph
>
> \startBufTest
>
> Buffer with blank lines.
>
> \stopBufTest
>
> \startparagraph
>
> An intervening paragraph.
>
> \stopparagraph
>
> \startBufTest\relax
>
> Buffer with \tex{relax}.
>
> \stopBufTest
>
> \startparagraph
>
> An intervening paragraph.
>
> \stopparagraph
>
> \startBufTest[]
>
> Buffer with \type{[]}.
>
> \stopBufTest
>
> \startparagraph
>
> An intervening paragraph.
>
> \stopparagraph
>
> \startBufTest[key=value]
>
> Buffer with \type{[key=value]}.
>
> \stopBufTest
>
> \startparagraph
>
> A closing paragraph.
>
> \stopparagraph
>
> \stoptext
>
> \stopmode
>
> %% --
> %% Rik Kabel
>
> ___________________________________________________________________________________
>
> If your question is of interest to others as well, please add an entry
> to the Wiki!
>
> maillist : ntg-context@ntg.nl /
> 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
> ___________________________________________________________________________________
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!
maillist : ntg-context@ntg.nl / 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
___________________________________________________________________________________
next prev parent reply other threads:[~2018-08-13 3:46 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-08-13 3:18 Rik Kabel
2018-08-13 3:44 ` Aditya Mahajan
2018-08-13 3:46 ` Henri Menke [this message]
2018-08-13 7:02 ` Hans Hagen
2018-08-13 7:01 ` Hans Hagen
2018-08-13 14:28 ` Rik Kabel
2018-08-13 16:04 ` Wolfgang Schuster
2018-08-13 17:09 ` Rik Kabel
2018-08-13 17:46 ` Wolfgang Schuster
2018-08-13 18:27 ` Rik Kabel
2018-08-13 19:52 ` Wolfgang Schuster
2018-08-13 22:43 ` Rik Kabel
2018-08-14 14:46 ` Rik Kabel
2018-08-15 3:31 ` Aditya Mahajan
2018-08-15 7:07 ` Hans Hagen
2018-08-15 21:46 ` Rik Kabel
2018-08-16 14:55 ` Aditya Mahajan
2018-08-16 20:02 ` Rik
2018-08-13 16:15 ` Rik Kabel
2018-08-13 17:51 ` Rik Kabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=97793f8b-fb7c-162c-3ff1-1a44a6b6a233@gmail.com \
--to=henrimenke@gmail.com \
--cc=ntg-context@ntg.nl \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).