[Remind-Fans] Determining if -@ was passed?

Dianne Skoll dianne at skoll.ca
Sun Oct 9 16:26:37 EDT 2022


On Sun, 9 Oct 2022 17:54:27 +0000
Tim Chase via Remind-fans <remind-fans at lists.skoll.ca> wrote:

> On 2022-10-09 11:08, Dianne Skoll via Remind-fans wrote:
> > Tim Chase via Remind-fans wrote:
> > > Is there a way for a reminder file to determine of -@ was passed
> > > on the command-line?

> > Nope.  I could fix that.

> I figured it would be a pretty quick patch to add that to the
> available system-variables (prob. takes more code to patch the
> man-page :-)

It's in git HEAD if you want to have a look.

[...]

> The only gotcha I've encountered in using that function is that the
> non-printing ANSI sequence gets considered as part of the string
> length when using MSF, so it can introduce surpise artifacts,
> considering lines longer than the actual (printing) text they
> contain:

Yep.  MSF is broken with respect to non-printing sequences and also,
as it turns out, with multibyte UTF-8 characters.  I'm not sure how
widely MSF is used, so this may not be fixed for a while.  Non-printing
sequences will also mess up "remind -c" output; the man page in git HEAD
notes this and provides a recommendation.

> Any chance for a format-string character that prints the
> AT-to-DURATION time range?  I've created a custom function to do it
> for me:

You can override a substitution sequence.  For example, if you find you
never use "%7" in your files, you can simply redefine it:

FSET subst_7(a, d, t) timespan()

and "%7" will now magically be equivalent to [timespan()]
See RUN-TIME MODIFICATION OF THE SUBSTITUTION FILTER in the Remind man
page.


Regards,

Dianne.


More information about the Remind-fans mailing list